Melhorando a velocidade de download do Pacman e do Makepkg no ArchLinux
Dica publicada em Linux / Configuração
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.
# 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.
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:
Onde:
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:
#1
Comentário enviado por rootgerr em 26/03/2011 - 09:21h
#2
Comentário enviado por jere2001 em 26/03/2011 - 13:23h
#3
Comentário enviado por julio_hoffimann em 26/03/2011 - 14:01h
#4
Comentário enviado por removido em 26/03/2011 - 15:17h
#5
Comentário enviado por jere2001 em 26/03/2011 - 15:38h
#6
Comentário enviado por removido em 27/03/2011 - 09:50h
#7
Comentário enviado por removido em 21/08/2011 - 01:02h
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.
'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
LightDM: personalizando e instalando o tema do Ubuntu no XUbuntu
Criando músicas no formato AAC (m4a) utilizando o NeroAac
Leitura recomendada
Placa Wireless - Configuração no Notebook LG R410
Atualizando Ubuntu 12.10 para 13.04
Baixar e Instalar o pacote printconf usando o Synaptic no Debian 5.07
Resolvendo problema de vídeo fora de escala e do xorg.conf no Ubuntu 9.10
Comentários
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.
Oi Jeremias, parabéns!
Você pode entrar em contato com os moderadores para que eles corrijam o último trecho da dica.
Abraço!
Você pode entrar em contato com os moderadores para que eles corrijam o último trecho da dica.
Abraço!
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!
* 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!
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".
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+
* 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+
Favoritado!
Acelerou meus downloads aqui.
Muito bom!
Acelerou meus downloads aqui.
Muito bom!
por ambos