przypadkowo usunięty / var / lib / apt /

10

Przypadkowo usunąłem zawartość / var / lib / apt za pomocą poniższej komendy:

sudo rm -rf /var/lib/apt/*

co mam teraz zrobić? czy mogę to przywrócić? czy to konieczne?

Hossein Hosseinvand
źródło
przyczyną tego wypadku jest to, że próbowałem usunąć / var / lib / apt / list / * z powodu jego ogromnego rozmiaru, aby utworzyć puste miejsce na moim dysku.
Hossein Hosseinvand

Odpowiedzi:

24

Folder zawiera kilka interesujących rzeczy, w szczególności istnieje /var/lib/apt/keyrings/katalog dla wszelkich repozytoriów dodanych do systemu za pośrednictwem apt-add-repository(a następnie również /etc/apt/trusted.gpgi /etc/apt/trusted.gpg.d/), cdroms.list które powinny odnosić się do nośnika instalacyjnego jako źródła pakietów. Usunięte /var/lib/apt/keyrings/ubuntu-archive-keyring.gpgmożna ponownie zainstalować za pomocą sudo apt-get install --reinstall ubuntu-keyring.

Jest tam także /var/lib/apt/listsplik blokujący na czas aptaktualizacji lub uaktualnienia oraz listy pakietów w zdalnych repozytoriach. Elementy w tym katalogu są czasami usuwane lub usuwane, jak na przykład w tym poście . Powinien się zregenerować po uruchomieniu apt-get update.

Krótko mówiąc, nie martwiłbym się tak bardzo. Po prostu uruchom sudo apt-get updatei powinno być z powrotem, jednak jeśli dodałeś repozytoria, przez apt-add-repositoryktóre mógł być wymagany klucz GPG, możesz chcieć dodać ten klucz ponownie lub tymczasowo usunąć z niego /etc/apt/sources.list.d.

Chociaż w tym przypadku nie jest to ogromny problem, jak wspomniano w komentarzach Lightness , sednem problemu jest przypadkowe użycierm -rf. Użytkownik powinien zdawać sobie sprawę z pełnej odpowiedzialności, gdy wykonuje polecenia, które mogą wyrządzić szkody w jego systemie. Istnieje niezliczona liczba przykładów na AskUbuntu i innych stronach StackExchange, w których użytkownicy usuwają lub zmieniają własność głównych komponentów systemu. Z punktu widzenia nowych użytkowników zrozumiałe jest, że nowi użytkownicy nie wiedzą, ile szkód można wyrządzić, chociaż nie zwalnia to nowego użytkownika z odpowiedzialności. Nie ma sensu potępiać ani polecenia, ani użytkownika, ale właściwym sposobem powinno być rozwijanie nawyków sprawdzania własnych kroków w wierszu poleceń lub w innym miejscu. Dotyczy to nie tylko Ubuntu, ale ogólnie informatyki i wiąże się z dużym doświadczeniem, często popełniając błędy i psując system tylko w celu jego naprawy i ponownego uszkodzenia.

Sergiy Kolodyazhnyy
źródło
9
Będziesz także chciał sprawdzić, w jaki sposób został popełniony błąd, ponieważ zapis, sudoa rm -rfnastępnie niezamierzona nazwa katalogu, a następnie *nie powinny być czymś, na co pozwala twój mózg. Może być konieczne podjęcie działań naprawczych / zmian w zachowaniach, aby uniknąć znacznie gorszych problemów w przyszłości.
Wyścigi lekkości na orbicie
1
@LightnessRacesinOrbit Myślę, że ten komentarz powinien zostać umieszczony pod pytaniem OP, ale zgadzam się - użytkownik musi wiedzieć, co wpisuje i unikać robienia tego rm -rfbez sprawdzania i upewnienia się, że najpierw usunie właściwą rzecz.
Sergiy Kolodyazhnyy
1
Cóż, myślę, że należy dodać do odpowiedzi, dlatego umieściłem ją tutaj :) Komentarze pod pytaniem powinny sugerować wyjaśnienia do pytania
Wyścigi lekkości na orbicie
1
@KasperThystrupKarstensen Zgoda. Często widać też, echoże najpierw dodaje się polecenie do polecenia, które zamierzasz uruchomić za pomocą symboli wieloznacznych lub innych poleceń niszczących. Na przykład echo rm /tmp/*rodzaj rzeczy
Sergiy Kolodyazhnyy
1
Dziękuję. Oczywiście nie jest tak, że nigdy nie popełniłem takiego błędu, ale natychmiast sprawdziłem błąd i dostosowałem swoje praktyki, tak że nigdy go nie powtórzyłem :) To doświadczenie kształtujące, dopóki się z niego uczysz.
Wyścigi lekkości na orbicie