случайно удален / var / lib / apt /

10

Я случайно удалил содержимое / var / lib / apt с помощью команды ниже:

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

Что мне теперь делать? я могу восстановить это? это необходимо?

Хоссейн Хоссейнванд
источник
причина этой аварии в том, что я пытался удалить / var / lib / apt / lists / * из-за его огромного размера, чтобы создать свободное место на моем диске.
Хоссейн Хоссейнванд и

Ответы:

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 Я думаю, что этот комментарий следует поместить под вопрос OP, но я согласен - пользователь должен знать, что он печатает, и избегать делать это, rm -rfне проверяя и не гарантируя, что они сначала удалят правильную вещь.
Сергей Колодяжный
1
Ну, я думаю, что это должно быть добавлено к ответу, поэтому я поставил его здесь :) Комментарии под вопросом должны быть для предложения разъяснений к вопросу
Гонки
1
@KasperThystrupKarstensen Согласен. Часто вы также можете увидеть, echoчто сначала добавляется команда, которую вы собираетесь запустить с подстановочными знаками или другими деструктивными командами. Например, echo rm /tmp/*тип вещи
Сергей Колодяжный
1
Вот и все, спасибо. Конечно, это не значит, что я никогда не совершал такой ошибки, но я сразу же пересмотрел ошибку и скорректировал свои практики, так что я никогда не повторил ее :) Это формирующий опыт, пока вы учились у него.
Гонки