A abordagem simples
Se você estiver usando outra máquina, uma que esteja conectada à Internet, para atualizar seu computador de destino, basta usar o mesmo arquivo sources.list
nas duas máquinas, executar apt-get update
e depois copiar as listas de pacotes :
$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.orig
$ sudo mv target_computer_sources.list /etc/apt/sources.list
$ sudo apt-get update
apt
armazena suas listas de arquivos de repositório em /var/lib/apt/lists/
, então, depois de executar o comando acima, você pode copiar tudo em /var/lib/apt/lists/
para a máquina de destino e reverter para o original sources.list
:
$ sudo mv /etc/apt/sources.list.orig /etc/apt/sources.list
A maneira complexa
Por qualquer motivo, o método acima não funciona para você, você pode fazer do jeito que estava sugerindo, basta analisar a saída de apt-get update --print-uris
. O seguinte é do meu sistema LMDE, mas a idéia é a mesma:
$ sudo apt-get update --print-uris -y | head
'ftp://ftp.debian.org/debian/dists/testing/main/source/Sources.bz2' ftp.debian.org_debian_dists_testing_main_source_Sources 0 :
'ftp://ftp.debian.org/debian/dists/testing/contrib/source/Sources.bz2' ftp.debian.org_debian_dists_testing_contrib_source_Sources 0 :
'ftp://ftp.debian.org/debian/dists/testing/non-free/source/Sources.bz2' ftp.debian.org_debian_dists_testing_non-free_source_Sources 0 :
'ftp://ftp.debian.org/debian/dists/testing/InRelease' ftp.debian.org_debian_dists_testing_InRelease 0
'http://packages.linuxmint.com/dists/debian/main/source/Sources.bz2' packages.linuxmint.com_dists_debian_main_source_Sources 0 :
'http://packages.linuxmint.com/dists/debian/upstream/source/Sources.bz2' packages.linuxmint.com_dists_debian_upstream_source_Sources 0 :
'http://packages.linuxmint.com/dists/debian/import/source/Sources.bz2' packages.linuxmint.com_dists_debian_import_source_Sources 0 :
'http://packages.linuxmint.com/dists/debian/main/binary-amd64/Packages.bz2' packages.linuxmint.com_dists_debian_main_binary-amd64_Packages 0 :
'http://packages.linuxmint.com/dists/debian/upstream/binary-amd64/Packages.bz2' packages.linuxmint.com_dists_debian_upstream_binary-amd64_Packages 0 :
'http://packages.linuxmint.com/dists/debian/import/binary-amd64/Packages.bz2' packages.linuxmint.com_dists_debian_import_binary-amd64_Packages 0 :
Na saída acima, o primeiro campo é o URL e o segundo é o nome no qual o arquivo será salvo. Como mencionei antes, apt
armazena suas listas de arquivos de repositório em /var/lib/apt/lists/
, você pode verificar isso executando locate
em um dos dois campos acima:
$ locate packages.linuxmint.com_dists_debian_main_source_Sources
/var/lib/apt/lists/packages.linuxmint.com_dists_debian_main_source_Sources
Portanto, se você quiser fazer o download e atualizar cada uma dessas listas, será necessário analisar a saída de apt-get update --print-uris
e informar wget
para usar o segundo campo como o nome da saída:
$ sudo apt-get update --print-uris -y | sed "s/'//g" | cut -d ' ' -f 1,2 |
while read url target; do wget $url -O ./$target; done
Isso fará o download de cada lista de pacotes e salvará no diretório atual usando o nome apropriado. Agora você pode copiar esses arquivos para o diretório /var/lib/apt/lists/
da máquina de destino.