Guía de actualización de Gentoo

Gregorio Guidi  Autor
Chris Gianelloni  Editor
Joshua Saddler  Editor
John Christian Stoddart  Traductor
Enrique Barbeito García  Traductor

Actualizado 6 de julio, 2008

1.  Gentoo y las actualizaciones

Filosofía

Aquí en la tierra de Gentoo, el concepto de actualización es muy distinto comparado al resto del mundo Linux. Probablemente ya sepa que nosotros no nos familiarizamos con el modo "clásico" de actualizar software: esperar una nueva versión, descargarla, grabarla, ponerla en el CDROM y luego seguir las instrucciones de actualización.

Ya conoce (siendo un usuario de Gentoo después de todo) que este proceso es extremadamente frustrante para aquellos usuarios avanzados que quieren tener su sistema siempre a la última. Seguramente incluso usuarios avanzados de otras distribuciones tengan la misma sensación, dada la popularidad y expansión de herramientas como apt o apt-rpm que hacen posible disponer de actualizaciones de forma rápida y frecuente. Sin embargo, ninguna distribución es más adecuada que Gentoo para satisfacer a este tipo de usuarios exigentes. Desde el principio Gentoo fue diseñada en torno al concepto de actualizaciones rápidas y graduales.

Lo ideal sería que instale una sola vez y no preocuparse de futuras versiones: solo seguir las instrucciones de la Introducción al sistema Portage del Manual Gentoo que explica cómo mantener su sistema al día. Aunque esa es la forma con la que normalmente funcionan las cosas, a veces los cambios se hacen en los paquetes base del sistema los cuales requieren de una actualización manual.

Versiones y perfiles

Una pregunta que se repite sobre el proceso de publicación de versiones de Gentoo es: "¿Por qué lanzar nuevas versiones con frecuencia si no están pensadas para ofrecer a sus usuarios la actualización del software?". Hay varias razones:

Cuando una versión incluye nuevas funcionalidades anteriormente incompatibles o proporciona una serie de paquetes y configuraciones críticas que modifican intensamente el comportamiento del sistema, decimos que dicha versión ofrece un nuevo perfil.

Un perfil (en inglés, profile) es una serie de ficheros de configuración almacenados en un subdirectorio dentro de /usr/portage/profiles. Éstos definen cosas como, por ejemplo, los ebuilds que están considerados como paquetes system, los parámetros USE por defecto, el mapeo por defecto de los los paquetes virtuales y la arquitectura en la que se ejecuta el sistema.

El perfil en uso se determina por el enlace simbólico /etc/make.profile el cual apunta a un subdirectorio dentro de /usr/portage/profiles en donde se almacenan todos los perfiles. Por ejemplo, el perfil por defecto de la versión 2008.0 para x86 se puede encontrar en /usr/portage/profiles/default-linux/x86/2008.0. Los ficheros del directorio precedente son también parte del perfil (y, por lo tanto, están compartidos por subperfiles diferentes). Ésta es la razón por la que los llamamos perfiles en cascada.

Los perfiles anticuados se guardan en /usr/portage/profiles junto con los actuales pero marcados como obsoletos. Cuando eso sucede, se añade un fichero llamado deprecated dentro del directorio del perfil obsoleto. El contenido de este fichero es el nombre del perfil al cual debería actualizarse; Portage emplea esta información para avisarle automáticamente cuando tenga que actualizar a un nuevo perfil.

Hay varias razones por la que se puede crear un perfil nuevo: la publicación de nuevas versiones de paquetes principales (como baselayout, gcc, o glibc) que son incompatibles con versiones previas, un cambio en los parámetros USE por defecto o en la relación entre los paquetes virtuales y los paquetes utilizados, o tal vez un cambio en la configuración principal del sistema.

2.  Mantenerse al día con nuevas versiones

Versiones sin cambios de perfil

Si se anuncia una nueva versión de Gentoo que no incluya un nuevo perfil, puede entonces fingir lo ocurrido como si nunca hubiera pasado :).

Si actualiza sus paquetes instalados como se explica en el Manual Gentoo, su sistema quedará exactamente igual que si hubiera reinstalado utilizando una nueva versión.

Versiones con cambios de perfil

Si una nueva versión (como por ejemplo 2008.0 para x86) añade un perfil nuevo, tiene la posibilidad de migrar a este nuevo perfil.

Por supuesto, no está obligado a hacerlo; puede continuar utilizando el antiguo perfil y actualizar sólo sus paquetes como se explica en el Manual Gentoo.

Sin embargo, Gentoo recomienda encarecidamente la actualización del perfil si éste llegara a quedarse obsoleto. Cuando ésto ocurre, significa que los desarrolladores de Gentoo no planean soportarlo más. Con la tabla de debajo, puede comprobar rápidamente qué perfiles están soportados actualmente.

Si decide migrar al nuevo perfil, tendrá que realizar la actualización de forma manual. El modo de actualizar puede variar significativamente entre una versión y otra; depende del nivel de importancia de las modificaciones introducidas en el nuevo perfil.

En el más simple de los casos, sólo tendrá que cambiar el enlace simbólico /etc/make.profile. En el peor de los casos, puede que tenga que recompilar su sistema desde cero mientras hace un afinado baile vudú. La migración normalmente está cubierta en las notas de cada nueva versión. También puede encontrar instrucciones al final de esta guía.

Perfiles soportados

Puede ver la lista de perfiles para su arquitectura que están soportados oficialmente por los desarrolladores de Gentoo en el momento en que haga emerge eselect y, posteriormente, ejecute el siguiente comando:

Listado de Código 2.1: Ver los perfiles soportados

# eselect profile list

3.  Instrucciones para actualización de perfil

Instrucciones generales

Importante: Asegúrese de que su Portage esté actualizado antes de llevar a cabo cualquier cambio de perfil.

En primer lugar, ejecute emerge eselect. La utilidad eselect le permitirá ver y seleccionar perfiles de forma sencilla, sin necesidad de crear o borrar manualmente enlaces simbólicos.

Listado de Código 3.1: Selección de perfil mediante eselect

(Ver los perfiles disponibles)
# eselect profile list

(Seleccionar de la lista el número de perfil deseado)
# eselect profile set <número>

Si de todos modos prefiriera cambiar el perfil manualmente, entonces haga lo siguiente:

Listado de Código 3.2: Cambiar perfiles manualmente

# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<perfil seleccionado> /etc/make.profile

Nota: Existen subperfiles desktop y server para la mayoría de arquitecturas. Examine estos perfiles con cuidado ya que pueden servir mejor sus necesidades que los perfiles por defecto excesivamente mínimos.

Nota: El subperfil developer (desarrollador) está específicamente pensado para labores de desarrollo de Gentoo Linux. No tiene como objetivo configurar un entorno general de desarrollo.

Actualizar a 2008.0, 2007.0 ó 2006.1

Si tiene la intención de actualizar a estos perfiles, debería saber que estos esperan a que el sistema esté configurado con unas locales Unicode por defecto; concretamente que UNICODE="yes" esté definido en /etc/rc.conf. Para que esto funcione, debe tener creado unas locales Unicode para su sistema. Por favor, lea nuestra guía UTF-8 para aprender cómo crear las locales adecuadas.

Como alternativa, si no desea definir locales, debería entonces especificar UNICODE="no" en /etc/rc.conf y volver a hacer emerge de baselayout (o esperar hasta la próxima actualización de baselayout) con el parámetro USE -unicode. Puede definir -unicode sólo para baselayout o de modo global para todos los paquetes, añadiéndolo en su variable USE en /etc/make.conf.

Listado de Código 3.3: Opcional: eliminar el soporte Unicode

(Borrar el soporte Unicode sólo para baselayout)
# echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use
# emerge -a baselayout

(Borrar el soporte Unicode en todo el sistema)
# nano -w /etc/make.conf
USE="-unicode"
# emerge -a baselayout

Nota: Si está actualizando a un perfil 2007.0 en la arquitectura Sparc, necesitará seguir la Guía de actualización de GCC, puesto que gcc-4 es el compilador predeterminado.

Por último, siga las instrucciones generales para actualizar su perfil.

Actualizar a 2006.0

Para cambiar al perfil 2006.0, apunte el enlace simbólico /etc/make.profile a la nueva ubicación. Asegúrese de que su Portage está actualizado antes de cambiar su perfil.

Listado de Código 3.4: Cambiar a un perfil 2006.0

# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<perfil elegido> /etc/make.profile

Para alpha - Los usuarios que utilicen un núcleo 2.4 o no quieran usar NPTL, deberían escoger el perfil default-linux/alpha/no-nptl. Dispone de mayor información en the alpha release notes.

Para ppc - La unión de los perfiles ppc32 y ppc64 es ya un hecho. El perfil ppc32 ha cambiado de tal modo que ahora se presenta sencillo y genérico, para cualquier propósito, ubicado en default-linux/ppc/ppc32. Este nuevo perfil está optimizado para uso de escritorio y se halla en default-linux/ppc/ppc32/2006.0. Hay varios subperfiles disponibles para procesadores G3 y G4; también se dispone de G3/Pegasos y G4/Pegasos para el Pegasos Open Desktop Workstation. Asegúrese de escoger el adecuado para su sistema cuando cambie a un perfil 2006.0.

sparc - Actualizar al perfil 2006.0/2.4 para los núcleos de la rama 2.4 requiere de la intervención del usuario (desinstalar cosas de java), además de un emerge -e world debido a la actualización de gcc.
Actualizar al perfil 2006.0 para los núcleos de la rama 2.6 que no estén considerados como estables requiere también de una línea en /etc/portage/package.unmask para desenmascarar una versión 2.6 del paquete gentoo-sources, además de una reconstrucción completa.

Para el resto de arquitecturas - No hay cambios importantes en este perfil. No es necesaria ninguna acción especial para realizar el cambio.

Actualizar a 2005.1

Para cambiar al perfil 2005.1, apunte el enlace simbólico /etc/make.profile a la nueva ubicación. Asegúrese de que su Portage está actualizado antes de cambiar su perfil.

Listado de Código 3.5: Cambiar a un perfil 2005.1

# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<perfil elegido> /etc/make.profile

Para todas las arquitecturas - No hay cambios esenciales desde perfiles anteriores, por lo que no se necesitan realizar acciones específicas.

Para ppc - Con la versión 2005.1, los perfiles ppc y ppc64 se han unido y creado un número de subperfiles para subarquitecturas concretas. Asegúrese de elegir el subperfil correcto para su sistema cuando migre a un perfil 2005.1.

Actualizar a 2005.0

Con la llegada de la versión 2005.0, varias arquitecturas han decidido definir perfiles adicionales. Asegúrese de leer la descripción de dichos perfiles antes de decidir migrar a uno de ellos. Ahora la mayoría de arquitecturas también utilizan por defecto la rama 2.6 del núcleo cuando era la 2.4 la que se escogía anteriormente.

Algunas arquitecturas necesitan unas cuantas acciones más para llevar a cabo el cambio de un perfil a otro. Si es ese el caso, las guías paso-a-paso están enlazadas desde la siguiente tabla.

Perfil Descripción Guía de actualización específica
default-linux/alpha/2005.0 Perfil 2005.0 por defecto para Alpha con núcleos 2.6
default-linux/alpha/2005.0/2.4 Perfil 2005.0 por defecto para Alpha con núcleos 2.4
default-linux/amd64/2005.0 Perfil 2005.0 por defecto para AMD64 con núcleos 2.6
default-linux/amd64/2005.0/no-multilib Perfil 2005.0 para AMD64 e instalaciones con multilib desactivado
default-linux/arm/2005.0 Perfil 2005.0 por defecto para ARM con núcleos 2.6
default-linux/hppa/2005.0 Perfil 2005.0 por defecto para HPPA con núcleos 2.6
default-linux/hppa/2005.0/2.4 Perfil 2005.0 para HPPA con núcleos 2.4
default-linux/mips/2005.0 Perfil 2005.0 por defecto para MIPS
default-linux/mips/cobalt/2005.0 Perfil 2005.0 para Cobalt MIPS
default-linux/mips/mips64/n32/2005.0 Perfil 2005.0 para plataformas MIPS con soporte n32
default-linux/mips/mips64/ip28/2005.0 Perfil 2005.0 específico para Indigo2 Impact 64-bit
default-linux/mips/mips64/2005.0 Perfil 2005.0 para MIPS 64-bit
default-linux/ppc/2005.0 Perfil 2005.0 por defecto para PPC con núcleos 2.6
default-linux/ppc64/2005.0 Perfil 2005.0 por defecto para PPC64 con núcleos 2.6
default-linux/s390/2005.0 Perfil 2005.0 por defecto para S390
default-linux/sparc/sparc32/2005.0 Perfil 2005.0 por defecto para Sparc 32-bit
default-linux/sparc/sparc64/2005.0 Perfil 2005.0 por defecto para Sparc 64-bit
default-linux/x86/2005.0 Perfil 2005.0 por defecto para x86 con núcleos 2.6
default-linux/x86/2005.0/2.4 Perfil 2005.0 para x86 con núcleos 2.4

Para cambiar al perfil seleccionado, apunte el enlace simbólico /etc/make.profile a la nueva ubicación. ¡Asegúrese de que su Portage está actualizado antes de cambiar su perfil!

Listado de Código 3.6: Cambiar a un perfil 2005.0

# rm /etc/make.profile
# ln -s ../usr/portage/profiles/<perfil elegido> /etc/make.profile

Si está ejecutando un sistema Linux 2.4 y quiere migrar a un núcleo 2.6, asegúrese de leer nuestra Guía Gentoo de migración al núcleo Linux 2.6.

Actualizar a 2004.3

Con la introducción de los perfiles 2004.3, los usuarios no van a ver enormes modificaciones en sus sistemas (vea los detalles más abajo). Sin embargo, los desarrolladores de Gentoo decidieron desplazar este nuevo perfil y deshacerse de un número considerable de otros viejos para acelerar la adopción de los perfiles en cascada, que no son más que los perfiles que siguen la nueva distribución del directorio /usr/portage/profiles; por ejemplo /usr/portage/profiles/default-linux/x86/2004.3 (soportado por Portage 2.0.51 o superior).

Para cambiar al perfil 2004.3, apunte el enlace simbólico /etc/make.profile a la nueva ubicación:

Aviso: ¡¡No se olvide de actualizar Portage antes de cambiar su perfil!!

Listado de Código 3.7: Actualizar el enlace simbólico /etc/make.profile

sustituya <arch> por su arquitectura
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.3 /etc/make.profile

Para todas las arquitecturas - Como se dijo antes, no hay grandes cambios en este perfil. Sin embargo, debería observar que sys-apps/slocate y net-misc/dhcpcd ya no se consideran paquetes del sistema. Ésto significa que si ejecuta emerge --depclean, Portage intentará eliminarlos de su sistema. Si necesita alguno de estos paquetes, añádalos al fichero /var/lib/portage/world después de cambiar el perfil, o instálelos manualmente con emerge.

Para ppc - Ahora es sys-fs/udev el que se emplea por defecto en las nuevas instalaciones, en vez de sys-fs/devfs. Aunque esto no tiene efecto en los sistemas ya instalados.

Actualizar Portage para que soporte perfiles en cascada

Aunque esta sección no parezca que se integre bien en esta guía de actualización, es bastante importante. Cualquier perfil listado encima de esta sección requiere de una versión de Portage que soporte perfiles en cascada. Sin embargo, algunos perfiles obsoletos no permiten al usuario actualizar Portage o el usuario está utilizando un perfil que ya no se encuentra disponible - por lo que cualquier intento de actualizar Portage será fallido.

Para solucionar esto, los usuarios pueden crear un enlace simbólico temporal hacia el perfil obsoleto permitiéndoles así actualizar su Portage y poder continuar con el procedimiento de actualización propuesto en esta guía. Sustituya <arch> por su arquitectura correspondiente:

Listado de Código 3.8: Actualizar Portage por medio de un perfil obsoleto

# rm /etc/make.profile
# cd /etc
# ln -sf ../usr/portage/profiles/obsolete/<arch> make.profile
# emerge -n '>=sys-apps/portage-2.0.51'

Actualizar a 2004.2

Para cambiar al perfil 2004.2, apunte el enlace simbólico /etc/make.profile a la nueva ubicación:

Aviso: ¡¡No se olvide de actualizar Portage antes de cambiar su perfil!!

Listado de Código 3.9: Actualizar el enlace simbólico /etc/make.profile

sustituya <arch> por su arquitectura
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/make.profile

Para x86 - Este perfil cambia la implementación X11 de x11-base/xfree a x11-base/xorg-x11. Este cambio únicamente toca el valor por defecto y es sólo significativo para aquellos que todavía no tienen instalado un servidor X. Si ya tiene uno, ésto no le afectará lo más mínimo; es libre de cambiar de un servidor X a otro de la misma manera que antes.

Para amd64 - No hay cambios esenciales desde perfiles anteriores, por lo que no se necesitan realizar acciones específicas.

Actualizar a 2004.0

Para cambiar al perfil 2004.0, apunte el enlace simbólico /etc/make.profile a la nueva ubicación:

Listado de Código 3.10: Actualizar el enlace simbólico /etc/make.profile

sustituya <arch> por su arquitectura
# rm /etc/make.profile
# ln -s ../usr/portage/profiles/default-<arch>-2004.0 /etc/make.profile

Para todas las arquitecturas - No hay cambios esenciales desde perfiles anteriores, por lo que no se necesitan realizar acciones específicas.

Actualizar a 1.4 desde perfiles más viejos que éste

Las instrucciones para esta actualización son bastante enrevesadas, puede encontrarlas aquí.