I file che si trovano in /var
sono molto critici per il sistema. Ad esempio, /var/mail
o /var/spool/mail
contiene l'e-mail degli utenti; non lo elimineresti più di quanto accenderesti un incendio nella casella di posta del tuo vicino. Sono solo i file in alcune sottodirectory /var
che contengono file che sono più o meno transitori: file di log in /var/log
, cache che di solito possono essere ricreati /var/cache
, file temporanei (che non dovresti eliminare mentre sono in uso!) In /var/tmp
.
I dati in /var/lib
possono essere piuttosto critici. Ad esempio, MySQL è in genere configurato per archiviare i suoi database in modo /var/lib/mysql
predefinito: se lo cancelli, cancelli i tuoi database. Dpkg inserisce anche i propri database /var/lib
; /var/lib/dpkg/status
è uno.
/var/lib/dpkg/status
contiene informazioni sui pacchetti installati. Se lo hai cancellato, dovresti ripristinarlo da un backup. Se il backup non è completamente aggiornato, controllare i registri delle manipolazioni dei pacchetti recenti in /var/log/apt
e in /var/log/dpkg.log
. Dovrai creare quel file prima dpkg
che funzioni.
/var/lib/dpkg/available
è costruito dai dati scaricati da Internet. apt-get update
dovrebbe ricostruirlo.
/var/lib/dpkg/info
contiene file forniti con i pacchetti Debian. È possibile ripristinare questi file semplicemente reinstallando i pacchetti. Naturalmente, avrai bisogno di un elenco di pacchetti installati per quello. Se hai ripristinato /var/lib/dpkg/status
, puoi estrarre l'elenco di pacchetti da lì.
apt-get install --reinstall $(</var/lib/dpkg/status sed -n 's/^Package://p')
Se hai perso /var/lib/dpkg/status
, potresti essere in grado di ricrearlo creando un file vuoto, quindi eseguendo apt-get install --reinstall
l'elenco dei pacchetti. Un punto in cui viene salvato anche l'elenco dei pacchetti è /var/lib/apt/extended_states
, almeno se hai sempre usato APT per installare i pacchetti (anziché dpkg
direttamente) - usa quel file invece di /var/lib/dpkg/status
int nel comando sopra. Se lo hai eliminato anche tu, puoi ricostruire un elenco approssimativo di pacchetti con $(cd /usr/share/doc && ls)
, poiché la maggior parte dei pacchetti crea una voce in /usr/share/doc
. Probabilmente ci sono alcune eccezioni.
Non richiedere assistenza per la gestione dei pacchetti su questo sistema. Il recupero dalla cancellazione di file critici di sistema non è una scienza esatta. Se non è possibile ripristinare dai backup, è necessario installare al più presto un nuovo sistema pulito.
/var/lib/dpkg/info
sono abbastanza importanti. Hai compreso male l'FHS e AFAIK gli unici percorsi di recupero sono (a) il ripristino dal backup o (b) la reinstallazione.