Dateien in /varsind sehr systemkritisch. Zum Beispiel /var/mailoder /var/spool/mailenthä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/libkönnen sehr kritisch sein. Beispielsweise ist MySQL normalerweise so konfiguriert, dass seine Datenbanken /var/lib/mysqlstandardmäß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/statusist ein.
/var/lib/dpkg/statusenthä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/aptund in /var/log/dpkg.log. Sie müssen diese Datei erstellen, bevor dpkgsie funktioniert.
/var/lib/dpkg/availablebasiert auf Daten, die aus dem Internet heruntergeladen wurden. apt-get updatesollte es wieder aufbauen.
/var/lib/dpkg/infoenthä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 --reinstalldie 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 dpkgdirekt) - verwenden Sie diese Datei anstelle des /var/lib/dpkg/statusobigen 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/infoist auch ziemlich wichtig. Sie haben die FHS falsch verstanden, und AFAIK die einzigen Wiederherstellungspfade sind (a) Wiederherstellung aus dem Backup oder (b) Neuinstallation.