02 September 2013

508. Very, very briefly: why apt-get purge exists (anecdote)

Sometimes my brain and I fall out, and we refuse to communicate. Yesterday was a day like that.

Having put my TV computer back together again (see post), I realised that I hadn't installed conky or guake on it. So I did. Having edited my default conky.conf (a bit like the one in this post) to change eth0 to eth1, I was wondering why my wireless card wasn't showing up in the ifconfig -a output. lspci showed that I had a broadcom chip, so I installed broadcom-sta-dkms. Nothing much happened, so I rebooted. And...no network card whatsoever recognised (including the ethernet one).

Face palm. I don't have a wireless pci/pci-e card on that computer. I should know -- I had just rebuilt it...

Oh well. apt-get autoremove broadcom-sta-dkms. Nothing. Reboot. Still no eth card -- also, the eth card was obviously the broadcom one (broadcom 4401). But why wasn't it working? I had uninstalled the broadcom package after all.

A bit of googling suggested loading b44 so modprobe b44 it was. Still nothing. Then a thought hit me -- ls /etc/modprobe.d/*blacklist*

And yes -- the broadcom package had installed a broadcom-wl-blacklist.conf file in /etc/modprobe.d -- and b44 was blacklisted. At this point I could either edited the file and comment out b44, delete the file entirely or purge the package and everything would be back to normal. So I did.

So remember: just because you uninstall a package (apt-get autoremovedoesn't mean that you've restore your system to the state it was before you installed the package. To at least have a chance of restoring it you need to purge your package so that settings files are removed too (apt-get purge).


  1. And arch linux does not have this.

    1. The inferred meaning being that the basic pacman -Rns is equivalent to apt-get purge, or that there's no way of purging?

    2. -Rns removes the dependencies without checking their dependency with the other packages.

    3. -n deletes backup configuration files not packages configuration files.

    4. I didn't mean to imply that the specific switch -Rns was going to behave like purge. -Rns is just a common switch for removing packages (see here for -R vs -Rns -- http://www.linuxandlife.com/2011/12/right-way-to-uninstall-software-in-arch.html)

      So let me rephrase it -- since I'm not sure what you implied in your first post, does pacman delete configuration files by default, does it do it with the right switch, or can pacman under no circumstances delete configuration files?