Melhorando a velocidade de download do Pacman e do Makepkg no ArchLinux

Publicado por Jeremias Alves Queiroz em 25/03/2011

[ Hits: 12.445 ]

 


Melhorando a velocidade de download do Pacman e do Makepkg no ArchLinux



O Pacman é um ótimo gerenciador de pacotes, muito rápido e funcional. O problema é quando a internet não está lá aquelas coisas. Se o download demorar, não adianta que o gerenciador de pacotes seja rápido, o procedimento demorará como um todo.

Nesse ponto o Pacman é campeão entre os gerenciadores de pacotes por permitir que o usuário utilize uma ferramenta de download independente para baixar os pacotes. Nessa dica quero demonstrar dois procedimentos que ajudam a melhorar grandemente a velocidade de downloads dos pacotes.

Primeiramente vamos aprender a escolher os melhores mirrors, complementando a dica do colega Edinaldo P. Silva, Escolhendo os melhores mirrors pro seu Arch Linux.

Depois de escolher os melhores mirrors, utilizaremos aquele que considero o melhor gerenciador de downloads para o GNU/Linux o singelo Axel, que tem uma dica sobre ele também publicada pelo colega Edinaldo P. Silva, Axel: alternativa ao wget, aliás foi através dessa dica que conheci esse fantástico gerenciador.

Escolhendo os mirrors

Antes de tudo faça o backup da sua lista atual no diretório /etc/pacman.d/:

# cp mirrorlist mirrorlist.backup

Agora acesse:
Na caixa "Country" escolha os locais que você considera mais próximos, pode escolher uma boa quantidade, eu escolhi países na América (Brasil, Estados Unidos, Colômbia e Chile), para escolher os países aleatoriamente é só manter pressionada a tecla Ctrl enquanto clica nos nomes dos locais.

Marque a caixa de seleção "Use mirror status:" e clique em "Generate list" copie todo o conteúdo que aparecer e cole em um arquivo de texto que você deve salvar na pasta /etc/pacman.d/ salve com um nome de sua preferência, eu utilizo "mirrorlist.atual".

Agora para descomentar os mirrors execute:

# sed '/^#\S/ s|#||' -i mirrorlist.atual
(utilizando o nome do arquivo que você escolheu)

Agora para escolher os melhores mirrors execute:

# rankmirrors -n 10 mirrorlist.backup > mirrorlist

Onde "-n 10" é o número de mirrors que você quer selecionar, nesse caso os 10 melhores mirrors serão escolhidos.

Aqui termina a primeira parte da dica. É interessante de tempos em tempos refazer o procedimento, pois a lista disponível no archlinux.org é atualizada constantemente, e sempre tem algum servidor novo aparecendo ou o status de algum servidor pode mudar.

Fazendo o download dos pacotes com o Axel

Agora na segunda parte da dica é onde pode-se notar uma grande diferença.

Com o Axel instalado no sistema:

# pacman -Sy axel

Edite o arquivo pacman.conf com seu editor de texto:

# emacs /etc/pacman.conf

Procure logo na seção General Options a linha:

#XferCommand = /usr/bin/wget -c --passive-ftp -c %u

Descomente-a e altere-a conforme indicado:

XferCommand = /usr/bin/axel -S -v -a -o %o %u

Onde:
  • -S = procura os melhores mirros
  • -v = (verbose) mostra detalhes da operação, é importante, pois se houver alguma falha, você pode voltar a comentar a linha citada fazendo o pacman
  • funcionar como antes.
  • -a = mostra uma barra de progresso horizontal
  • -o %o %u = salva os pacotes no local correto

Agora edite o arquivo makepkg.conf com seu editor de texto:

# emacs /etc/makepkg.conf

Procure na seção "SOURCE ACQUISITION" essas linhas:

DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -c %u'
          'http::/usr/bin/wget -c --passive-ftp -c %u'
          'https::/usr/bin/wget -c -t 3 -- waitretry=3 --no-check-certificate -O %o %u'
          'rsync::/usr/bin/rsync -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

Altere para:

DLAGENTS=('ftp::/usr/bin/axel -S -v -a -o %o %u'           'http::/usr/bin/axel -S -v -a -o %o %u'
          'https::/usr/bin/wget -c -t 3 -- waitretry=3 --no-check-certificate -O %o %u'
          'rsync::/usr/bin/rsync -z %u %o'
'scp::/usr/bin/scp -C %u %o')

Bem simples não?

Pronto, agora é só botar pra funcionar, aqui em casa eu obtive um ganho de velocidade na casa dos 40%. Porém tem alguns pacotes onde, eventualmente, esse procedimento pode não funcionar (LibreOffice). Nesse caso eu simplesmente comento novamente a linha no pacman.conf, depois volto.

Outras dicas deste autor

Quake 2 no Ubuntu 10.10

Criando músicas no formato AAC (m4a) utilizando o NeroAac

AmuleD - Utilizando o Amule como um daemon no Arch Linux

LightDM: personalizando e instalando o tema do Ubuntu no XUbuntu

Corrigindo ícones da interface web do Transmission Daemon

Leitura recomendada

Resolvendo falta do libkrb5.so no Arch Linux

Rodando arquivos RMVB no TOTEM

Instalando fontes básicas para o Wine

Configurando Speedy no Conectiva 10

Backup do servidor via SSH sem senha

  

Comentários
[1] Comentário enviado por rootgerr em 26/03/2011 - 09:21h

Já a utilizo, desde que a vi la no forum do arch muito boa sua dica estava pensando em coloca-la aqui no vol (citando a fonte claro) mas me poupou o trabalho grato
por ambos


[2] Comentário enviado por jere2001 em 26/03/2011 - 13:23h

Na verdade eu postei a dica aqui no VOL duas semanas antes de postar no Fórum, porém aqui no VOL há uma certa demora para a dica/artigo ser publicada, por isso parece que postei primeiro lá no Fórum, mas não foi o caso.

[3] Comentário enviado por julio_hoffimann em 26/03/2011 - 14:01h

Oi Jeremias, parabéns!

Você pode entrar em contato com os moderadores para que eles corrijam o último trecho da dica.

Abraço!

[4] Comentário enviado por removido em 26/03/2011 - 15:17h

excelente dica e favoritada!

* fiz uma dica com o propósito de escolher o melhore mirror para o Arch:

http://www.vivaolinux.com.br/dica/Escolhendo-os-melhores-mirrors-pro-seu-Arch-Linux/

mas a sua tem um complemento muito interessante, o axel. até hoje usava o wget porque com net 3G os pacotes baixados se corrompiam com frequência e muitas das vezes o download tinha que ser reiniciado, vou testar logo mais com o axel.

parabéns!

[5] Comentário enviado por jere2001 em 26/03/2011 - 15:38h

A parte sobre a escolha de Mirrors apenas complementa a sua dica, como já está exposto no texto. No caso os complementos são os comandos para descomentar as linhas e o comando para escolher os melhores mirrors o "rankmirrors".

[6] Comentário enviado por removido em 27/03/2011 - 09:50h

pacman na 'velocidade da luz' com sua dica!

* perdoe-me o comentário anterior é que fui direto ao ponto (Escolhendo os mirrors) e não li as citações às minhas dicas.

t+

[7] Comentário enviado por removido em 21/08/2011 - 01:02h

Favoritado!
Acelerou meus downloads aqui.

Muito bom!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts