Upgrade no Arch Linux usando outro PC com Internet rápida

Para quem tem Internet de baixa velocidade, manter o Arch Linux atualizado é um sacrifício que o usuário terá que fazer. Passar dias constantes a fio usando a Internet somente para conseguir atualizar o sistema. Mas usando outro PC com conexão rápida seu sistema ficará atualizado sem muita demora.

[ Hits: 6.424 ]

Por: Marcos Ferreira em 21/01/2013


Introdução



É chato você passar dias a fio usando Internet lenta para deixar o sistema atualizado, e quando consegue, após dias e até horas/minutos, outro pacote está em nova versão e pronto para ser baixado, levando o usuário a perder mais horas baixando a tal atualização.

Isto ocorre porque o Arch Linux não possui uma versão fixa, pois ele é constantemente atualizado individualmente. Digo individualmente, pois os pacotes não são atualizados todos ao mesmo tempo e sim atualizados individualmente.

No meu caso, como possuo Internet de baixa velocidade, o upgrade de sistema é um desafio que nunca acabará até o momento em que eu consiga ter uma Internet de boa qualidade, ou que eu use outro sistema que não é atualizado constantemente.

Mas pelo menos o Arch Linux não tem data de expiração e você pode atualizar o sistema quando quiser, ou quando um pacote exigir outro mais atualizado. :D

Então vamos ao que interessa. Precisamos utilizar um outro computador que possua uma Internet de alta velocidade para baixar os pacotes em pouco tempo (como o de uma LAN House, por exemplo) e também precisamos preparar o download dos pacotes que o sistema precisa baixar.

Atualizando o banco de dados

Vamos atualizar o banco de dados dos pacotes.

Se o seu PC tem Internet, abra o terminal e use este comando:

sudo pacman -Sy

E se você está sem Internet, use outro computador para baixar o banco de dados.

E quando estiver ao PC, baixe:

Para i686 (32 bits):
Para x86_64 (64 bits):
* Lembre-se: Você deverá baixar os arquivos: core, community e extra.

Os outros, como multilib por exemplo, e os mencionados anteriormente, só devem ser baixados se você usa mais repositórios.

Após baixar os arquivos, pegue-os do PC e copie para algum dispositivo removível, ou algo do tipo, e copie os arquivos do dispositivo para o seu próprio PC. Eu recomendo que você copie os arquivos para a pasta do usuário do seu PC.

Após mover os arquivos para a pasta do usuário (exemplo: /home/marcos), volte ao terminal, nele vamos aplicar o banco de dados. Então aplique o comando:

sudo mv ~/core.db /var/lib/pacman/sync
$ sudo mv ~/core.tar.gz /var/lib/pacman/sync
$ sudo mv ~/extra.db /var/lib/pacman/sync
$ sudo mv ~/extra.tar.gz /var/lib/pacman/sync
$ sudo mv ~/community.db /var/lib/pacman/sync
$ sudo mv ~/community.tar.gz /var/lib/pacman/sync


Se você baixou qualquer outro banco de dados, faça igual ao comando acima e ponha lá o nome do banco de dados baixado, desde que o repositório do banco de dados esteja ativado no pacman.conf.

Pronto, o banco de dados que o Pacman vai utilizar está no local certo. Agora vamos ao terminal e usar este comando:

sudo pacman -Su

Obs.: Veja o resultado do comando acima no meu terminal: http://pastebin.com/ZgPk5xwv

Bom, aqui vai demorar muito para o terminal conseguir atualizar o meu sistema. E como eu, do mundo das conexões lentas, não tenho boa velocidade de Internet disponível, tenho que obedecer o tempo de download.

Mas continuando, agora vamos precisar de outro PC para baixar os arquivos, então a única coisa que precisamos fazer é criar um arquivo contendo os links para download de cada pacote a ser atualizado.

Para isso volte ao terminal e insira o comando:

# cd ~ && pacman -Sup --noconfirm > pkglist

Este comando vai criar um arquivo chamado pkglist, e este arquivo será criado na pasta do usuário. Exemplo: /home/usuário/. Este arquivo é constituído dos links dos pacotes que serão atualizados.

Agora basta pegar o arquivo pkglist gerado pelo comando acima e copiar para o outro computador. Lá você pode abrir o arquivo, pegar os links e jogar um por um no navegador para começar o download.

Instalando as atualizações

Veja o meu exemplo, o meu arquivo pkglist feito pelo comando anterior: http://pastebin.com/kdX1skmL

Repetindo, copie esse arquivo gerado e abra-o em outro computador. Neste arquivo há links e você poderá baixar todos os arquivos num gerenciador de downloads, o que torna o processo mais fácil.

Após ter baixado todos os pacotes através dos links em um gerenciador de downloads, mova todos os arquivos baixados para um dispositivo móvel e depois do dispositivo para o seu computador.

Quando for copiar os arquivos, recomendo que crie uma pasta chamada upgrade dentro da sua pasta do usuário (apenas para organizar). Depois mova todos os pacotes do dispositivo para dentro da pasta upgrade.

Agora, o que vamos fazer é mover todos os arquivos para o cache, para quando aplicarmos o comando pacman -Su, o Pacman procure pelo pacote no cache e trate ele como se você tivesse baixando em seu próprio computador.

Resumindo, vamos mover os arquivos da pasta upgrade para a pasta cache do Pacman. Então aplique o comando abaixo:

cd ~/upgrade
$ sudo mv * /var/cache/pacman/pkg/


Bom, agora para finalizar, aplique o último comando no terminal:

sudo pacman -Su

Aí será perguntado se você quer atualizar e substituir pacotes conflitantes.

Digite a tecla 'S' ou 'Y', e veja o seu sistema ficar totalmente atualizado.


Então, espero ter ajudado.

E se eu errei em algo, me corrijam. Valeu!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Configurando Resolução de Vídeo e Taxa de Atualização via Terminal

Problema do navegador Opera com temas GTK+2 escuros [Resolvido]

Jogos PS1 no emulador ePSXe - Sem lags em placas lentas

Leitura recomendada

Criando um invejável serviço de backup em CD-R com gravação multi-sessão

Uma pequena introdução ao Assembly para Linux

VPN com Openswan e Iptables (fazendo NAT)

Fish - Um shell fácil de usar

Linux e o ensino da sociedade

  
Comentários
[1] Comentário enviado por eldermarco em 21/01/2013 - 14:53h

Muito criativo! Dessa maneira, é possível escrever dois pequenos scripts que lidam com o banco de dados, geram a lista de pacotes e depois baixam os pacotes na outra máquina. Muito bom!

[2] Comentário enviado por M4rQu1Nh0S em 22/01/2013 - 15:05h

É otimo ter um sistema atualizado e evitar danos e ter suporte disponivel quando precisar!
Agora as pessoas vão ter um motivo a menos pra se desculpar em usar o Linux Arch.

caso alguem tente fazer o upgrade com o comando pacman -Su e se o terminal começar a baixar o tal pacote, sendo que já esteja dentro do cache, verifique se o pacote foi atualizado no servidor do Archlinux/AUR e compare com o arquivo existente com o que esta sendo baixado.

Se o pacote que o terminal esta baixando é exatamente o mesmo, ao invez de fazer pacman -Su, entre no diretório do cache do pacman com o comando:

$ cd /var/cache/pacman/pkg/

depois use este comando:
$ sudo pacman -U *.tar.xz

isso irá instalar/atualizar os pacotes que estão no site. se aparecer problemas com tal pacote, baixe novamente e ponha no cache.

Muito Obrigado por comentar, eldermarco! :)

[3] Comentário enviado por removido em 22/01/2013 - 16:52h

Antes de rodar:

# pacman - U *.tar.xz

E importante limpar os pacotes obsoletos com:

# pacman -Sc --noconfirm

[4] Comentário enviado por Jullyanna em 23/01/2013 - 01:24h

Tem como fazer isso no Ubuntu 12.04?

[5] Comentário enviado por M4rQu1Nh0S em 23/01/2013 - 02:07h


[3] Comentário enviado por ziggy em 22/01/2013 - 16:52h:

Antes de rodar:

# pacman - U *.tar.xz

E importante limpar os pacotes obsoletos com:

# pacman -Sc --noconfirm


nossa! eu esqueci desse detalhe ziggy!
pena que eu não posso editar nada :(

mas mesmo assim muito obrigado! isso foi muito util!



[4] Comentário enviado por Jullyanna em 23/01/2013 - 01:24h:

Tem como fazer isso no Ubuntu 12.04?


bom, jullyanna. eu deixei de ser usuário do ubuntu há meses.
infelizmente eu não sei como fazer isso no ubuntu e nem se quer sei se isso é possível!
Ahhh como o ubuntu é famoso no brasil (pelo menos quando se fala em Linux), acho que há muitos tutoriais que ensinam a atualizar o ubuntu em offline, creio que no VOL haja um tutorial assim. então é procurar e cruzar os dados para dar certo!

Obrigado por comentar

[6] Comentário enviado por corvolino em 24/01/2013 - 03:43h

Parabéns pelo artigo! :)

[7] Comentário enviado por enricolo4 em 24/01/2013 - 04:15h

jullyanna ve se eh isso que vc precisa http://www.vivaolinux.com.br/topico/Duvidas-em-Geral/Script-de-download-do-SYNAPTIC

[8] Comentário enviado por M4rQu1Nh0S em 24/01/2013 - 14:59h

apesar de não ter acesso ao post e poder edita-lo, eu publiquei este post no só dicas:

http://www.so-dicas.info/linux/arch-linux/upgrade-no-arch-linux-usando-outro-pc-com-internet-rapida/...

eu levei a consideração esses comentários aqui e atualizei o post...
lembrando que este post estará publicado no dia 28/04 pois já existem outros posts meus agendados :D. Então vocês podem apenas prever o post sem poder fazer comentários por lá até esse dia, então os comentários podem ser postados por aqui mesmo pois estarei monitorando.

[9] Comentário enviado por Gabriel_Silva em 27/01/2013 - 06:00h

Juliana no ubuntu é fácil é assim:

apt-get update && apt-get upgrade && apt-get -f install && apt-get autoclean && apt-get autoremove && apt-get purge


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts