How to get rid of Debian and Ubuntu GNU / Linux
obsolete configuration files and system directories
I've been using
Debian GNU / Linux on my Thinkpad laptop for
almost 3 years and half. Initially the Debian version which I had
installed was a stable Debian Lenny. As I was mostly dissatisfied
of the old versions of the programs, I migrated to
testing /
unstable
Testing / unstables shipped program versions were a bit better but
still back in the day I wanted to get advantage of the latest
program versions so for a while I switched to
unstable
.
Later I regretted for this bad idea, after the migration to
Unstable, it was too buggy to run on a notebook one uses for
everyday work.
Then to revert back to a bit stable I
downgraded to testing
unstable again.
When Debian launched Debian Squeeze I set in my
/etc/apt/sources.list file software repositories to be the
one for the
stable Debian Squeeze.
As you can see, I've done quite a lot of "experiments" and
"excersises". Many packages were installed, then removed, some
became obsolete with time others I just temporary installed out of
curiosity. Anyways as a result I ended up with
many packages
uninstalled / removed , which still kept some of their
directory structres and configurations on the machine.
Today, I decided to check how many of these obsolete packages are
still present in dpkg database and I was shocked to find out 412
debs were still in my package database! To check the number I used
cmd:
root@noah:~# dpkg -l | grep -i '^rc\s.*$'|wc -l
Considering the tremendous number of packs waiting to be purged, I
decided to get rid of this old and already unnecessery files for
the sake of clarity, besides that removing the old already
uninstalled packages removes old configuration files, readmes,
directories and frees some little space and therefore frees some
inodes ;)
Before proceeding to remove them, I carefully reviewed and all the
package names which I was about to completely purge in order to
make sure there is no package with a configuration files I might
need in future:
root@noah:~# dpkg -l |grep -i '^rc\s.*$'
...
After reviewing all the deb packages possessing
the
rc - (remove candidate) flag, I used the following bash
one liners to remove the obsolete deb packages:
root@noah:~# for i in $(dpkg -l |grep -i '^rc\s.*$'|awk '{
print $2 }'); do echo dpkg --purge $i done ...
root@noah:~# for i in $(dpkg -l |grep -i '^rc\s.*$'|awk '{ print $2
}'); do dpkg --purge $i done
First line will just print out what will be purged with
dpkg
, so after I checked it out I used the second one to purge all the
RC packs.