Portage
Categorías: Distribuciones de Gnu/Linux | Gentoo |
Contents
|
Esta sección es un esbozo en construcción. Se aprecian tus aportes y paciencia |
Portage es la idea de usar un sistema de instalación, configuración y administración de paquetes en Gentoo GNU/Linux, nacio con el fundamento teórico usa los "ports" en "FreeBSD" compilando los programas en la maquina pero gestionados por un script, por eso optarón por buscar la funcionabilidad que tenian en esa época Apt en Debian(transcurria año 2001), sin embargo la programación de los ports eran escritos en Perl un lenguaje bastante practico pero que tornaba un poco enredado a la hora de leerlo, por eso adoptaron un lenguaje que fue tomando fuerza con el tiempo Python. La idea era pulir la maquina teniendo todos los paquetes compilador guiados por scripts y usando control de automatización(que incluye descarga, instalación o actualización de programas con dependencias resueltas) con calidad de software garantizada por QA(Quality Assegurance), además de tener a su favor utilizar la filosofia que usa Python.
Este administrador tiene 4 acompañantes que lo ayudan en su labor y esos son:
- Emerge
- Los Ebuilds
- Banderas de USE
- Enmascaramiento de paquetes
Emerge
Emerge es el corazón del portage es el programa en línea de comando de interacción con el usuario, reune todo el conjunto y lo hace funcionar según los parametros de configuración para la dependencia de programas, con la ayuda un arbol que describe todo esto escrito en xml. Usa un sandbox (caja de arena), para la configuración e instalación antes de grabarlo en el disco duro.
Las dependecias pueden ser alteradas por las banderas de configuración, por ejemplo se tiene un paquete X, un paquete Y y un paquete Z, en este caso Y es necesario para instalar X, sin embargo no depende de Z para que funcione, solo en caso de requerirlo para correr otro programa o simplemente para mejorar su funcionalidad o usabilidad se podria requerir Z se le configura las banderas de USE y que puede ser descrito en el fichero /usr/portage/packages.use.
Los Ebuilds
Los Ebuilds son los scripts de compilación, configuración e instalación de programas, en otras palabras son los ficheros que maneja los parametros de instalación, los cuales serán usados por el portage.
Estos Ebuilds son cambiados durante la sincronización de servidores para posterior actualización del sistema, en otras palabras cuando usted usa emerge --sync lo que hace es actualizar los ebuilds para determinado programa o en otros casos hace ingreso de nuevos paquetes al portage.
Banderas de USE
Como las describirmos antes son variables que acomplan con otros programas y viceversa, para identificar esas variables antes o inclusive después de compilado. Mirelas de la siguiente forma:
~ $ emerge -pv xterm These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] x11-terms/xterm-229 [222] USE="unicode -Xaw3d -paste64 -toolbar -truetype" 822 kB Total: 1 package (1 upgrade), Size of downloads: 822 kB ~ $
En la pantalla aparecen de azul las precedidas por un menos (-), y las de rojo son las que no tienen nada, para modificar eso agregamos al archivo /usr/portage/packages.use
x11-terms/xterm-229 Xaw3d -unicode
En este caso quita la cualidad unicode y agrega que use librerias del Xaw3d o también se puede hacer a la hora de instalar modificando la varible USE:
# USE="-unicode Xaw3d" emerge xterm
Enmascaramiento
El enmascaramiento de paquetes hace parte de sistema de calidad de los paquetes probados, en otras palabras programas completos o ciertas versiones de estos, los cuales estan restringidos al usuario normal, o por que no se le hecho suficientes pruebas a estos, o que podrían generar algun tipo de error o de problema a la hora de compilar
Este enmascaramiento no solo esta detallado en versiones, sino también en arquitecturas de computadores, debido a que puede variar la compilación de programas en otros computadores con diferente procesador.
Front-ends del Portage
A continuación algunos programas que facilitan el uso de emerge para el usuario que no le gusta línea de comando:
- Porthole: Es uno de los primeros front-end, pese que esta enmascarado, su instalación es sencilla y funciona rápido, además de ser escrito para GTK.
- Kportage: Es la competencia del primero con la diferencia que este corre sobre QT/KDE.
Kuroo : Es el más popular debido a que es usado por el Sabayon
Opciones a la busqueda del Emerge
En ciertos procesos para la lectura del árbol de paquetes el emerge tiende hacer lento, incluso a la hora de buscar unicamente, es por eso que crearon eix o esearch un programa para buscar en el repositorio de forma rápida. Estos crean un cache del árbol de emerge, que se hace cada vez que se sincroniza el portage con los servidores de gentoo.
He aqui una comparativa:
$ time emerge -s eterm > /dev/null real 0m3.624s user 0m2.690s sys 0m0.260s $ time esearch eterm > /dev/null real 0m0.649s user 0m0.530s sys 0m0.060s $ time eix eterm > /dev/null real 0m0.301s user 0m0.110s sys 0m0.010s
Según las pruebas que hice eix es el más rápido de los tres aunque cada usuario puede variar prefieriendo estos u otros, ya que la salida de eix es más corta.
Referencias
http://en.wikipedia.org/wiki/Portage_%28software%29 : Página donde esta descrito el Portage en la Wikipedia
http://david-peter.de/esearch.html : Página con comparativas de busqueda, además de ser el Home Page de esearch.
