випадково видалено / var / lib / apt /


10

Я випадково видалив вміст / var / lib / apt із командою нижче:

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

що мені робити зараз? чи можу я відновити його? це потрібно?


Причиною цієї аварії є те, що я намагався видалити / var / lib / apt / list / * через його величезний розмір, щоб створити порожній простір на моєму диску.
Hossein Hosseinvand

Відповіді:


24

У папці є кілька цікавих речей, зокрема є /var/lib/apt/keyrings/каталог для будь-яких сховищ, які ви додали в систему через apt-add-repository(а потім є також /etc/apt/trusted.gpgі /etc/apt/trusted.gpg.d/), і cdroms.list які повинні посилатися на інсталяційний носій як джерело пакетів. Видалене /var/lib/apt/keyrings/ubuntu-archive-keyring.gpgможе бути перевстановлено sudo apt-get install --reinstall ubuntu-keyring.

Там же є вміст /var/lib/apt/listsфайлів блокування, коли aptвідбувається оновлення чи оновлення, та списки пакетів у віддалених сховищах. Елементи в цьому каталозі іноді видаляються або видаляються, наприклад, у цій публікації . Він повинен відновитись після запуску apt-get update.

Коротше кажучи, я б не хвилювався з цього приводу. Просто запустіть sudo apt-get updateі воно повинно бути повернене, однак якщо ви додали сховища, через apt-add-repositoryякі, можливо, знадобився ключ GPG, тоді ви можете знову додати цей ключ або тимчасово видалити це сховище з /etc/apt/sources.list.d.

Хоча це не велика проблема в цьому випадку, як про легкість, про яку йдеться у коментарях , суть проблеми полягає в випадковому використанніrm -rf. Користувач повинен усвідомлювати повну відповідальність, коли він володіє командами, які можуть завдати шкоди їхній системі. Існує незліченна кількість прикладів на AskUbuntu та інших сайтах StackExchange, де користувачі видаляють або змінюють право власності на основні компоненти системи. З точки зору нових користувачів, можна зрозуміти, що нові користувачі не знають, скільки шкоди можна зробити, хоча це не звільняє нового користувача від відповідальності. Немає сенсу засуджувати ні команду, ні користувача, але правильним способом має бути вироблення звичок перевіряти власні кроки в командному рядку чи деінде. Це стосується не лише Ubuntu, але й обчислювальної техніки загалом, а також має досвід та часто через фактичні помилки та порушення вашої системи, щоб лише її виправити та зламати.


9
Ви також хочете переглянути в першу чергу, як була допущена помилка, тому що написання, sudoза яким rm -rfслідує ненавмисне ім’я каталогу, за яким *не повинно бути тим, що дозволяє вашому мозку. Для уникнення набагато гірших проблем в майбутньому можуть знадобитися коригувальні дії / зміни в поведінці.
Гонки легкості по орбіті

1
@LightnessRacesinOrbit Я думаю, що цей коментар слід розмістити під питанням ОП, але я погоджуюся - користувач повинен знати, що вони друкують, і уникати цього, rm -rfне перевіряючи і не переконуючись, що вони спочатку видаляють потрібну річ.
Сергій Колодяжний

1
Добре, я думаю, що слід додати відповідь, чому я поставив це тут :) Коментарі під цим запитанням повинні запропонувати роз'яснення до питання
Гонкості в орбіті

1
@KasperThystrupKarstensen Погодився. Часто ви також можете побачити, echoяк попередньо створюється команда, яку ви хочете запустити з підстановкою або іншими руйнівними командами. Наприклад, echo rm /tmp/*тип речі
Сергій Колодяжний

1
Це місце, спасибі. Звичайно, це не так, як я ніколи не робив такої помилки, але я одразу переглянув помилку і відкоригував свою практику, так що я ніколи цього не зробив :) Це формаційний досвід, доки ви з цього навчитесь.
Гонки легкості на орбіті
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.