Dateien in /var
sind sehr systemkritisch. Zum Beispiel /var/mail
oder /var/spool/mail
enthält die E-Mail der Benutzer; Sie würden das nicht mehr löschen, als Sie ein Feuer in der Mailbox Ihres Nachbarn entzünden würden. Es sind nur Dateien in bestimmten Unterverzeichnissen /var
, die mehr oder weniger vergängliche Dateien enthalten: Anmeldedateien /var/log
, Caches, in denen normalerweise neu erstellt werden kann /var/cache
, temporäre Dateien (die Sie nicht löschen sollten, während sie verwendet werden!) /var/tmp
.
Daten in /var/lib
können sehr kritisch sein. Beispielsweise ist MySQL normalerweise so konfiguriert, dass seine Datenbanken /var/lib/mysql
standardmäßig gespeichert werden: Wenn Sie dies löschen, löschen Sie Ihre Datenbanken. Dpkg stellt auch seine eigenen Datenbanken unter /var/lib
; /var/lib/dpkg/status
ist ein.
/var/lib/dpkg/status
enthält Informationen zu installierten Paketen. Wenn Sie das gelöscht haben, sollten Sie es aus einer Sicherung wiederherstellen. Wenn Ihre Sicherung nicht vollständig auf dem neuesten Stand ist, überprüfen Sie die Protokolle der letzten Paketmanipulationen unter /var/log/apt
und in /var/log/dpkg.log
. Sie müssen diese Datei erstellen, bevor dpkg
sie funktioniert.
/var/lib/dpkg/available
basiert auf Daten, die aus dem Internet heruntergeladen wurden. apt-get update
sollte es wieder aufbauen.
/var/lib/dpkg/info
enthält Dateien, die mit Debian-Paketen geliefert werden. Sie können diese Dateien einfach wiederherstellen, indem Sie die Pakete neu installieren. Dazu benötigen Sie natürlich eine Liste der installierten Pakete. Wenn Sie wiederhergestellt haben /var/lib/dpkg/status
, können Sie die Liste der Pakete von dort extrahieren.
apt-get install --reinstall $(</var/lib/dpkg/status sed -n 's/^Package://p')
Wenn Sie verloren haben /var/lib/dpkg/status
, können Sie es möglicherweise neu erstellen, indem Sie eine leere Datei erstellen und dann apt-get install --reinstall
die Liste der Pakete ausführen. Ein Ort, an dem auch die Liste der Pakete gespeichert wird /var/lib/apt/extended_states
, ist , zumindest wenn Sie APT nur zum Installieren von Paketen verwendet haben (im Gegensatz zu dpkg
direkt) - verwenden Sie diese Datei anstelle des /var/lib/dpkg/status
obigen Befehls. Wenn Sie dies ebenfalls gelöscht haben, können Sie eine ungefähre Liste von Paketen mit neu $(cd /usr/share/doc && ls)
erstellen, da die meisten Pakete einen Eintrag in erstellen /usr/share/doc
. Es gibt wahrscheinlich einige Ausnahmen.
Bitten Sie nicht um Unterstützung bei der Paketverwaltung auf diesem System. Die Wiederherstellung nach dem Löschen systemkritischer Dateien ist keine exakte Wissenschaft. Wenn Sie aus Backups keine Wiederherstellung durchführen können, sollten Sie so bald wie möglich ein neues, sauberes System installieren.
/var/lib/dpkg/info
ist auch ziemlich wichtig. Sie haben die FHS falsch verstanden, und AFAIK die einzigen Wiederherstellungspfade sind (a) Wiederherstellung aus dem Backup oder (b) Neuinstallation.