A.3 Gentoo Linux

En Gentoo los paquetes normalmente se descargan en código fuente y se compilan. Esto tiene ciertas ventajas y otros inconvenientes. Las principales ventajas son: (1) que las dependencias entre las versiones de los paquetes es menor y por tanto, la instalación o actualización de un paquete implica recompilar pocas dependencias y (2) el paquete se compila para la arquitectura de nuestra computadora y con las características deseadas. Esto último incrementa el rendimiento de los programas.

El principal problema en Gentoo es que hay paquetes (como Mozilla Firefox) que tardan mucho en compilarse :-(. Por esto, estos paquetes tan pesados también suelen estar disponibles en binario.

A.3.1 Actualización de la base de datos de paquetes

La base de datos de paquetes en Gentoo se denomina “portage”. Esta base de datos es un árbol de directorios (y ficheros) que se sincroniza con un servidor mediante rsync. La actualización es, debido a la cantidad de información transmitida, un proceso pesado.

Por suerte, los paquetes en Gentoo sólo necesitan ser actualizados cuando aparece una versión nueva de los mismos (no cuando cambia la versión de alguna de sus dependencias, como en Debian). Esto implica que no necesitamos sincronizar portage muy frecuentemente (una vez al mes es más que suficiente para disfrutar de las últimas versiones).

Bien. En Gentoo, portage se actualiza escribiendo:

  root# emerge --sync  
  root# emerge portage

La lista de servidores de rsync y la lista de servidores de paquetes se encuentra en el fichero:

  /etc/make.conf

A.3.2 Actualización de los paquetes

  root# emerge --update --deep --newuse world  
  root# etc-update  
  root# emerge --depclean  
  root# revdep-rebuild

A.3.3 Búsqueda de un paquete

  root# emerge --search <paquete>

A.3.4 Conocer si un paquete ya está instalado

Escribiremos:

 usuario$ equery list <cadena>

donde <cadena> es una cadena de caracteres que pertenecen al nombre del paquete que deseamos saber si está instalado.

A.3.5 Instalación de un paquete

Para instalar un <paquete> escribiremos:

  root# emerge <paquete>

A.3.6 Actualización de un paquete

Para instalar un <paquete> escribiremos:

  root# emerge --update <paquete>

A.3.7 Averiguar los ficheros que ha instalado un paquete

  usuario$ equery files <paquete>

A.3.8 Averiguar el paquete al que pertence un fichero

  usuario$ equery belongs <fichero>

A.3.9 Encontrar los paquetes de los que depende otro paquete

  usuario$ equery depgraph <paquete>

A.3.10 Encontrar los paquetes que dependen de un paquete

  usuario$ equery depends <paquete>

A.3.11 Borrado de un paquete

  root# emerge --unmerge <paquete>