Inicio > Gentoo > Gentoo – Mantenimiento del sistema

Gentoo – Mantenimiento del sistema

Viernes, 18 de julio de 2008 Dejar un comentario Ir a comentarios

Gentoo

Última actualización 10/09/09

Al fin tengo mi equipo funcionando perfectamente con Gentoo, que sus buenas horas me ha llevado después de bastantes meses sin usarlo :P . Creo esta entrada a modo de recordatorio para mi y para todo aquel que quiera, ya que a continuación mencionaré cuales son las operaciones esenciales que hay que realizar sobre un sistema Gentoo para tenerlo totalmente actualizado y limpito ;) .

Actualizar el sistema

emerge --sync
emerge -DuNva world
emerge --depclean
revdep-rebuild

El primer comando actualiza el árbol de portage . El segundo sirve para realizar la actualización “-u” de los paquetes de una forma profunda “–deep o -D”  preguntandonos si estamos seguros de realizar dicha actualización (-a), mostrando una información extendida (-v). En caso de que hayamos modificado los USE flags de /etc/make.conf podemos poner “–newuse o -N” para que los tenga en cuenta. El tercer comando eliminar aquellos paquetes rotos que no dependan de paquetes que si hayan sido emergidos. Hay que tener cuidado con este comando y no usarlo sin haber realizado una actualización previamente. El último comando se encarga de examinar librerías y binarios con dependencias de librerías perdidas y las arregla reemergiendo los paquetes necesarios.

En caso de que tengamos problemas con el comando revdep-rebuild debido a problemas de enlaces a librerías rotos como en este ejemplo

 * Collecting system binaries and libraries
 * Found existing 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Found existing 2_ldpath.rr.
 * Checking dynamic linking consistency
 * Found existing 3_broken.rr.
 * Assigning files to packages
 *  !!! /usr/local/lib64/python2.5/site-packages/opencv/_cv.la not owned by any package is broken !!!
 *   /usr/local/lib64/python2.5/site-packages/opencv/_cv.la -> (none)
 *  !!! /usr/local/lib64/python2.5/site-packages/opencv/_cv.so not owned by any package is broken !!!
 *   /usr/local/lib64/python2.5/site-packages/opencv/_cv.so -> (none)
 *  !!! /usr/local/lib64/python2.5/site-packages/opencv/_highgui.la not owned by any package is broken !!!
 *   /usr/local/lib64/python2.5/site-packages/opencv/_highgui.la -> (none)
 *  !!! /usr/local/lib64/python2.5/site-packages/opencv/_highgui.so not owned by any package is broken !!!
 *   /usr/local/lib64/python2.5/site-packages/opencv/_highgui.so -> (none)
 *  !!! /usr/local/lib64/python2.5/site-packages/opencv/_ml.la not owned by any package is broken !!!
 *   /usr/local/lib64/python2.5/site-packages/opencv/_ml.la -> (none)
 *  !!! /usr/local/lib64/python2.5/site-packages/opencv/_ml.so not owned by any package is broken !!!
 *   /usr/local/lib64/python2.5/site-packages/opencv/_ml.so -> (none)
 * Generated new 4_raw.rr and 4_owners.rr
 * Found some broken files, but none of them were associated with known packages
 * Unable to proceed with automatic repairs.
 * The broken files are listed in 4_owners.rr

Si estamos seguros de que todo está correcto en nuestro sistema podemos borrar los archivos *.rr de /var/cache/revdep-rebuild y ejecutar de nuevo revdep-rebuild.

Actualizar entorno

env-update
source /etc/profile

Varios archivos de /etc/env.d definen la variable PATH. esto no es un error: cuando ejecute env-update, este concatenará las múltiples definiciones antes de actualizar las variables de entorno, haciendo más fácil a los paquetes (o usuarios) añadir sus propias opciones en las variables de entorno sin interferir con los valores ya existentes.

El script env-update concatenará los valores alfabéticamente ordenados por el nombre de los ficheros de /etc/env.d. Esto es así porque muchos de los ficheros de /etc/env.d empiezan por un número.

Si quiere observar el efecto de env-update inmediatamente después de ejecutarlo, ejecute el siguiente comando para actualizar su entorno. Posiblemente, los usuarios que instalaron Gentoo ellos mismos, recordarán estas instrucciones de la instalación.

Instalar versión concreta de un paquete

=ruta/paquete-version ~x86

Hay ocasiones en que las dependencias se ponen “tontorronas”, y a menos que instales la versión que se te indica (ni una superior ni una inferior) no se satisface dicha dependencia. Para instalar una versión concreta tendremos que editar el fichero /etc/portage/package.keywords y añadir una línea como la que he mostrado arriba, donde hay que poner un símbolo = al principio y especificar la versión del paquete tras un guión.

Instalación de ebuils externos

  1. Creamos el directorio /usr/local/portage
  2. Nos bajamos el ebuild en cuestión, y lo movemos a /usr/local/portage/categoria/nombre-programa/. En categoría debemos poner una de las palabras cables que podemos encontrar en /usr/portage/ como sys-dev, media-gfx, etc.
  3. Nos vamos a dicho directorio y ejecutamos el comando: ebuild miebuild.ebuild digest.
  4. Asegurarse de que al final del fichero /etc/make.conf aparece la siguiente línea:
    PORTDIR_OVERLAY="/usr/local/portage  $PORTDIR_OVERLAY"
  5. Emerger el paquete

Liberar espacio en el disco duro

Limpiar caché de ccache

ccache -c

Si usáis esta magnifica herramienta para agilizar la compilación de programas con los que vamos a “trastear” bastante, es recomendable limpiarla de vez en cuando. Hacerlo como usuario root.

Limpieza a fondo

  • Eliminar el contenido de la ruta /var/tmp
  • Eliminar los viejos kernels en /usr/src
  • Eliminar los módulos de viejos kernels en /lib/modules
  • Eliminar el contenido de la ruta /usr/portage/distfiles
  • Si tienes activada la opción PKGDIR en el /etc/make.con eliminar el contenido de /usr/portage/packages
  • Utilizar el programa localepurge para eliminar archivos de traducción de idiomas que no uséis.

Si se me olvida algo esencial o queréis contribuir con la entrada, solo tenéis que dejar un comentario ;) .

GD Star Rating
loading...
Gentoo - Mantenimiento del sistema, 10.0 out of 10 based on 1 rating
Share
Categories: Gentoo Tags: , , ,
  1. Jose
    Domingo, 7 de noviembre de 2010 a las 00:07 | #1
    GD Star Rating
    loading...

    Muy buena entrada, me ha servido de mucho, solo tengo la duda siguiente:
    Cuando pongo “revdep-rebuild ” como root, gentoo me dice que no encuentra el comando. ¿Es acaso parte de un paquete que no tengo instalado?

    De antemano Gracias.

  2. Domingo, 7 de noviembre de 2010 a las 16:48 | #2
    GD Star Rating
    loading...

    Hola jose! Creo que el paquete que necesitas es este “app-portage/gentoolkit” pero no puedo garantizartelo ya que hace tiempo que no uso gentoo.

  3. Jose
    Miércoles, 17 de noviembre de 2010 a las 01:44 | #3
    GD Star Rating
    loading...

    @piponazo
    Si, es ese gracias!!!

  1. Sin trackbacks aún.