Veremos agora como ganhar espaço em disco, removendo os pacotes do Cache do
Pacman que estejam obsoletos,
ou não instalados localmente.
Antes de por a mão na massa, vejamos como estava a minha pasta de Cache do Pacman:
-> 1424 arquivos, totalizando 1.8GB de dados.
O Help da opção -S:
sudo pacman -S --help
A limpeza propriamente dita:
sudo pacman -Sc --noconfirm
Obs. 1: Para que os pacotes instalados sejam mantidos no Cache, será necessário deixar a opção CleanMethod em
“/etc/pacman.conf”, assim:
CleanMethod = KeepInstalled
Obs. 2: Caso desejem remover todos os pacotes do Cache, substituam o comando exemplificado acima por:
pacman -Scc --noconfirm
Usuários de internet 3G, nem em sonho podem pensar nisso! Cada MB economizado vale muito!
Como ficaram as pastas onde a limpeza foi efetuada:
" /var/cache/pacman/pkg/"
" /var/lib/pacman/sync/"
Continuando...
Caso tenham interesse em deixar seu
Arch Linux 'puro', ou seja, livre das compras dos finais de semana no AUR
(rsrsrs), podemos adotar o seguinte procedimento:
Obtendo a lista do que não faz parte dos repos oficiais:
sudo pacman -Qm
Direcionando esta listagem para um arquivo:
pacman -Qqm > pkgs_AUR.txt
E removendo os mesmos com a opção mais neurótica de todas:
sudo pacman -Rscn $(cat pkgs_AUR.txt)
Observem a situação acima e as duas subsequentes, escolham a mais segura, eu indico '-Rd'. Na dúvida, vejam o Help da opção
com pacman: -R --help
A remoção mais simples:
sudo pacman -R $(cat pkgs_AUR.txt)
E a de melhor custo-benefício:
sudo pacman -Rd $(cat pkgs_AUR.txt)
Remoção simplificada
sudo pacman -Rd $(pacman -Qmq)
Obs.: Pule todos os passos acima, incluindo a criação do arquivo de texto, adicione '--noconfirm', e a remoção ocorrerá de forma
automática e sem intervenção do usuário (vejam mais abaixo).
Pacotes Órfãos
Seguindo o modelo acima, podemos remover os pacotes órfãos assim:
sudo pacman -Qdt
$ pacman -Qdtq > pkgs_orfãos.txt
$ sudo pacman -Rd $(cat pkgs_orfãos.txt)
Ou simplificando, assim:
pacman -Rd $(pacman -Qtdq)
Ou automatizando, assim:
pacman -Rd --noconfirm $(pacman -Qtdq)
Obs.: É desnecessário dizer que, se algo importante for removido, não será por minha culpa! Esta opção é o equivalente ao '-y', ou '-
y --force-yes' do
Debian. Vantajosa às vezes, e perigosíssima noutras.
Beleza, remoção sem problemas! Noutras vezes, dá choro!
Referências
@niquelnausea, obrigado brother pela sugestão, eu tinha conhecimento da opção 'KeepCurrent' mas nunca a utilizei, aproveitando sua dica dei uma olhada na documentação e vi que como você mesmo indicou ambas as opções podem coexistir:
http://www.archlinux.org/pacman/pacman.conf.5.html
CleanMethod = KeepInstalled &| KeepCurrent
"
If set to KeepInstalled (the default), the -Sc operation will clean packages that are no longer installed (not present in the local database).
"If set to KeepCurrent, -Sc will clean outdated packages (not present in any sync database). The second behavior is useful when the package cache is shared among multiple machines, where the local databases are usually different, but the sync databases in use could be the same.
If both values are specified, packages are only cleaned if not installed locally and not present in any known sync database.
"
valeu!
@White Hawk, thanks man!