APT-FAST: APT-Get super r�pido

Ayer he instalado en mi PC de trabajo Ubuntu 10.10 luego de renegar un par de días con Linux Mint Debian. Tuve mala expereriencia con el último mencionado ya que por alguna razón se instalo con algunos problemas de «estabilidad». Intenté tratar de componerlo pero al último ya había muerto el Xorg por lo que desistí a reinstalar, pero ahora quería probar Ubuntu y cambiar de mi hermoso Linux Mint.

Mientras miraba el sitio de Tutoriales Debian encontré una aplicación que me fascino, se llama apt-fast y permite descargar en varias partes los paquetes al momento de instalar o actualizarlos. Es un script que ayudado de Axel una aplicación de descarga, permite mejorar el apt-get normal y darle mucha velocidad. La ventaja de bajar un paquete en varias partes es que si estamos usando un balanceador de carga, podremos «aumentar» el ancho de banda y tener una super descarga.

El script es sencillo de instalar, los pasos son los siguientes:

Primero instalar Axel

sudo apt-get install axel

Luego copiar el siguiente script en un archivo llamado apt-fast en /usr/local/bin (obtener la última versión del script desde el website de Matt Parnell)

cat /usr/local/bin/apt-fast
# !/bin/sh
# apt-fast v0.03 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
# Travis/travisn000 - support for complex apt-get commands
# Allan Hoffmeister - aria2c support
# Abhishek Sharma - aria2c with proxy support
# Richard Klien - Autocompletion, Download Size Checking (made for on ubuntu, untested on other distros)
# Patrick Kramer Ruiz - suggestions - see Suggestions.txt
# Sergio Silva - test to see if axel is installed, root detection/sudo autorun
# Use this just like apt-get for faster package downloading.
# Check for proper priveliges
[ "`whoami`" = root ] || exec sudo "$0" "$@"
# Test if the axel is installed
if [ ! -x /usr/bin/axel ]
then echo "axel is not installed, perform this?(y/n)"
    read ops
    case $ops in
         y) if apt-get install axel -y --force-yes
               then echo "axel installed"
            else echo "unable to install the axel. you are using sudo?" ; exit
            fi ;;
         n) echo "not possible usage apt-fast" ; exit ;;
    esac
fi
# If the user entered arguments contain upgrade, install, or dist-upgrade
if echo "$@" | grep -q "upgrade|install|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
  # 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 -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^']+" > apt-fast.list && cat apt-fast.list | xargs -l1 axel -a
  # Perform the user's requested action via apt-get
  apt-get $@;
  echo -e "nDone! Verify that all packages were installed successfully. If errors are found, run apt-get clean as root and try again using apt-get directly.n";
else
   apt-get $@;
fi

Darle permisos de ejecución

chmod +x apt-fast

Y listo, luego ya se puede utilizar cambiando apt-get por apt-fast, por ejemplo para instalar Wine se ejecuta:

apt-fast install wine

Espero que lo disfruten

Vía: Debian Tutorials