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.