Configurando apt-build en Debian
Un paquete compilado siempre es mucho más rápido y más optimizado, de eso no cabe duda. Gentoo y Slackware compilan los programas y realmente se nota mucho. Tuve Gentoo en mi portátil una temporada y iba como un tiro.
Ahora vamos a hacer lo mismo con nuestro Debian.
La herramienta apt-build nos hace casi todo el trabajo y lo simplifica un montón. Se encarga de descargar e instalar los programas necesarios para compilar, descargar las dependencias y el código fuente del programa, compilarlo e instalarlo en nuestra máquina. Todo con un simple comando; ahí vamos:

Añadimos el repositorio al sources list
deb-src http://ftp.at.debian.org/debian/ stable main
y actualizamos la lista de paquetes:
apt-get update
instalamos apt-build
apt-get install apt-build
Seguramente aparecerán muchos paquetes nuevos a instalar, librerias, compiladores, etc… Luego, nos pedirá el nivel de optimización, seleccionamos “medio” y en la siguiente pantalla añadimos el repositorio apt-build al sources.list. Después, teóricamente nos pedirá el procesador de nuestro sistema para ajustar un poco más las compilaciones.
Como a mi no me lo ha pedido, vamos ajustar este valor y que guarde los parámetros que usará gcc para compilar nuestros paquetes. Esto no hace falta, es adicional, con instalar apt-build ya podríamos compilar nuestros paquetes, pero vamos a afinar un poco más.
Vamos a ver la cpu tenemos:
cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah
stepping : 5
cpu MHz : 999.872
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de pse tsc msr cx8 mtrr pge cmov mmx fxsr sse up rng rng_en
bogomips : 2001.52
Buscamos las opciones de gcc que le tocan a nuestra cpu aquí. En mi caso, mi cpu es una Via C3 Nehemia y encontré las opciones ya preparadas aquí.
Ahora tunearemos los parámetros del compilador gcc:
dpkg-reconfigure apt-build
y en las siguientes pantallas del asistente ajustamos el nivel de optimización (si no lo hemos hecho antes), las sources y añadimos en los parámetros a pasarle a gcc. En mi caso:
-march=i586 -mtune=c3 -m3dnow -O3 -pipe -fomit-frame-pointer -mmmx
Finalizamos el proceso y ya tenemos nuestro sistema a punto para compilar e instalar nuestros propios paquetes.
Por ejemplo vamos a compilar e instalar mplayer:
apt-build install mplayer --force-yes
tardará un poco, como 20 minutos, pero ahora tenemos nuestro mplayer ajustado para nuestra máquina.
También se podria “recompilar” todo nuestro sistema, primero generando una lista de los paquetes instalados
dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list
y luego con
apt-build world
Pero no lo recomiendo, puede tardar días, sólo con mplayer ya tarda 20 minutos. Según expertos en debian un paquete compilado a partir del código fuente es entre un 5% y 20% más rápido que el binario, además de la estabilidad del sistema.
Fuentes:
Publicado en la categoría Debian
Hacer comentario