This was mentioned in this week's DWN. Looking at Nick's method, I've suggested (but not tested) some improvements.
Note that _all_ that is recovered here is package state. Your logs, www, spool directories, game status (!), etc., are *gone*. > Here is a good article about recovering a Debian system without having a > backup of /var/lib/dpkg... > > http://www.linuxworld.com/2003/0113.petreley.html Funny, I walked someone through that on irc.debian.org:#debian last week. This can be somewhat simplified from Nick's procedure. Rather than manually re-selecting packages in dselect, you would take advantage of the fact that Debian policy requires all packages to create an entry in /usr/share/doc, with the name of the package. Procedure (in handy shell-script format). Note that I *haven't* tried this (suggestion: someone with a faster box than I should try installing Debian under UML and self-inflicting damage, then recovering, and telling me what I got wrong). #!/bin/sh export PATH=/usr/sbin:/usr/bin:/sbin:/bin # Let's be verbose.... set -v # Create /var directory tree stubs mkdir /var/cache/apt/archives mkdir /var/cache/debconf mkdir /var/log mkdir -p /var/lib/dpkg/{info,parts,alternatives,methods,updates} # Create a rudimentary status file cat <<-EOF>/var/lib/dpkg/status Package: libc6 Status: install ok installed Version: 2.3.1-9 EOF # Update package cache apt-get update apt-get dist-upgrade # Register as installed crucial packages. dpkg --clear-avail apt-get update apt-get dist-upgrade cd /var/cache/apt/archives dpkg -i libncurses* dpkg -i perl-base* dpkg -i libstdc++* dpkg -i dselect* dpkg -i dpkg* # Reinstall libc to register it. apt-get install --reinstall libc6 # Reinstall base packages. apt-get dist-upgrade # Generate list of installed packages to Re-register previously # installed packages as installed, using /usr/share/doc as a # fallback package registry. dpkg --get-selections $( ls /usr/share/doc | grep -v [A-Z] | awk '{print $1 " install"}' ) # Re-register everything. apt-get dist-upgrade Peace. -- Karsten M. Self <[EMAIL PROTECTED]> http://kmself.home.netcom.com/ What Part of "Gestalt" don't you understand? Geek for hire: http://kmself.home.netcom.com/resume.html -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]