Pliki znajdujące się w /var
są bardzo krytyczne dla systemu. Na przykład, /var/mail
czy /var/spool/mail
zawiera e-mail użytkowników; nie usunąłbyś tego więcej niż rozpaliłbyś ogień w skrzynce pocztowej sąsiada. Są to tylko pliki w niektórych podkatalogach, /var
które zawierają pliki, które są mniej lub bardziej przejściowe: pliki dziennika /var/log
, pamięci podręczne, które zwykle można odtworzyć /var/cache
, pliki tymczasowe (których nie należy usuwać, gdy są używane!) /var/tmp
.
Dane wejściowe /var/lib
mogą być dość krytyczne. Na przykład MySQL jest zwykle skonfigurowany do /var/lib/mysql
domyślnego przechowywania baz danych : jeśli go usuniesz, wyczyścisz bazy danych. Dpkg również umieszcza własne bazy danych /var/lib
; /var/lib/dpkg/status
jest jeden.
/var/lib/dpkg/status
zawiera informacje o zainstalowanych pakietach. Jeśli to wyczyściłeś, powinieneś przywrócić go z kopii zapasowej. Jeśli twoja kopia zapasowa nie jest w pełni aktualna, sprawdź dzienniki ostatnich manipulacji pakietami pod /var/log/apt
i wewnątrz /var/log/dpkg.log
. Najpierw musisz utworzyć ten plik dpkg
.
/var/lib/dpkg/available
jest zbudowany z danych pobranych z Internetu. apt-get update
powinien go odbudować.
/var/lib/dpkg/info
zawiera pliki dostarczane z pakietami Debiana. Możesz przywrócić te pliki po prostu ponownie instalując pakiety. Oczywiście potrzebujesz do tego listy zainstalowanych pakietów. Po przywróceniu /var/lib/dpkg/status
możesz wyodrębnić stamtąd listę pakietów.
apt-get install --reinstall $(</var/lib/dpkg/status sed -n 's/^Package://p')
Jeśli się zgubiłeś /var/lib/dpkg/status
, możesz być w stanie odtworzyć go, tworząc pusty plik, a następnie uruchamiając go apt-get install --reinstall
na liście pakietów. Jednym z miejsc, w których zapisywana jest również lista pakietów, jest to /var/lib/apt/extended_states
, przynajmniej jeśli kiedykolwiek używałeś APT do instalowania pakietów (w przeciwieństwie do dpkg
bezpośredniego) - użyj tego pliku zamiast /var/lib/dpkg/status
int powyższej komendy. Jeśli to również usunąłeś, możesz odbudować przybliżoną listę pakietów $(cd /usr/share/doc && ls)
, ponieważ większość pakietów tworzy wpis w /usr/share/doc
. Jest chyba kilka wyjątków.
Nie proś o pomoc dotyczącą zarządzania pakietami w tym systemie. Odzyskiwanie po usunięciu plików krytycznych dla systemu nie jest nauką ścisłą. Jeśli nie można przywrócić z kopii zapasowych, należy jak najszybciej zainstalować nowy, czysty system.
/var/lib/dpkg/info
są również dość ważne. Źle zrozumiałeś FHS i AFAIK jedynymi ścieżkami odzyskiwania są (a) przywrócenie z kopii zapasowej lub (b) ponowna instalacja.