Entendendo o cache do apt e transportando os arquivos

Ao instalar qualquer pacote, o apt primeiro baixa o arquivo, para só depois fazer a instalação. Isso evita problemas causados por instabilidade ou quedas na conexão, uma vez que se a conexão cai, ou o processo é interrompido durante o download, a instalação sequer é iniciada. O apt é capaz também de continuar os downloads em caso de interrupção e de baixar vários pacotes simultaneamente, aproveitando ao máximo a banda da conexão.

Todos os pacotes baixados são salvos na pasta “/var/cache/apt/archives/” e continuam lá mesmo depois de instalados. Com o tempo, o cache passa a ocupar uma dose generosa de espaço no HD, o que pode se tornar um problema se você reservou uma partição pequena para a instalação do sistema. Existem duas opções para limpar a casa. A primeira, mais contida, é usar a opção:

# apt-get autoclean

Ela remove apenas pacotes antigos ou duplicados, mantendo só as versões mais recentes, que realmente têm chance de serem usadas. Ela é uma boa opção se você tem o hábito de atualizar o sistema com frequência, já que “limpa” o cache, eliminando todas as versões antigas dos pacotes.

A segunda opção, usada quando você quer realmente limpar o cache, eliminando todos os pacotes salvos é a:

# apt-get clean

Ela equivale a usar o “rm -f /var/cache/apt/archives/*.deb”, uma solução rápida para casos em que você precisa liberar espaço no HD com urgência.

Complementando, temos a pasta “/var/lib/apt/lists/“, que armazena as listas de pacotes, que são baixadas ao rodar o “apt-get update”.

Sempre que você inicia a instalação de algum pacote, o apt começa verificando o conteúdo da pasta “/var/lib/apt/lists/” em busca de informações sobre o pacote solicitado (número da versão atual, nome do arquivo, etc.), verifica se o arquivo já não está disponível na pasta “/var/cache/apt/archives/” e, caso não esteja, executa o processo normal de download.

Como deve estar imaginando, é possível fazer backup destas duas pastas de forma a preservar o cache do apt-get depois de reinstalar o sistema, ou mesmo para instalar os pacotes já baixados em outras máquinas, como no caso de alguém que tem banda larga na escola ou no trabalho, mas acessa via modem discado em casa, por exemplo. Basta fazer backup do conteúdo das duas pastas e restaurá-las no outro PC.

Você pode fazer os backups rapidamente usando o tar. Os dois comandos abaixo criam os arquivos “lists.tar” e “archives.tar” no diretório atual:

$ tar -cvf lists.tar /var/lib/apt/lists/
$ tar -cvf archives.tar /var/cache/apt/archives

Você pode notar que não estou usando o parâmetro “z” do tar, que geraria arquivos compactados, pois, como o arquivo incluirá pacotes .deb (que já são arquivos compactados), isso só serviria para tornar a criação dos arquivos mais demorada.

Para restaurar os backups na outra máquina, você precisaria apenas executar (dentro do diretório com os dois arquivos) os comandos:

# tar -xvf lists.tar --directory /
# tar -xvf archives.tar --directory /

A opção “–directory /” faz com que os arquivos sejam desempacotados no diretório raiz, de forma que sejam restaurados nas pastas corretas. Sem isso, eles seriam extraídos dentro do diretório onde o comando foi executado, criando algo como “/home/gdh/tmp/var/cache/apt/archives”, em vez de “/var/cache/apt/archives”.

Para que os arquivos sejam realmente usados, é importante que as duas máquinas estejam rodando a mesma distribuição (afinal, pacotes do Debian Etch não seriam de muita utilidade no Ubuntu 9.04, por exemplo) e, igualmente importante, devem estar configuradas para utilizarem os mesmos repositórios no arquivo “/etc/apt/sources.list”. Uma boa maneira de se certificar disso, é simplesmente incluir o arquivo no backup e restaurá-lo na outra máquina junto com os outros arquivos.

Para facilitar, você pode usar meu script, que está disponível no:
https://www.hardware.com.br/dicas/script-kokar.html

Ele automatiza o processo, permitindo gerar um arquivo ISO, que você pode gravar em CD, ou simplesmente transportar em um pendrive e montar na outra máquina. O arquivo inclui um script de recuperação, que automatiza a restauração. A ideia central é a mesma que era usada no Kurumin, para gerar o CD do Kokar, mas nesse caso aplicada a outras distribuições.

Você pode baixar novos pacotes para o cache, sem instalá-los, usando a opção “-d” do apt-get, que vimos anteriormente. Basta executar os comandos para instalar os pacotes desejados, incluindo a opção, como em:

$ sudo apt-get install -d kubuntu-desktop

Isso permite que você use outra máquina para baixar os pacotes que deseja incluir no backup, sem precisar realmente instalá-los.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X