Shiba87 38,620 Posted July 20, 2012 Report Share Posted July 20, 2012 Apt-build nos brinda la oportunidad de compilar los paquetes de los repositorios para ajustarlos a las especificaciones de nuestro sistema y, de esa manera, aumentar el rendimiento. Permite compilar cada paquete manteniendo las reglas y dependencias del sistema. Al hacerlo no vamos a perder la habilidad de administrar el programa a través de apt, ya que el propio apt-build se encarga de crear el paquete .deb para luego instalarlo como si se tratara de un paquete descargado directamente desde repositorios. La desventaja es que hay que perder tiempo compilando y seguramente instalar multitud de dependencias para poder llevarlo a cabo dicho proceso. Por no hablar de tener que repetir todo cada vez que sea actualizado el paquete. Lo primero que debemos hacer es asegurarnos de que tenemos los repositorios "source" (deb-src) En el caso de Debian podemos consultarlos en Debian Source list generator En ambos casos es tan simple como añadir deb-src delante de la dirección del repositorio en lugar del típico deb (El repositorio debe contener las fuentes, de lo contrario no funcionará aunque añadamos la línea deb-src) deb http://ftp.fr.debian.org/debian/ testing main contrib non-freedeb-src http://ftp.fr.debian.org/debian/ testing main contrib non-freeAmbas direcciones son idénticas, sólo cambia la cabecera de la líneaInstalar y configurar apt-build: aptitude install apt-build[Mientras se instala nos preguntará qué nivel de optimización nos interesa: El nivel agresivo no es muy recomendado porque puede dar algunos problemas. El nivel escaso, personalmente no lo aconsejo ¿Que gracia tiene hacer toda esta locura para obtener un rendimiento "escaso"? Esto deja como nivel recomendado, el nivel medio Lo siguiente que pregunta es el modelo de procesador que tenemos en el equipo, de esto depende el resultado de la optimización. En caso de duda, podemos ver toda la información de nuestra cpu con el comando: lscpu Proceso de compilado [Apt-build tiene un funcionamiento muy similar a apt-get o aptitude Lo primero es actualizar la lista de sources:apt-build updatePara compilar e instalar un paqueteapt-build install paquete Para compilar e instalar un paquete que ya está instaladoapt-build install --reinstall paquete Para eliminar un paquete apt-build remove paquete Limpiar después de compilar/instalarapt-build clean-sources; apt-build clean-buildEl resto de opciones pueden consultarse con el habitualapt-build --help Compilar código fuente ajeno a los repositorios Para paquetes que provengan de repositorios, para compilar el código fuente de algún programa que descarguemos y vayamos a compilar también nos puede servir de ayuda. Suele ocurrir que aparece una nueva versión de determinado programa, y no hay ningún paquete .deb y los repositorios sólo ofrecen versiones antiguas de ese programa, por lo que no tenemos más remedio que descargar el código fuente y compilarlo por nuestra cuenta. A la hora de compilar siempre nos encontramos con que son necesarias multitud de dependencias previas y es algo que molesta, y mucho. Eso se puede solucionar con un:aptitude build-dep paquete De esta manera se descargarán e instalarán todas las dependencias necesarias para poder compilar ese programa/paquete en concreto. Una vez instaladas ya podremos proceder a compilarlo manualmente teniendo instalado todo lo necesario para que se complete el proceso. (No es necesario el apt-build para hacer esto último) (Tampoco es necesario aptitude build-dep para paquetes que compilemos con apt-build)Apt-build world Llega la parte peliaguda. El apt-build con el parámetro "world" lo que hace es compilar absolutamente todo lo que hay en el sistema. Este proceso es sólo para los más osados, porque no ofrece garantías de que todo funcione correctamente una vez termine y, encima, tardará una barbaridad en compilar todo el sistema. Si termina y todo sale bien, mejorará el rendimiento notablemente y con el apt-build podremos administrar las actualizaciones y paquetes que vayan surgiendo sin tener que volver a empezar, pero si no sale, habremos perdido unas cuantas horas compilando y las que nos quedarán para arreglarlo Vale, ahora que ya los he asustado, empecemos con el proceso 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 (suena redundante pero es así), por lo que debemos excluirlos para que no haya problemas. Creamos una lista de los paquetes que tenemos instalados para que la lea apt-builddpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.listUna vez termine debemos acceder al archivo y eliminar los paquetes que no queremos que se compilen:nano /etc/apt/apt-build.listLos paquetes que tenemos que eliminar de la lista son los siguientes: linux-image-* (eliminar de la lista cualquier versión del kernel que tengamos instalado) 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 tengamos instalada) comerr-dev findutils g++ g++-4.** (cualquier versión que tengamos instalada) gcc gcc-4.** (cualquier versión que tengamos instalada) gcc-4.**-base (cualquier versión que tengamos instalada) libedit2 libdevmapper1.02 libgc1c2 libgcc1 libssp0 Cuando nos hayamos asegurado de que hemos excluido esos paquetes del proceso, ejecutamos el comando: apt-build worldAunque algunos no lo tengan en cuenta, lo siguiente es muy importante, y es que si no le pones unas velitas a San Ignucio, y le rezas a San Torvalds, tienes muchas menos posibilidades que que el proceso se complete satisfactoriamente Después de varias Horas/Días compilando verás como te tomas la última recomendación mucho más en serio Jaska, southside54, Rohlling and 2 others 1 4 Link to post Share on other sites
southside54 499 Posted February 2, 2014 Report Share Posted February 2, 2014 Uff... cinco horas liado con Iceweasel y al final da error por quedarse la raíz sin espacio (unos 9 gb tenía de espacio libre) Esto es normal, o habré cometido algún error configurando apt-build o algo?? Jaska, Rohlling and kakahuete 3 Link to post Share on other sites
Shiba87 38,620 Posted February 3, 2014 Author Report Share Posted February 3, 2014 Pues..... para Iceweasel como tal me parece demasiado. Quizá 1GB o 2, pero 9... no lo veo. Y 5 horas como que tampoco. Salvo que no esté compilando sólo iceweasel sino más cosas, que entonces podría ser más normal Rohlling, hectorsales, southside54 and 1 other 4 Link to post Share on other sites
Rohlling 6,457 Posted February 3, 2014 Report Share Posted February 3, 2014 Esto no lo había visto antes y lo buscaba, pero la etiqueta de compilar no está, o mejor dicho, está mal escrita Link to post Share on other sites
uzanto 1,995 Posted November 3, 2019 Report Share Posted November 3, 2019 Buenas @Shiba87 ¿Que tal va apt-build hoy en día? ¿Qué arquitectura es la adecuada para AMD64? ¿x86_64? ¿Al actualizar basta con apt update y apt upgrade? Rohlling 1 Link to post Share on other sites
Shiba87 38,620 Posted November 4, 2019 Author Report Share Posted November 4, 2019 hace 14 horas, uzanto dijo: Buenas @Shiba87 ¿Que tal va apt-build hoy en día? ¿Qué arquitectura es la adecuada para AMD64? ¿x86_64? ¿Al actualizar basta con apt update y apt upgrade? Hace mucho que no lo uso, pero debería ir bien. Sí, x86_64 y Amd64 vienen siendo lo mismo. Las ganas tuyas Te veo añadiendo los paquetes a la lista apt-build.list y haciendo un apt-build world Todas las veces Compilar por cuenta propia es lo que tiene portaro and Rohlling 2 Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now