APT-BUILD

Autor Wilfredo I. Pachón López

Pasos Iniciales

Después de tener el sistema base se deben adicionar los repositorios tanto binarios como fuentes, incluidos los de seguridad, para nuestro caso estos serán:

deb http://ftp.debian.org/debian/ etch main

deb-src http://ftp.debian.org/debian/ etch main

deb http://security.debian.org/ etch/updates main

deb-src http://security.debian.org/ etch/updates main

En Debian los paquetes vienen precompilados para la arquitectura x86, pero sin ningún tipo de optimización para nuestro hardware en particular, para conseguir mayor velocidad en las apliaciones sería recomendable compilar todas, una por una, sin embargo esto sería un proceso demasiado tedioso, demorado y de gran complejidad y cuidado, sin embargo no hace falta que nosotros lidiemos con esa carga, para ello Debian nos provee de la utilidad apt-build, la cual nos permite compilar cada paquete manteniendo las reglas y dependencias del sistema Debian, es por esto que en el paso anterior decidimos utilizar también los repositorios de las fuentes, para instalar apt-build lo primero que debemos de hacer es actualizar la lista de paquetes de los repositorios:

# apt-get update

Después se instala el sitema apt-build junto a sus dependencias:

# apt-get install apt-build

Cuando el instalador pregunta que si desea agregar la línea del APT-Build al sources.list debemos decir que SI, adicionalmente nos preguntará acerca de la familia del procesador de nuestra máquina (si no estamos seguros se puede averiguar en el archivo /proc/cpuinfo).

Selección de Paquetes a Optimizar

Concluido este punto pasamos a "reinstalar" con apt-build todo el sistema ya instalado, para ello necesitamos generar una lista de los paquetes en el archivo /etc/apt/apt-build.list para luego poder utilizar la instrucción "world"

Para conseguir esta lista podemos utilizar un script como:

# dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list

Luego de esta lista borramos los paquetes correspondientes al kernel y a la libc6, para nuestro caso serán:

linux-image-*
libc6
libc6-dev
libc6-i686

También es necesario borrar algunos paquetes que tuvieron problemas al tratar de instalarlos, en mi caso fueron:

automake1.9
automake1.4
autoconf
bash
base-passwd
base-files
binutils
binfmt-support
bison
bsdutils
bsdmainutils
cpp
cpp-4.1
comerr-dev
findutils
g++
g++-4.1
gcc
gcc-4.1
gcc-4.1-base
libedit2
libdevmapper1.02
libgc1c2
libgcc1
libssp0

Instalación

Una vez se han borrado estos paquetes de la lista procedemos a ejecutar la "reinstalación"

# apt-build update
# apt-build world

Este proceso obviamente será mucho más lento que sólo descargar cada paquete e instalarlo, ya que apt-build descarga el fuente del paquete junto a los fuentes de sus dependencias y luego empieza a compilarlos cada uno.