Apt-build

Revisión del 18:53 31 mar 2011 de Edelbys jc.manzanillo5 (discusión | contribuciones) (Página creada con '<div align="justify"></div>{{Desarrollo}}{{Software}} '''Apt-build''': Interfaz de apt para generar, optimizar e instalar paquetes. == Introducción<br> == Apt-build es una in...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
{{{nombre}}}
[[Image:{{{logo}}}|{{{nombre}}}|260px|center]]
Fecha de creación:
{{{fecha de creación}}}
Versiones:
{{{versiones}}}
Sitio Web:
{{{sitio web}}}


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 a nuestro equipo 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
deb-src http://download.jovenclub.cu/repos/debian/debian squeeze main contrib non-free
root@server:~$
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; 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 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)
gcc-4.**-base (cualquier versión instalada)
libedit2
libdevmapper1.02
libgc1c2
libgcc1
libssp0
Luego de excluir los paquetes esos paquetes anteriores, ejecutar el comando:
apt-build world

Algunas Dependencias de apt-build

dep: apt (>= 0.5)
Interfaz avanzado para dpkg
dep: apt-utils
utilidades para APT
dep: debconf [avr32, m68k]
Sistema de gestión de la configuración de Debian
or debconf-2.0
virtual package provided by cdebconf, cdebconf-udeb, debconf
dep: debconf (>= 0.5) [not avr32, m68k]
or debconf-2.0
dep: devscripts
scripts to make the life of a Debian Package maintainer easier
dep: dpkg-dev (>= 1.9)
Herramientas de desarrollo de paquetes Debian
dep: g++
El compilador de C++ de GNU
dep: gcc
El compilador de C de GNU
dep: libappconfig-perl (>= 1.5)
Perl module for configuration file and command line handling
dep: libapt-pkg-perl (>= 0.1.11)
Perl interface to libapt-pkg
dep: libc0.1 (>= 2.3) [kfreebsd-amd64, kfreebsd-i386]
Biblioteca empotrada GNU C: Bibliotecas compartidas
also a virtual package provided by libc0.1-udeb
dep: libc0.3 (>= 2.11) [hurd-i386]
Biblioteca empotrada GNU C: Bibliotecas compartidas
also a virtual package provided by libc0.3-udeb
dep: libc6 (>= 2.1) [i386]
Biblioteca empotrada GNU C: Bibliotecas compartidas
also a virtual package provided by libc6-udeb
dep: libc6 (>= 2.11) [powerpcspe, sh4]
dep: libc6 (>= 2.2) [hppa, mips, mipsel, sparc64]
dep: libc6 (>= 2.2.5) [amd64]
dep: libc6 (>= 2.4) [armel, powerpc, s390]
dep: libc6 (>= 2.5) [avr32]
dep: libc6 (>= 2.5-5) [m68k]
dep: libc6 (>= 2.6) [sparc]
dep: libc6.1 (>= 2.2) [ia64]
Biblioteca empotrada GNU C: Bibliotecas compartidas
also a virtual package provided by libc6.1-udeb
dep: libc6.1 (>= 2.4) [alpha]
dep: perl

Véase también

Apt

Aptitude

Fuentes

http://packages.debian.org/unstable/devel/apt-build

http://manpages.ubuntu.com/manpages/hardy/es/man1/apt-build.1.html
http://www.linux.ebre.cat/2009/11/compilar-debian-ubuntu-al-estilo-gentoo.html