Estou construindo uma imagem para um Linux embarcado baseado em Debian. Eu usei apt-get update
antes no dispositivo que desejo usar como base para essa imagem, então as listas em /var/lib/apt/lists
são bem grandes (quase 100 MB de tamanho).
Eu quero manter a funcionalidade apt-get
(então eu não quero remover os repositórios apt), mas eu quero liberar o espaço usado nessas listas (as listas quase dobram o tamanho da imagem).
Alguém sabe como fazer isso? Posso simplesmente excluir os arquivos em /var/lib/apt/lists
?
Resposta
Você pode apenas usar:
rm /var/lib/apt/lists/*
Isso removerá as listas de pacotes. Nenhum repositório será excluído, eles são configurados no arquivo de configuração em /etc/apt/sources.list
. Tudo o que pode acontecer é que ferramentas como apt-cache
não pode obter informações do pacote a menos que você atualize as listas de pacotes. Além disso, apt-get install
irá falhar com E: Unable to locate package <package>
, porque não a informação está disponível ab o pacote.
Depois, basta executar:
apt-get update
para reescrever essas listas e o comando funcionará novamente.
De qualquer forma, é “recomendado executar apt-get update
antes de instalar qualquer coisa.
Comentários
- Obviamente o diretório não pode estar vazio, adicione -rf após o rm para ficar assim
rm -rf /var/lib/apt/lists/*
Resposta
As listas são o conhecimento do que está disponível, então se você excluí-las, não será capaz de instalar nada – isso é exatamente equivalente a remover os repositórios de suas fontes lista (que você diz que não quer fazer).
Uma opção é compactar as listas e lembrar de descompactá-las antes da próxima update
.
O que costumo fazer (principalmente quando desejo experimentar fontes extras) é criar um diretório /etc/apt/sources.available
e adicionar entradas para distribuições. Posso então habilitar facilmente qualquer subconjunto criando links simbólicos de /etc/apt/sources.list.d
e desabilitar removendo esses links simbólicos.
Com a lista de fontes vazia, você poderia apt-get update
– isso deve limpar seu /var/lib/apt/lists
. Em seguida, vincule as fontes apropriadas de volta a /etc/apt/sources.list.d
, mas não “t update
até o momento em que realmente pretende usá-las.