Instalei recentemente o Arch Linux e descobri que estou consumindo muito armazenamento relativamente rápido. Por qualquer motivo, eu já usei 17 GB em apenas duas semanas. Como não tenho muito software instalado, sou levado a acreditar que todos os pacotes antigos são mantidos em algum lugar.
Para suportar isso, notei que, se eu instalei um pacote, remova esse pacote e o reinstale, o pacman apenas descompacta e reinstala o software sem precisar fazer o download novamente.
Depois de instalar meu sistema básico, antes do software extra, usei cerca de 2 GB, talvez. Desde então, instalei apenas o Matlab, o Skype, o Wine e alguns outros pequenos programas. É claro que eu também instalei bibliotecas ausentes e coisas do gênero, mas não vale quase 15 GB.
Estou completamente errado aqui ou o Arch nunca exclui pacotes antigos ao baixar / atualizar para novas versões?
Em caso afirmativo, como excluo esses pacotes não utilizados?
Além disso, quando removo os pacotes instalados, uso pacman -R ...
fonte
cron
ou regularsystemd
.Respostas:
Não, o pacman não remove pacotes antigos do seu cache (
/var/cache/pacman/pkg
) para que, com o tempo, ele possa ser preenchido.Você pode adotar duas abordagens para limpar o cache: a força bruta, uma com
pacman -Sc
:Ou, para uma abordagem mais sutil, você pode usar um dos utilitários fornecidos com o pacman-contrib
paccache
:Por padrão,
paccache
remove todas as últimas três versões de um pacote instalado, mas você pode alterar esse número com a-k, --keep
opção Há também uma-d, --dryrun
opção para visualizar suas alterações. Vejapaccache --help
para todos os comutadores.Existem vários utilitários no pacote pacman-contrib para auxiliar no gerenciamento de pacotes; vale a pena examinar todos eles e obter uma compreensão de como eles funcionam e podem facilitar a execução do Arch. Você pode ver a lista completa com:
fonte
--clean
interruptor duplo : isso proíbe a reversão fácil para o pacote de trabalho, caso ocorra algum problema com a versão mais recente (por exemplo, o novo pacote depende de uma versão mais antiga da lib ou do Python; o mesmo com o hardware e as versões mais recentes). núcleo). Acho que configurar o cache do pacman em outro lugar que não seja/
uma solução muito melhor (apenas defina o caminho no /etc/pacman.conf ).paccache
pode obtê-lo instalando opacman-contrib
pacote.$ pacman -Ql pacman-contrib | awk -F"[/ ]" '/\/usr\/bin\/./ {print $NF}'
evitar uma linha em branco nos resultados? ;-)rm -rf /var/cache/pacman/pkg
foi a coisa errada a fazerSeu cache de pacotes está em
/var/cache/pacman/pkg/
.NOTA: os
pacman
pacotes foram atualizados em 2018 e requerem instalação adicionalpacman-contrib
para usar scripts / ferramentas comopaccache
descrito abaixo.Faz:
Para fazer um
-dryrun
e ver o que uma execução desse utilitário pode remover na próxima etapa:Para remover pacotes em cache. 17gbs soa íngreme. Verifique se você não possui alguns logs de fuga. Faz:
Ou apenas:
Para uma idéia mais geral do que está acontecendo.
fonte
pacman -Scc
faz o que você está pedindo, mas não é recomendado. Do WikiAlém disso, quando desinstalo pacotes, prefiro usá-
pacman -Rnsc
los, pois ele também remove dependências de pacotes e pacotes que dependem deste. Como sempre, leia atentamente quais pacotes estão sendo removidos, pois você pode facilmente deixar nosso sistema em um estado inutilizável.fonte
rm /var/cache/pacman/pkg/*
isso? Ou - pelo menos por padrão, eu acho. Eu mudei meu cache de pacotes para/tmp
a maioria das máquinas há muito tempo e deixeisquid
lidar com um único cache central no roteador. Não é tão fácil comopacman -Scc
se.Eu sugiro fortemente o uso de em
paccache
vez depacman -Sc
. Existe até um sinalizador muito eficaz para remover seletivamente as versões dos pacotes desinstalados-u
. As bandeiras de quepaccache
eu recomendo são (como parte do paccache v5.0.2):-d
,--dryrun
: execute uma execução a seco, localizando apenas pacotes candidatos-r
,--remove
: remover pacotes candidatos-u
,--uninstalled
: direciona apenas pacotes desinstalados-k
,--keep <num>
: mantenha "num" de cada pacote no cache (padrão: 3)Exemplo: verifique as versões de cache restantes dos pacotes desinstalados
fonte
-u
depaccache
. Exemplos de pacotes grandes são, por exemplo, Gnome, KDE ou Texlive para lhe dar uma idéia.-k
bandeira era nova para mim e não muito bem explicada na caixa de diálogo de ajuda, portanto, seu uso aqui foi útil.