Pesquisa de site

Como limpar o cache de pacotes no Arch Linux


Este guia explica o que é o script Paccache e como limpar o cache do pacote no Arch Linux e suas variantes, como EndeavourOS e Manjaro Linux.

O que é Paccache?

Todos sabemos que Pacman, o gerenciador de pacotes padrão do Arch Linux e seus derivados, armazenará todos os pacotes baixados em /var/cache/pacman/pkg/< diretório.

Também sabemos que o Pacman não excluirá pacotes antigos ou desinstalados automaticamente do cache. Após um determinado período de tempo, a pasta de cache aumentará de tamanho.

Portanto, é recomendado limpar o cache do pacote periodicamente no Arch Linux para liberar espaço no disco rígido.

Pacman tem uma opção integrada para remover todos os pacotes em cache. Você pode limpar os pacotes em cache executando o comando sudo pacman -Sc.

No entanto, este comando removerá todas as versões antigas armazenadas em cache e deixará disponíveis apenas as versões dos pacotes que estão atualmente instalados. Esta não é uma forma recomendada.

Porque, às vezes, você pode querer fazer o downgrade de um pacote específico para sua versão mais antiga. Portanto, se você limpou todos os pacotes antigos, não terá opção de instalá-los a partir da pasta Cache. Você só pode instalá-los a partir dos repositórios oficiais do Arch Linux.

É aqui que o script Paccache se torna útil. O script Paccache é fornecido pelo próprio pacote Pacman. Assim, você não precisa se preocupar com as etapas de instalação.

O Paccache manterá as 3 versões mais recentes do pacote por padrão. Exceto as 3 versões de pacotes mais recentes, ele excluirá todas as versões em cache de cada pacote, independentemente de estarem instaladas ou não.

Este breve tutorial ensina como limpar adequadamente o cache de pacotes no Arch Linux e seus derivados usando o script paccache.

A. Limpe o cache do pacote no Arch Linux usando Paccache

1. Primeiro, verifique quantos pacotes em cache estão disponíveis na minha pasta de cache.

$ sudo ls /var/cache/pacman/pkg/ | wc -l
3185

2. Como você pode ver na saída acima, tenho um total de 3185 pacotes em cache. Deixe-me verificar o espaço total em disco usado pela pasta de cache.

$ du -sh /var/cache/pacman/pkg/
9.7G /var/cache/pacman/pkg/

Atualmente, tenho em cache pacotes de 9,7 GB de tamanho. Isso é demais. Não quero ficar com todos eles.

3. Para limpar todos os pacotes, exceto as 3 versões mais recentes, execute o seguinte comando:

$ sudo paccache -r
[sudo] password for sk:

==> finished: 854 packages removed (disk space saved: 4.37 GiB)

Ver? Paccache removeu 854 pacotes antigos e/ou desinstalados do cache e economizou 4,37 GB de espaço em disco.

4. Deixe-me verificar novamente quantos pacotes restam na pasta cache.

$ sudo ls /var/cache/pacman/pkg/ | wc -l
2331

Ótimo! Agora, existem 2.331 pacotes em cache disponíveis na pasta Cache. Estas são as 3 versões mais recentes de cada pacote em cache.

5. Agora, verifique o espaço total em disco usado pela pasta cache.

$ du -sh /var/cache/pacman/pkg/
5.4G /var/cache/pacman/pkg/

Ótimo! Economizei até 4 GB de espaço em disco.

6. Ainda deseja remover mais pacotes? Claro que você pode! Paccache permite que você decida quantas versões recentes deseja manter.

Por exemplo, execute o seguinte comando se quiser manter apenas uma versão mais recente:

sudo paccache -rk 1

Onde k indica manter num de cada pacote no cache.

7. Para remover todas as versões em cache dos pacotes desinstalados, execute novamente o paccache com o sinalizador u:

sudo paccache -ruk0

Onde, o sinalizador u indica os pacotes desinstalados.

8. Você também pode usar o seguinte comando pacman para remover todos os pacotes desinstalados:

sudo pacman -Sc

9. Para remover completamente todos os pacotes (instalados ou desinstalados) do cache, execute o seguinte comando:

sudo pacman -Scc

Tenha cuidado ao usar este comando. Não há como recuperar os pacotes armazenados em cache depois que eles forem excluídos.

Download recomendado - e-book gratuito: "Aprenda Linux em 5 dias"

B. Limpe automaticamente o cache do pacote no Arch Linux

1. Se você estiver com preguiça de limpar o cache do pacote manualmente, você pode automatizar esta tarefa usando ganchos pacman. O gancho do pacman limpará automaticamente o cache do pacote após cada transação pacman.

Para fazer isso, crie um arquivo /etc/pacman.d/hooks/clean_package_cache.hook:

sudo mkdir /etc/pacman.d/hooks
sudo nano /etc/pacman.d/hooks/clean_package_cache.hook

Adicione as seguintes linhas:

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -r

2. Salve e feche o arquivo. De agora em diante, o cache do pacote será limpo automaticamente após cada transação pacman (como atualização, instalação, remoção). Você não precisa executar o comando paccache manualmente todas as vezes.

Para mais detalhes, consulte a seção de ajuda do Paccache executando o seguinte comando:

paccache -h

Leitura relacionada:

  • Ativar download paralelo no Pacman no Arch Linux
  • Como instalar o Paru AUR Helper no Arch Linux
  • Recuperar a lista de espelhos mais recente usando o Reflector no Arch Linux

Conclusão

Neste guia, aprendemos como limpar o cache de pacotes usando o script Paccache e como limpar automaticamente o cache de pacotes com um gancho pacman no Arch Linux. Ambas as ferramentas irão ajudá-lo a manter seu Arch Linux limpo e economizar muito espaço em disco.

Artigos relacionados