Todos sabemos que una de las características que más resaltan de distribuciones de GNU/Linux como Gentoo es la posibilidad de optimizar, de una forma sencilla, los paquetes a instalar para nuestra distribución. De este modo, se supone, obtener un mejor rendimiento y una mayor velocidad.
Todos aquellos, entre los que me incluyo, que usamos la distribución de GNU/Linux Debian o alguno de sus derivados, por ejemplo Ubuntu, conocemos el sistema de manejo de paquetes “.deb“, el “apt” o “aptitude“. Esta claro, que cualquier usuario de esta rama de distribuciones los usa, uno u otro, para instalar nuevo software y esta familiarizado con ellos. Este sistema de paquetes se encarga de la gestión de dependencias a la hora de la instalación evitando gran cantidad de problemas, pero lo que si que no podemos hacer es optimizar los paquetes para nuestra distribución.
Ahora bien, para solucionar esto llega “apt-build“, el cual, yo personalmente no conocía hasta ahora. Con esta herramienta podremos optimizar los paquetes para nuestra distribución. Y lo más importante no perderemos la posibilidad de seguir usando “apt” o “aptitude“. El funcionamiento básico es el siguiente: se descargan las fuentes y se compilan en nuestro ordenador para luego instalarse, todo esto automáticamente claro.
¿Como conseguirlo?
Desde nuestra distribución, en mi caso una “Ubuntu 7.04“, en versiones anteriores no puedo garantizar su existencia ya que no tengo ninguna a mano, ejecutamos como superusuario:
aptitude install apt-build
Esto descargara el paquete y un par de dependencias necesarias, e instalará la herramienta en nuestro sistema. Para completar la instalación es necesaria nuestra intervención, ya que el script de instalación nos solicita el nivel de optimización que deseamos, obviamente a mayor nivel de optimización mayor tiempo de compilación. Yo, en principio, lo he dejado en nivel “Medio” ya iré probando los demás con el tiempo.
Otra pregunta que nos hará a la hora de instalar es la arquitectura de nuestro procesador, nos ofrecerá una lista de la que tendremos que seleccionar el modelo más adecuado a nuestras características. En mi caso, un “Intel Centrino“, yo he elegido “pentium-m“. Si no estáis muy seguros de la opción a elegir podéis consultar la sección Safe Cflags de Gentoo.
Finalmente, al finalizar la instalación, se nos añadirá una linea más a nuestro fichero “/etc/apt/sources.list“, algo así:
deb file:/var/cache/apt-build/repository apt-build main
Este sera nuestro repositorio local de paquetes optimizados. Con esto terminará la instalación.
Jugar con ello
Dos cosas a tener en cuenta para poder utilizar esta herramienta:
- La primera, en nuestro fichero “/etc/apt/sources.list” además de las lineas que empiezan por “deb” deben estar también aquellas que empiezan por “deb-src“. Esto sirve para poder descargar los fuentes para su posterior compilación.
- La segunda, para que a la hora de instalar otros paquetes los nuestros optimizados tengan preferencia a la hora de instalar habrá que añadir en el fichero “/etc/apt/preferences” las siguientes lineas:
Package: *
Pin: release o=apt-build
Pin-Priority: 990
De este modo, siempre buscará primero los paquetes a instalar entre los nuestros optimizados, antes que en los repositorios. Las lineas añadidas simplemente añaden una prioridad más alta a nuestro repositorio.
Finalmente, ya podemos usar “apt-build” como si fuera nuestro “apt” habitual ya que posee las mismas ordenes que este:
apt-build update
apt-build install rar
Como ya esta instalado nos dará un error, comentándonos que ya tenemos la versión más reciente en nuestro sistema, así que lo reinstalamos:
apt-build --reinstall install rar
Con esto tendremos nuestro rar optimizado para nuestra máquina.
Bueno como podéis ver el uso es bastante fácil, así que a partir de ahora yo voy a ir probando optimizar mi sistema poco a poco y haber si se nota diferencia. Espero que aquellos que lo probéis me comentéis las impresiones y los resultados. Y como siempre, si alguien quiere añadir algo más será bien recibido.
Dos últimos comentarios para terminar, personalmente no os recomiendo optimizar cosas como el “GCC” y “lib6″, porque eso es arriesgarse, pero es solo opinión personal. Y el segundo, existe la opción de ejecutar “apt-build world“, la cual optimiza TODOS los paquetes de nuestra distribución. Yo lo veo arriesgado, pero por si lo queréis usar, la misma recomendación, dejar fuera “GCC” y “lib6“, ¿como?, … así:
dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list
Esto crea una lista de paquetes instalados, solo tenéis que eliminar luego el “GCC” y el “lib6“.
Otra cosilla más, no lo he probado pero supongo, que cambiando la dirección añadida en el fichero “/etc/apt/sources.list” y poniendo la de un disco duro externo conectado al PC podremos tener nuestro repositorio en un disco aparte para no sobrecargar en nuestro, no tener que limpiar paquetes ya optimizados y que estén ahí siempre que los necesitemos.
Ahora si, creo que esta todo y espero vuestras aportaciones.