acidentalmente excluído / var / lib / apt /

10

Apaguei acidentalmente o conteúdo de / var / lib / apt com o comando abaixo:

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

o que eu deveria fazer agora? posso restaurá-lo? isso é necessário?

Hossein Hosseinvand
fonte
a razão por trás desse acidente é que eu estava tentando remover / var / lib / apt / lists / * por causa do seu tamanho enorme para criar espaço vazio no meu disco.
Hossein Hosseinvand

Respostas:

24

A pasta contém algumas coisas interessantes, em particular, há /var/lib/apt/keyrings/diretório para todos os repositórios que você adicionou ao sistema via apt-add-repository(e também há /etc/apt/trusted.gpge /etc/apt/trusted.gpg.d/) e cdroms.list que deve fazer referência à mídia de instalação como fonte de pacotes. Removido /var/lib/apt/keyrings/ubuntu-archive-keyring.gpgpode ser reinstalado com sudo apt-get install --reinstall ubuntu-keyring.

Há também /var/lib/apt/lists, que contém arquivos de bloqueio para quando apta atualização ou atualização está sendo executada, e listas de pacotes em repositórios remotos. Às vezes, os itens desse diretório são limpos ou excluídos, como nesta postagem, por exemplo. Ele deve se regenerar quando você executar apt-get update.

Em resumo, eu não me preocuparia com isso. Basta executar sudo apt-get updatee ele deve voltar, no entanto, se você adicionou repositórios através dos apt-add-repositoryquais pode ter exigido uma chave GPG, convém adicionar essa chave novamente ou remover temporariamente o repositório /etc/apt/sources.list.d.

Embora não seja um problema enorme neste caso, como o Lightness mencionado nos comentários , o núcleo do problema é o uso acidental derm -rf. Um usuário deve assumir total responsabilidade ao exercer comandos que podem danificar seu sistema. Existem inúmeros exemplos no AskUbuntu e em outros sites StackExchange em que os usuários excluem ou alteram a propriedade dos principais componentes do sistema. Do ponto de vista de novos usuários, pode ser compreensível que novos usuários não estejam familiarizados com a quantidade de danos que podem ser causados, embora isso não isole o novo usuário da responsabilidade. Não há sentido em condenar o comando ou o usuário, mas o caminho certo deve ser o desenvolvimento de hábitos de verificação de seus próprios passos na linha de comando ou em outro local. Isso não se aplica apenas ao Ubuntu, mas à computação em geral, e vem com experiência e, muitas vezes, na verdade, cometendo erros e interrompendo o sistema apenas para repará-lo e quebrá-lo novamente.

Sergiy Kolodyazhnyy
fonte
9
Você também desejará revisar como o erro foi cometido, porque a gravação sudoseguida de rm -rfseguida por um nome de diretório não intencional seguido por *não deve ser algo que seu cérebro permita que ocorra. Ações corretivas / mudanças de comportamento podem ser necessárias para evitar problemas muito piores no futuro.
Lightness Races em órbita
1
@LightnessRacesinOrbit Acho que esse comentário deve ser colocado na pergunta do OP, mas eu concordo - o usuário precisa saber o que digita e evitar fazer rm -rfsem verificar e garantir que remova a coisa certa primeiro.
Sergiy Kolodyazhnyy
1
Bem, eu acho que deve ser adicionado à resposta, por que eu o coloco aqui :) Comentários sob a pergunta devem ser para sugerir esclarecimentos à pergunta
Lightness Races in Orbit
1
@KasperThystrupKarstensen Concordou. Frequentemente, você também pode ver echosendo anexado primeiro a um comando que pretende executar com curinga ou outros comandos destrutivos. Por exemplo, echo rm /tmp/*tipo de coisa #
Sergiy Kolodyazhnyy
1
Está bem, obrigado. É claro que nunca cometi um erro tão grande, mas revisei o erro imediatamente e ajustei minhas práticas, de modo que nunca o cometi novamente :) É uma experiência formativa desde que você aprenda com ele.
Lightness Races em órbita