Apt-fast melhorado

Publicado por Jakson de Oliveira Lima (última atualização em 23/04/2010)

[ Hits: 8.077 ]

Homepage: não tenho

Download apt-fast




Há algum tempo vi aqui no VOL o script apt-get, que usa o gerenciador de downloads Axel para baixar os arquivos e com isso obtém ganhos superiores a 10x na velocidade o apt-get convencional.

De fato ele acelera muito, mas era muito imperfeito, não dava para ver as alterações do sistema e baixava os pacotes antes mesmo do usuário confirmar a ação, então resolvi melhorá-lo, dando a ele uma pré-visualização dos pacotes que serão instalados/removidos, bem como a opção de cancelar antes de baixar qualquer coisa.

Agora ele está mais aportuguesado e pronto para ser usado.

Veja o artigo original o apt-fast em:

http://www.vivaolinux.com.br/artigo/Aptfast-turbinando-o-aptget-em-distros-Debianlike

  



Esconder código-fonte

# !/bin/sh
# apt-fast v0.02 by Matt Parnell http://www.mattparnell.com, this thing is fully open-source
# if you do anything cool with it, let me know so I can publish or host it for you
# contact me at admin@mattparnell.com

# Special thanks to Travis/travisn000 from the PCLinux Forums for making improvements that allow
# for more complex apt-get commands. See the thread: http://www.pclinuxos.com/forum/index.php/topic,66385.0.html

# Use this just like apt-get for faster package downloading. Make sure to have axel installed.

# If the user entered arguments contain upgrade, install, or dist-upgrade
if echo "$@" | grep -q "upgrade\|install\|dist-upgrade"; then
  echo "Trabalhando...";

  # 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
  # Strip out the URI's, and download the packages with Axel for speediness
  # I found this regex elsewhere, showing how to manually strip package URI's you may need...thanks to whoever wrote it
  apt-get -s $@ > modifica.list
  grep -v Inst modifica.list | grep -v Conf | grep -v Remv
  echo "Deseja Continuar? (s/n)" ; read confirma
  if [ "$confirma" = "s" ]
   then
     apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && cat apt-fast.list | xargs -l1 axel -a
         apt-get -y $@;
   else
    exit
  fi
  # Perform the user's requested action via apt-get

else
   apt-get $@;
fi

Scripts recomendados

ShellBase - Templates Profissionais para o seu Shell Script

Instalação do LibreOffice 64 bits no Ubuntu

Enciclopédia em Shell-Script

Monitorar Funcionamento do Apache

Proxy


  

Comentários
[1] Comentário enviado por fearn_alquimista em 12/05/2010 - 11:00h

Jakson, muito bom esse script. Eu só adicionaria o seguinte no início do arquivo:

#Testa se o acelerador de downloads esta instalado
if [ ! -x /usr/bin/axel ]
then echo "O acelerador de downloads axel nao esta instalado, deseja instala-lo?(s/n)"
read ops
case $ops in
s) if apt-get install axel -y --force-yes
then echo "O acelerador de downloads axel esta agora instalado"
else echo "nao foi possivel instalar o acelerador axel. Voce esta usando o sudo?" ; exit
fi ;;
n) echo "Ok entao nao sera possivel utilizar o apt-fast" ; exit ;;
esac
fi

Pois assim o usuário leigo não precisaria saber que tem de instalar o axel antes de utilizar o script, pois o mesmo já testaria se o acelerador está instalado ou não, beleza?

Abração

[2] Comentário enviado por anjowercost em 09/12/2010 - 17:02h

Agora se vc quiser Ferrar d vez com a sua banda entao meu amigo e so fazer uma pequena modificacao q achei naqueles momentos de ócio aqui vai

axel e um acelerador e por padrao faz 4 conexões então aumente as conexões para o tanto q vc quiser colocando isso

--------------------------------------------------------------------------------------------------------------------

if [ "$confirma" = "s" ]
then
apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && cat apt-fast.list | xargs -l1 axel -n X -a <-------------------------------------------------------------------------
apt-get -y $@;
else
exit
fi
# Perform the user's requested action via apt-get
______________________________________________________________________________-
No lugar daquele X coloque o numero de conexôes tipo axel -n 10 -a
cmg funcionou um download com quatro conexões chegava a 200kbps com "umas" a mais chegou 1,4Mbps
façam bom proveito!
Espero ter Ajudado...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts