Como evitar que o apt-get / aptitude mantenha um cache

14

Instalei o Apt-Cacher NG para fornecer um cache de pacotes para várias máquinas. Portanto, não vejo sentido em ter o aptitude / apt-get mantendo seu próprio (segundo) cache /var/cache/apt/archives. Sei que posso esvaziar esse cache sudo apt-get clean, mas existe alguma maneira de configurar o apt-get para limpar automaticamente o cache quando uma instalação for concluída?

Blair
fonte
Estou tentando fazer a mesma coisa que uso muitos LXC para experimentar e manter meu computador pessoal limpo. Um desses LXC é o meu apt-cacher-ng, mas agora eu gostaria de impedir que todas as outras instâncias (incluindo a "real") mantenham o controle dos arquivos.
Jgomo3

Respostas:

9

De acordo com a documentação, você pode adicionar um arquivo de configuração ao /etc/apt/apt.conf.d/nome no-cachecontendo Dir::Cache "";e de Dir::Cache::archives "";acordo com o manual de apt.conf. Há um relatório de bug levantando problemas com esse método, e eu não o recomendo.

Há um método restante de acordo com este tutorial:

echo 'DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};' | sudo tee /etc/apt/apt.conf.d/clean

Isso executará um rmcomando imediatamente antes do apt ser encerrado.

sagarchalise
fonte
Eu encontrei apenas definir o caminho de cache para um caminho vazio deu um erro ao executar apt: Archives directory archives/partial is missing. - Acquire (2: No such file or directory). A solução para esse erro foi também definir Dir::Cache::archivesum caminho vazio. Atualizei sua resposta para incluir isso (supondo que alguém com maior representante aprove a edição).
Blair
1
Na verdade, configurá-los para caminhos em branco não funciona. Fiz isso e, em seguida, instalei e removi um pacote. Indo para instalá-lo novamente, eu tenho Need to get 0 B/21.9 MB of archivesindicando a presença de uma versão em cache. Olhando em volta, verifica-se que eles foram armazenados em cache na raiz do sistema de arquivos ... não exatamente o que eu queria! A menos que nós dois estamos lendo a página de manual do apt.conf errada, a página de manual está errada ou há um erro. Eu acho que vou ficar com o segundo método.
Blair
4
Eu relatei o Dir::Cache::Archive "";bug em bugs.launchpad.net/apt/+bug/937951 . Quando você definir isso, não executeapt-get clean , pois removerá todos os arquivos no diretório raiz ( /).
Lekensteyn
2
De acordo com o bug, Dir::Cache::Archiveé a configuração errada var; isso deveria ser Dir::Cache::{src,}pkgcache.
Jeremy Kerr
1
Este bug foi corrigido em uma versão posterior?
sep332
-2

Eu acho que o que você está procurando é:

/etc/apt/apt.conf.d$ cat 04autoclean
APT::Clean-Installed "true";
/etc/apt/apt.conf.d$ 
Vencedor
fonte
2
Esse comando não altera nada - apenas mostra o conteúdo de 04autoclean(quando executado no /etc/apt/apt.conf.ddiretório). Você está dizendo que Blair deve alterar o conteúdo de 04autocleanmodo que APT::Clean-Installedesteja definido como "true"?
Elias Kagan
1
Isso controlará apenas como apt-get autocleanse comporta. No apt-get (8): "A opção de configuração APT :: Clean-Installed impedirá que os pacotes instalados sejam apagados se estiver desativado."
blueyed