Pular para o conteúdo

Apt-fast - turbinando o apt-get em distros Debian-like

Este artigo visa a alterar a forma como o apt-get do Debian e derivados se comporta ao baixar e instalar pacotes.
edps edps
Hits: 29.619 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar

Introdução

Este artigo visa alterar a forma como o apt-get do Debian Linux e derivados se comporta ao baixar e instalar pacotes. O apt-fast nada mais é do que um script que utiliza o acelerador de downloads "axel", disponível no repositório oficial do Debian.

Após adotá-lo como padrão, notei que os downloads do pacotes ficaram muuuuito mais rápidos. Segundo o autor do script, às vezes o download fica mais rápido em até 26 vezes. Acho que não chega a tanto, mas ressalto que é muito útil.

Primeiro, vejamos a instalação do acelerador de downloads "axel":
Linux: apt-fast - turbinando o apt-get em distros Debian-like
apt-get install axel ou aptitude install axel

Agora, fazemos o download do script apt-fast:
Linux: apt-fast - turbinando o apt-get em distros Debian-like
wget -c http://www.mattparnell.com/linux/apt-fast/apt-fast.sh
sudo cp apt-fast.sh /usr/bin/apt-fast
$ sudo chmod +x /usr/bin/apt-fast


Vamos criar o script apt-fast (opcional):
Linux: apt-fast - turbinando o apt-get em distros Debian-like
nano apt-fast Cole o conteúdo abaixo dentro do arquivo, em seguida tecle CTRL+O (enter) e CTRL+X (sair).

#!/bin/sh
#apt-fast by Matt Parnell http://www.mattparnell.com , this thing is FOSS
#please feel free to suggest improvements to admin@mattparnell.com
# Use this just like apt-get for faster package downloading. Make sure to have axel installed

#If the first user entered variable string contains apt-get, and the second string entered is either install or dist-upgrade
if echo "$1" | grep -q "[upgrade]" || echo "$2" | grep -q "[install]" || echo "$2" | grep -q "[dist-upgrade]"; then
echo "Working...";

#Go into the directory apt-get normally puts downloaded packages
cd /var/cache/apt/archives/;

#Have apt-get print the information, including the URI's to the packages
apt-get -y --print-uris $1 $2 $3 $4 > debs.list;

#Strip out the URI's, and download the packages with Axel for speediness
egrep -o -e "(ht|f)tp://[^\']+" debs.list | xargs -l1 axel -a;

#Perform the user's reqested action via apt-get
apt-get -y $1 $2 $3 $4;

echo "Done! Make sure and check to see that the packages all were installed properly. If a package is erred, run sudo apt-get autoclean and try installing it again without the use of this script.";

elif echo "$1" | grep -q "[*]"; then
apt-get $1;
else
echo "Sorry, but you appear to be entering invalid options. You must use apt-get and one of apt-get's options in order to use this script.";
fi

Agora retornaremos ao apt-fast executável e o moveremos para a pasta /usr/bin.

sudo chmod +x apt-fast & sudo mv apt-fast /usr/bin

   1. Introdução
   2. Utilização do apt-fast

kernel-ck para Arch Linux

PacmanXG, excelente frontend para o Pacman

Tor no Debian Squeeze - Instalação e Configuração

FAI (Fully Automatic Installation)

VirtualBox no GNU/Linux - Instalação manual

Instalação e configuração do Nagios

Instalar programas no Linux é mais fácil?

Enviando mensagens para celulares TIM através de script

Montando seu Linux a partir do fonte (método fácil)

Experimento: Transformando openSUSE 12.3 Tumbleweed em 13.2 Factory Milestone 0

#1 Comentário enviado por volcom em 27/01/2010 - 15:24h
Show de Bola!

Parabéns!

Simples e direto...

Abraço
#2 Comentário enviado por removido em 27/01/2010 - 16:18h
Testei localmente e no meu servidor de hospedagem...

Realmente acelera muito, mas muito mesmo o apt-get. Eu uso com frequência o comando:

apt-get update; apt-get dist-upgrade -y

trocando pelo

apt-fast update; apt-fast dist-upgrade -y

a diferença de velocidade foi muito perceptiva. Não tive como medir mas foi muito, mas muito mais rápido que o jeito tradicional mesmo!

Compensa cada um testar e tirar as próprias conclusões, tenho certeza que serão muito positivas!
#3 Comentário enviado por filipo_tardim em 28/01/2010 - 02:17h
Aqui não deu muito certo não. Ficou quase 10 minutos baixando arquivos para dentro de /var/cache/apt/archives. Uso o Ubuntu 9.10 64 bits.
#4 Comentário enviado por removido em 28/01/2010 - 10:17h
root@newrope-linuxpc:/home/newrope# wget -c http://www.mattparnell.com/linux/apt-fast/apt-fast.sh
--2010-01-28 10:17:21-- http://www.mattparnell.com/linux/apt-fast/apt-fast.sh
Resolvendo www.mattparnell.com... 208.113.192.59
Conectando-se a www.mattparnell.com|208.113.192.59|:80... conectado!
HTTP requisição enviada, aguardando resposta... 403 Forbidden
2010-01-28 10:17:25 ERRO 403: Forbidden.

root@newrope-linuxpc:/home/newrope#

deu esse erro
#5 Comentário enviado por removido em 28/01/2010 - 12:08h
filipo_tardim, antes de usar o apt-fast com os comandos (install, upgrade e dist-upgrade) e opções (-d, -y, -s) é sempre bom e prudente rodar o apt-get upgrade ou apt-get dist-upgrade sem a opção -s, para checar o que será feito, tendo feito isto, você saberá o tamanho do download (no seu caso) e o que será baixado, instalado ou REMOVIDO, o que é mais importante.

O uso da opção -y ao mesmo tempo que é útil a torna perigosa, pois o apt-get assumirá como SIM para todas as perguntas, o que poderá comprometer seu sistema.

Espero ter ajudado!.
#6 Comentário enviado por removido em 28/01/2010 - 12:08h
giuliubuntu, eu até tive o mesmo problema, mas no meu caso era o filtro do squid que bloqueava o download da extensão .sh.
Tente copiar e colar o link num navegador para ver o que ocorre.
#7 Comentário enviado por maran em 28/01/2010 - 21:03h
Animal, favoritos!
#8 Comentário enviado por removido em 29/01/2010 - 12:52h
Meu caro, pelo wget nao deu certo, copie e cole o link no navegador que da certo. faça o download
#9 Comentário enviado por removido em 29/01/2010 - 12:55h
500kbs de download no apt-fast. Muitooo bom
#10 Comentário enviado por msajunior em 19/04/2010 - 15:53h
Interessante, vou testa-lo!

Obrigado!
#11 Comentário enviado por JoseLucas em 25/04/2010 - 21:48h
Fiz um teste simples entre o axel x wget baixando o arquivo de teste da oi [arquivos.com.br que é full host] e com o axel a velocidade estava estabilizada em 457kBps quando usei wget ficou exatamente em 471kBps. Alguém mais ai tem valores pra comparar?
#12 Comentário enviado por allen.konstanz em 27/04/2010 - 16:22h
Acelera mesmo! Muito bom!
#13 Comentário enviado por LucasPinheiro23 em 07/04/2013 - 11:08h
Achei bem interessante esse script...
Testarei no meu Ubuntu 12.04 e postarei os resultados aqui! :)
E a propósito: excelente matéria! :D

Contribuir com comentário

Entre na sua conta para comentar.