Apt-fast melhorado

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

[ Hits: 8.339 ]

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

Eterm alucinante

Restaurar base de dados PostgreSQL

Conversão em massa de arquivos .wav para .mp3

Script para relatório de download de arquivos via Squid

Script de instalação para Pidgin


  

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