I was trying to load a version of CGminer which was returning a libudev type error, and followed a supposed solution here but it destroyed my system (so it seems).

I loaded the system in recovery mode from GRUB but all that done was actually tell me what I something is broken, do not know what to do next.

I think I somehow associated a libudev.so.0 to 1 or 1 to 0, I am not sure what I did and how to fix it.

  • 2
    I think that a reinstallation would be easier. – Braiam Oct 7 '13 at 18:52
  • Braiam - thanks for the comment , in this case not for me - before the helpful answer was deleted - I checked and libudev0_175-0ubuntu9_amd64.deb is only 26 or so k large - as i have said (and did say before it was deleted) I only have wireless at the moment and I have both upgraded this system and added the drivers - so much easier for me to try to fix the broken link. – user199551 Oct 8 '13 at 0:55
  • I had a similar problem trying to install LightTable on 12.04. This solution fixed my boot problem but I did have to run:- sudo mount -o remount,rw / because dpkg was giving lock file errors. Given up installing LightTable! – user266300 Apr 7 '14 at 14:43

I see that some of the solutions posted on the other question overwrite libudev.so.0, because of the -f option supplied to ln. This is not due to malicious intent, but because these solutions were designed for newer versions of Ubuntu, in which the libudev1 package is used. The solution creates libudev.so.0 symbolic link. But in 12.04, libudev0 is used. So the libudev.so.0 library file is overwritten with a broken symbolic link to libudev.so.1 which doesn't exist. The solutions should not have included the -f option for ln in the command line, which overwrites files.

Enough of the explanation, here is a solution:

Basically the library file is replaced with a broken symbolic link. Start in recovery mode and select the root shell option. Then run this command: apt-get install libudev0. Once you are done, type exit and reboot. If you are using WiFi, download the libudev0 package and copy it into a USB drive. Then in the root shell in recovery, plug the USB drive and run: (tip: you can use Tab to autocomplete many things, including file paths )

sudo mount -o remount, rw / # (re)mount the filesystem in read-write mode.
mkdir /media/usb
mount /dev/sdb1 /media/usb
dpkg -i /media/usb/path_to_package_file

Then reboot and hopefully your system should work.

  • what if the file system is read-only? – kapitanluffy Jun 8 '14 at 2:37
  • @kapitanluffy Correct, I will update the solution. – Ramchandra Apte Jun 9 '14 at 13:25
  • On my machine, apt-get install libudev0 did not work, because libudev.so.0 already existed but it was symlinked to an invalid file (it throws the same error message). Simply fixing the symlink worked, example: cd /lib/x86_64-linux-gnu; ln -sf libudev.so.1.6.9 libudev.so.0 (make sure the correct libudev.so.x.x.x actually exists in that directory). – Gino Mempin Dec 6 '19 at 1:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.