Eu mantenho vários computadores não conectados à Internet que estão executando o Arch Linux. Acho útil criar um repositório local que espelhe parcialmente os repositórios típicos do Arch. Eu mantenho este repositório em uma unidade USB que utilizo para atualizar os computadores, fazendo as alterações apropriadas em pacman.conf
. Eu crio o repositório gerando um ListOfPackages
que contém os nomes de todos os pacotes (ou grupos de pacotes) que foram instalados diretamente nos computadores, mas não pacotes que são puxados como dependências. A unidade USB é montada em / mnt. Eu então faço
sudo pacman --dbpath /tmp --noconfirm -Syw ${ListOfPackages} --cachedir /mnt
for package in /mnt/*.pkg.tar.xz; do
gpg --batch --yes -sb ${package}
repo-add -v -s -q strongbad.db.tar.gz ${package}
done
que gera o repositório strongbad
. O problema surge quando é hora de atualizar o repositório. Normalmente eu simplesmente apago tudo e começo de novo para evitar manter versões antigas e dependências desnecessárias, mas isso é um grande desperdício de largura de banda. Existe uma boa maneira de atualizar os pacotes e o repositório que minimiza o número de pacotes baixados e limpos?