Rescuing a system with a damaged /var filesystem
Because the /var directory contains regularly updated data, it is more susceptible of corruption than filesystems containing fixed data, such as /usr. It is recommended that /var is placed into its own filesystem, to minimise damage in the event of a filesystem problem. If disaster happens, it may be necessary to rebuild the /var directory to rescue your Debian system.
Use a skeleton from a minimum working system
Obtain the skeleton content of the /var directory from a minimum working Debian system based on the same or older Debian version. Now run ["dselect"], and this will hopefully provide a working system.
This should provide a working system.
Obtaining a list of already installed packages
Following restore of the Debian system, the Package Database may not have the correct information about which packages are already installed. However, because each currently installed package has documentation installed in /usr/share/doc, it is possible to use this list to populate the list of packages to be installed by the package mananger:
ls -1 /usr/share/doc | \
grep -v '^texmf$' | \ # Ignore the texmf document tree
grep -v '^debian$' | \ # Ignore debian utilities and keyrings
awk '{print $1 " install"}' | \
dpkg --set-selectionsThe ["dselect"] tool can now be used to install the selected packages.
