8

I accidentally ran rm -rf /* on my Ubuntu 10.10 and cancelled the command quickly. I was not root and didn't use sudo but a lot of my files were deleted. The system has become less responsive and I am not sure how to fix it. For instance, I reinstalled firefox and it solved many firefox issues but right click is very sluggish. Deluge keeps on pulling up CPU usage (1 core) to 100%. Shutter is also a bit weird in terms of responsiveness.

Is there anything I could do to repair everything? Like reinstalling every installed package and Ubuntu files?

6
  • 4
    I would suggest making a backup and a fresh install :S
    – shroff
    Jan 23, 2011 at 15:07
  • 3
    How do you even accidentally run such a command? Jan 23, 2011 at 15:12
  • @shroff Thats my last resort! I am trying to avoid it as it would mean GBs of data being downloaded from Dropbox again and not to mention the time it would take to doing a fresh install
    – Ashfame
    Jan 23, 2011 at 15:39
  • @Ward I was editing the path and accidentally made it run
    – Ashfame
    Jan 23, 2011 at 15:40
  • 1
    @Alin Andrei rm -rf /* ran fine for me on 10.10
    – Ashfame
    Mar 20, 2011 at 22:51

4 Answers 4

10

I was not root and didn't use sudo but a lot of my files were deleted.

You most probably have deleted only your personal settings. Create a new user and log in as that user, and check if it's all OK. It should be.

If this is the scenario you can move your files and not-missing-config-files to the new user folder.

3
  • I agree. The command probably deleted files in your /home directory, as /* expands to /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
    – arrange
    Jan 23, 2011 at 16:00
  • Yes all settings and configurations were gone. I don't understand why would that mess up with even reinstalled firefox and deluge. The whole system lacks speedy responsiveness, like it was before this incident.
    – Ashfame
    Jan 23, 2011 at 16:59
  • @arrange my files deep under several directories in my home were deleted too n I don't recall if I had the -r switch
    – Ashfame
    Jan 23, 2011 at 17:00
6

You can use this script to reinstall all your packages, it's a little hackish as I couldn't find the dpkg control mechanism without hacking around in python:

#!/bin/bash

for PACKAGE in `dpkg --get-selections | grep install | awk '{ print $1; }'`; do
  sudo apt-get --reinstall install $PACKAGE
done

Save that to the file reinstall.sh, then execute by running bash reinstall.sh from the command line. This will take a while, but it will reinstall everything.

1
  • I can install things again if I am doing a fresh install. They were not too many. I understand your idea though.
    – Ashfame
    Jan 23, 2011 at 17:03
2

You can make a backup of all your installed packages, then a clean install and then a restore process.

First, from a computer with all the applications preinstalled, retrieve your installed packages list and redirect the output to a file called packages.txt.  Save this package list somewhere so that you can use it for the restore process.

sudo dpkg --get-selections > packages.txt

To restore all the applications from your list, you must follow a three step process very carefully.

sudo dpkg --clear-selections 
sudo dpkg --set-selections < packages.txt 
sudo aptitude install

You will be prompted to install all the new applications in the list. Another example of what this process allows you to do is create a baseline of all the applications after a clean installation of Ubuntu.  Let’s say you would like to remove any applications installed since the clean install, perform the exact same process, and any package not defined in that list will be removed.

sudo dpkg --get-selections > clean-install-package-list.txt
sudo dpkg --clear-selections
sudo dpkg --set-selections < clean-install-package-list.txt 
sudo aptitude install

The very first command of --clear-selections marks all currently installed packages to the state deinstall.  When you restore the list of applications using --set-selections, only packages omitted from the list will remain in the deinstall state.  Aptitude will honor the deinstall state and remove the extra packages, leaving you only with packages from the list.

1
  • 1
    Thats probably what I was looking for. If I understand it correctly, then --clear-selections mark that packages are not needed and should be removed but then we imort our package list, so almost the same configuration we had when we export the list is to marked to be installed. Some packages are already there (which were marked earlier for removal are now again marked for need to have them) and then sudo aptitude install finally do what is pending i.e. what new packages are needed. Right?
    – Ashfame
    Jan 24, 2011 at 22:24
0

I fixed the issues by doing a fresh install.

As @d4n13l suggested, my system had taken a hit in responsiveness and more than just my files were gone.

I feel like @Martin's approach is something one should go after doing a fresh install for installing previous packages that you had. I had very few of them, so I installed them again from the Ubuntu Software Center.

Thanks to everyone for looking into this. :)

2
  • you can mark your answer as the accepted answer since that's what you ended up doing; however if Martin's answer was useful to you the vote it up! Jan 25, 2011 at 3:00
  • ok I have marked my answer as the accepted answer because I ended up doing that. But answers of Martin and hhlp will be more helpful for someone in need.
    – Ashfame
    Jan 25, 2011 at 17:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .