Apt-build
|
Apt-build: Interfaz de apt para generar, optimizar e instalar paquetes.
Introducción
Apt-build es una interfaz de apt para compilar los programas optimizados para su arquitectura creando un repositorio local con los paquetes compilados. También puede gestionar actualizaciones del sistema.
Los paquetes que compilemos se ajustarán mucho mejor al equipo que se use y, por tanto irán mejor que los paquetes precompilados que están en repositorios.
Instalación y Configuración
Para instalar apt-build basta con escribir en una terminal de texto:
~$: apt-get install apt-build
Una vez instalado, el script de post-instalación le hará varias preguntas, sobre el directorio de build, las opciones a pasar a gcc, y la arquitectura de su procesador. Toda esta información se escribe en el fichero /etc/apt/apt-build.conf. Si comete algún error al responder, podrá volver atrás.
Proceso de compilado
Apt-build tiene un funcionamiento muy similar a apt-get o aptitude
Lo primero es garantizar que los repositorios "source" (deb-src) estén añadidos en /etc/apt/sources.list, que es donde se encuentran los paquetes fuentes.
Ejemplo: root@server:~$ cat /etc/apt/sources.list
Debe devolver una respuesta parecida a esto:
deb http://download.jovenclub.cu/repos/debian/debian squeeze main contrib non-free
deb-src http://download.jovenclub.cu/repos/debian/debian squeeze main contrib non-free
root@server:~$
Que no es más que la lista de repositorios para el que tenemos configurada la máquina
Comandos para el apt build
- Para actualizar la lista de sources:
apt-build update
- Para compilar e instalar un paquete:
apt-build install nombre_paquete
- Para compilar e instalar un paquete que ya está instalado:
apt-build install --reinstall nombre_paquete
- Para eliminar un paquete:
apt-build remove nombre_paquete
- Limpiar después de compilar/instalar:
apt-build clean-sources o apt-build clean-build
- El resto de opciones pueden consultarse con el habitual:
apt-build --help
- Descargar e instalar todas las dependencias necesarias para poder compilar un paquete que no está en un repositorio:
aptitude build-dep paquete
Apt-build world
El apt-build con el parámetro "world" compila absolutamente todo lo que hay en el sistema.
Este proceso es sólo para los usuarios más osados, porque no ofrece garantías de que todo funcione correctamente una vez termine y encima, tarda muchísimo en compilar todo el sistema.
Si termina y todo sale bien, mejorará el rendimiento y con el apt-build se podrán administrar las actualizaciones y paquetes que vayan surgiendo sin tener que volver a empezar, pero si no sale, pues se habrán perdido unas cuantas horas compilando.
Antes de ejecutar el apt-build world hay que tener en cuenta una cosa, y es que no se deben compilar los mismos paquetes que se utilizan para compilar, por lo que debemos excluirlos para que no haya problemas.
- Crear la lista de los paquetes instalados para que la lea apt-build:
~ $ dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list
- Una vez creada la lista, se debe acceder al archivo y eliminar los paquetes que no se quiere que se compilen:
~$ nano /etc/apt/apt-build.list
Los paquetes a eliminar de la lista son los siguientes:
- linux-image-* (eliminar de la lista cualquier versión del kernel instalada)
- libc6
libc6-dev
libc6-i686 #automake1.9
automake1.4 - autoconf
- bash
- base-passwd
- base-files
- binutils
- binfmt-support
- bison
- bsdutils
- bsdmainutils
- cpp
- cpp-4.** (cualquier versión que instalada)
- comerr-dev
- findutils
- g++
g++-4.** (cualquier versión instalada) - gcc
gcc-4.** (cualquier versión instalada) - libedit2
- libdevmapper1.02
- libgc1c2
- libgcc1
- libssp0
Luego de excluir los paquetes esos paquetes anteriores, ejecutar el comando: apt-build world