Como posso configurar o apt-get para limpar automaticamente após cada instalação

12

Existe alguma maneira de fazer apt-get cleandepoisapt-get install automaticamente, como em outras distros?

Tiago Carrondo
fonte
Graças ao @Braiam, encontrei um bug no Ubuntu e vou denunciá-lo. Na solução do Debian Braiam, funciona bem.
Tiago Carrondo
relacionados: Como libero espaço em disco?
rubo77
1
@TiagoCarrondo Você pode compartilhar o link do bug, por favor?
Sharp
No Xenial, todas as minhas máquinas se limpam. Não sei onde isso está configurado, mas funciona.
Ken Sharp

Respostas:

13

Você só precisa adicioná-lo nos arquivos de configurações do apt. Apenas corra:

sudo sh -c "echo 'DSELECT::Clean "always";' >> /etc/apt/apt.conf.d/99AutomaticClean"

Isso acionará a limpeza automática sempre que você fizer upgrade .

Vamos explicar esta entrada, na página de manual:

Clean

Modo de limpeza de cache; esse valor pode ser um de sempre, prompt, automático, pré-automático e nunca. always and prompt removerá todos os pacotes do cache após a atualização, o prompt (o padrão) o faz condicionalmente. auto remove apenas os pacotes que não podem mais ser baixados (substituídos por uma nova versão, por exemplo). O pré-automático executa esta ação antes de baixar novos pacotes.

Mais informações:

https://groups.google.com/d/msg/linux.debian.user/aK2jvfL_tuw/rUd6i6bd4YQJ

Braiam
fonte
Eu acho que deve precisar de um ponto e vírgula no final ;! e, portanto, deve sersudo sh -c "echo 'APT::Get::Clean=always;' >> /etc/apt/apt.conf.d/99AutomaticClean"
Indiana
@Braiam Eu tentei e não funciona. Eu até tentei o APT :: Get :: Clean "sempre", como em outros arquivos, mas sem sorte. qualquer pista?
Tiago Carrondo
@Braiam no luck
Tiago Carrondo
@TiagoCarrondo e agora? Esta mensagem da usenet diz que é o vencedor.
Braiam
Já tentei isso depois do seu primeiro post. Indo para a localização do arquivo de mudança ... espere
Tiago Carrondo
2

Escreva um script de shell!

sudo nano /usr/bin/aptinstaller 

Dentro deste tipo de arquivo:

#!/bin/bash
sudo apt-get install $1
sudo apt-get -y autoclean
sudo apt-get -y autoremove  

Salve e saia de nanoe digite:

sudo chmod +x /usr/bin/aptinstaller 

Agora, toda vez que você digitar

sudo aptinstaller <package-name> 

Seria instalado e depois limpo.

indiano
fonte
Eu prefiro uma opção, mas soa como um bom plano B, thx
Tiago Carrondo 12/12
2
/usr/local/bin/parece mais correto.
Ken Sharp
0

Minha solução alternativa, embora não seja uma solução real, é definir o diretório de arquivos como /tmp. Não será limpo automaticamente após uma instalação, mas será limpo na reinicialização.

Eu criei /etc/apt/apt.conf.d/99cleane adicionei:

Dir::Cache::archives /tmp;

Como alternativa, você pode montar /var/cache/apt/archivesusando tmpfs, embora isso obviamente use RAM e eu não recomendo essa opção.

Em /etc/fstab, por exemplo:

tmpfs /var/cache/apt/archives tmpfs size=128m,mode=755 0 0
Ken Sharp
fonte
0

Um hack parece estar adicionando o seguinte a, por exemplo /etc/apt/apt.conf.d/clean( via ):

DPkg::Post-Invoke {"/bin/rm -f /var/cache/apt/archives/*.deb || true";};

Isso limpará o cache automaticamente após o dpkg ter sido chamado pelo apt.

Isso não limpa o cache depois apt-get update, porém, o gancho APT::Update::Post-Invokepode ser usado para isso.

O melhor método ainda parece estar chamando apt-get clean/ aptitude cleanmanualmente.

azulado
fonte