Autor: Thiago Marangoni Zerbinato [thiagomz]
eMail: lethaltux[NOSPAM]yahoo.com.br
Data: 2003
Introdução
Quando comecei a utilizar a Debian me deparei com um enorme problema, o apt-get. Ele é
maravilhoso, realmente é um dos pontos fortes desta distribuição, mas não para quem tem uma
conexão discada 56k, ja que a maioria dos pacotes estão em repositórios na internet e infelizmente ainda
hoje no Brasil a maioria das pessoas não tem acesso a Banda Larga, como eu ;), e assim fica dificil baixar
megas e megas dos repositórios da Debian na net, mas sempre tem um jeitinho de contornar esse
tipo de problema.
Começando
Vamos supor que você tenha a debian versão 3.0r0 e queira atualiza-la para 3.0r1, a ultima versão estável (11/04/2003), para isso farÃamos:
% vi /etc/apt/source.list
Certifique-se que o repositório da debian stable encontra-se no source.list
deb ftp://ftp.linorg.usp.br/debian woody main contrib non-free
deb ftp://ftp.linorg.usp.br/debian-non-US woody/non-US main contrib non-free Para atualizarmos rodarÃamos um:
% apt-get -u upgrade
Ai que o problema começa, já pensou ter que baixar 100mb em um modem 56k ! Inviável né!
O que podemos fazer é obter a lista de pacotes necessários juntamente com o link do arquivo, ir na casa de nosso vizinho que tem banda larga ou no trampo ;) e puxar tudo, para isso faça:Antes de tudo:
% apt-get update
% apt-get -qq --print-uris upgrade
O retorno seria algo assim:
'http://ftp.debian.org/debian/pool/main/c/cdparanoia/libcdparanoia0_3a9.8-7_i386.deb'
libcdparanoia0_3a9.8-7_i386.deb 61130 48f61d5b3727c49682e84cac197dea68
'http://ftp.debian.org/debian/pool/main/g/gnome-vfs2/libgnomevfs2-common_2.2.3-2_i386.deb'
libgnomevfs2-common_2.2.3-2_i386.deb 415178 5237d3d071112ae83d7bf7ed820cce22
'http://ftp.debian.org/debian/pool/main/f/fam/libfam0c102_2.6.9-4_i386.deb'
libfam0c102_2.6.9-4_i386.deb 19646 5e417dfbbec74b8a5039539dbade7130
Vamos direcionar a saÃda para um arquivo
% apt-get -qq --print-uris upgrade >> fonte.txt
Agora precisamos obter somente as URLs.
No Windows 2000/XP,
Testei no NT 4.0 da empresa e funcionou, não testei no 2000/XP mas deve funcionar, faça:
c:\>for /f "delims='" %i in (fonte.txt) do @echo %i
O parâmetro delims=' significa que o for vai pegar somente o que esta entre ' (aspas simples fica junto com " no teclado)
O parâmetro @echo %i escreve as urls na tela assim:
http://ftp.debian.org/debian/pool/main/c/cdparanoia/libcdparanoia0_3a9.8-7_i386.deb
http://ftp.debian.org/debian/pool/main/g/gnome-vfs2/libgnomevfs2-common_2.2.3-2_i386.deb
http://ftp.debian.org/debian/pool/main/f/fam/libfam0c102_2.6.9-4_i386.deb
Agora é só direcionar para um arquivo.
c:\>for /f "delims='" %i in (fonte.txt) do @echo %i >> baixar.txt
Agora para baixar os arquivos pegue o wget for windows em (http://mod-extreme.kit.net/wget.exe)
c:\>wget -i baixar.txt
Outra forma seria:
c:\>for /f "delims='" %i in (fonte.txt) do @echo %i | wget -c %i
No Linux
Usando o comando "sed", faça:
% sed "s/'\(.*\)'.*/\1/" fonte.txt >> url.txt |wget -c -i url.txt
Agora que você tem todos os arquivos .deb é só coloca-los na pasta da sua DEBIAN em:
% cd /var/cache/apt/archives/
Ou criar um repositório local, vide o manual do amigo kov em: http://www.debian-br.org/view.php?doc=apt-howto-pt_BR
% apt-get -u upgrade
Com isso o apt "acha" que já baixou os pacotes e começa a atualização ;)