While I was installing MRTG, by mistake I have deleted /usr/lib/*.so.* and /usr/lib/*.so

I am now unable to boot-up my system now, it gets stuck at the splash screen and when I press PAGEDOWN button I can see there are several things which are failing to load.

However, DHCP and WebMin are running and from Webmin I can see the system logs which tells me that cups is not loading because libpipeline.so.1Is missing and several others.

My computer is running 11.04

  • 1
    Cross posted on Unix and Linux Jun 8, 2011 at 12:20
  • use Ask Ubuntu for Ubuntu specific questions. and don't cross post. If you aren't sure if it's ubuntu specific ask here first, and we will migrate if it's ubuntu specific.
    – xenoterracide
    Jun 8, 2011 at 12:44
  • 2
    also a tip for the future... if you knew you did something this bad before you rebooted.... don't reboot. leave the system running and start repairs immediately. I've recovered /bin and /etc that way in the past
    – xenoterracide
    Jun 8, 2011 at 12:54

5 Answers 5


You can spend a week finding everything that's missing or you can spend an hour just doing a reinstall from CD and then getting all your old packages back.

I'd suggest you boot into a LiveCD environment first to get backups of things first (copy them to an external USB drive, or another partition) and then start again.

  • 2
    Exactly, if you don't reinstall everything you can expect weird failures, crashes, etc. to pop up for months after.
    – JanC
    Jun 8, 2011 at 22:38

Since you've only deleted /usr/lib/* and not /lib/*, you can probably recover. I think all the programs you critically need to recover your system only use libraries from /usr/lib.

Boot to a text login prompt. If the normal boot doesn't give you a login: prompt in text mode, boot with only minimum services. Press and hold Shift when your computer starts to show the Grub prompt; you need to press the key after the BIOS has initialized the keyboard but before Grub is loaded, which on some machines leaves only a small time window and may require several attemps. At the Grub prompt, press Down to highlight the single-user mode boot entry and boot that.

Once you have a command line, run apt-get --reinstall install PACKAGE1 PACKAGE2 … to reinstall the packages that have files in /usr/lib. You can run this shell snippet to get the list of names of packages to reinstall:

egrep -l '/usr/lib/[^/]*\.so\.' /var/lib/dpkg/info/a*.list |
sed -e 's!^/var/lib/dpkg/info/!!' -e 's!\.list$!!'

Some package installation scripts may require libraries from other packages to be present, so you may need to run the reinstallations in a particular order. If you find that a package's installation scripts are trying to use a particular program, you can find out which libraries this program needs with ldd. For example, this indicates that python is missing three libraries that you need to reinstall:

$ ldd /usr/bin/python | grep 'not found'
    libssl.so.0.9.8 => not found
    libcrypto.so.0.9.8 => not found
    libz.so.1 => not found

dpkg -S /usr/lib/libz.so.1 reveals that this file comes from zlib1g, and so on.

If you find that apt-get is unable to download packages, first download a few key packages from a live CD. zlib1g and libssl0.9.8 are two packages you're very likely to need early on.


/usr/lib contained the shared libraries of, frankly, everything except startup-critical software (that's what goes into /lib/ and stuff you didn't install via the package manager (usually /usr/local/lib ).

Short version, you just hosed your system.

Now, if you still have /var/cache/apt/archives full of stuff, with a little judicious magickery you might be able to salvage the situation.

Check if it still contains archives of for the following packages:


Those packages contain libraries in /usr/lib that aptitude requires to work If you can find the packages in /var/cache/apt/archives you can reinstall them manually with dpkg -i <packagename, and once they're all installed, aptitude should be able to run.

Then by running the command aptitude reinstall ~i you'll force a reinstall of every package that was already installed, which hopefully should restore your system. I can't make absolute guarantees because the damage you did is really quite spectacular in this case...


I'd be tempted to boot from a Ubuntu 11.04 live-CD and attempt to copy the missing files back.

Before doing anything, check you have good backups of any user-generated data files. If not, I'd boot a live-CD mount the HDD read-only and make backups ASAP.


When I did something similar, I was lucky enough to realise before attempting a reboot. At this point, your system will be still mostly working. My approach was to create a virtualbox with the same version of the OS and copy the missing files from that. if you allow ssh access into your virtualbox guest you can use rsync from a terminal on your main system to suck in only the files and links that are missing. In my case there were few enough files missing that it was easiest/safest to copy manually using scp, so the following is untested(!)

sudo rsync -avu user@guestVB:/usr/lib /usr/lib

-a is archive mode (recursive, copies symlinks, and attributes including timestamps, permissions etc)

-u skips if destination copy is newer

-v is verbose

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.