In upgrading I somehow corrupted my dpkg database. For example, /var/lib/dpkg/status showed net-tools installed but they weren't really there. That is, for example, ifconfig was *nowhere* on my hard drive. Oddly, when I looked in /var/lib/dpkg/info there were no net-tools* files. So it seems that part of dpkg knew about the problem (the info directory) but another part was ignorant (the status file).
Soooo... I think I could find most of my problems by just printing out the list of files in /var/lib/dpkg/status that show as installed but do not have accompanying files in /var/lib/dpkg/info. Then I could print out all files in /var/lib/dpkg/info/*.list that claim to be installed but are not really on the hard drive. If I had done such a thing, I would have noted that ifup, ifdown, ifconfig were not on my hard drive after upgrading! And I wouldn't have rebooted my machine. Needless to say, my machine did not boot properly. I had to copy relevant binaries from my potato rescue disks so that I could bring up my network card and ftp to ftp.debian.org and grab the relevant packages. I guess the question is: are there tools for verifying the debian dpkg databases against the hard drive? What I described could be done in a 30 line perl script (by me) or a 4 line perl script (by a perl write-once read-never sadist :-) But I'll not write such a script if one already exists. Ideas? This seems important to me. And in fact, I'm mildly suprised that dselect doesn't do this already. RTFM flames are gladly accepted. I looked around but perhaps missed an obvious utility. -Doug Eck