domingo, 5 de agosto de 2012

APT más rápido en los (dist-)upgrade

Este es otro tips que tengo para lograr descargar más rápido los paquetes cuando se hacen los (dist-)upgrade de, en mi caso, ubuntu.

Estos pasos sirven también cuando lo que se quiere es descargar solo los paquetes y hacer el (dist-)upgrade en otro momento (ojo, que cuando se quiera hacer el (dist-)upgrade puede que hayan paquetes nuevos y estos deberán ser descargados).

Los pasos serían los siguientes:

1.- Ganar privilegios


sudo -s


2.- Entrar al directorio de archivos descargados de APT


cd /var/cache/apt/archives


3.- Obtener el listado de archivos a descargar


apt-get -qq --print-uris upgrade > /tmp/files.txt


o


apt-get -qq --print-uris dist-upgrade > /tmp/files.txt


4.- Descargar los archivos (se empezara a colgar la máquina)


cat /tmp/files.txt | perl -n -e '/^([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+)$/; print "wget -q -O \"$2\" $1 &\n"; system("wget -q -O \"$2\" $1 &");'


5.- Esperar a que terminen todos los 'wget'


watch 'ps -efa | grep wget'


6.- Revisar los MD5


cat /tmp/files.txt | perl -n -e '/^([^ ]+) ([^ ]+) ([^ ]+) MD5Sum:([^ ]+)\n$/; $n=$2; $t1=$4; $_=`md5sum $n`; /^([^ ]+)/; $t2=$1; if ($t1 ne $t2) { print "ERROR: $n\n"; } else { print "OK: $n\n"; }' | grep ERROR


7.- En caso de que falle alguno, volver a descargarlo...

8.- Eliminar el archivo temporal


rm /tmp/files.txt


9.- Instalar los archivos descargados


apt-get upgrade


o


apt-get dist-upgrade


10.- FIN!