Upgrading Gentoo/es

Este documento explica cómo las nuevas versiones de Gentoo afectan a instalaciones ya existentes.

Filosofía
Here in Gentoo land, the concept of upgrading is quite different compared to the rest of the Linux world. It is a well-known fact that Gentoo never got in touch with the "classic" way of upgrading software: waiting for a new release, downloading it, burning, putting it in the cdrom drive and then following the upgrade instructions.

Gentoo users know however that this process is extremely frustrating for power users that want to live on the bleeding edge. Even power users from other distributions probably share the same feelings, given the popularity and spread of tools like apt or apt-rpm which make it possible to have quick and frequent updates. However, no distribution is more suited than Gentoo to satisfy these kind of demanding users. From the beginning, Gentoo was designed around the concept of fast, incremental updates.

Ideally, users install software once and never bother with releases: just follow the instructions in A Portage Introduction in the Gentoo handbook that explain how to keep the system up to date. While that's the way things usually go, sometimes changes are made to the core system which require updates to be done manually.

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


 * Una nueva versión supone nuevos CDs de Instalación con errores corregidos y nuevas funcionalidades
 * Una nueva versión proporciona un conjunto actualizado de paquetes GRP, por lo que aquellos usuarios que elijan "el modo rápido" de instalación (stage3 + paquetes precompilados) terminarán con un sistema que no está pasado de moda
 * Por último, una nueva versión puede, de cuando en cuando, implementar algunas funcionalidades que no eran compatibles en versiones anteriores

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 (profile) es una serie de ficheros de configuración almacenados en un subdirectorio dentro de que definen cosas como los ficheros ebuild que se consideran paquetes system, los ajustes USE por defecto, el mapeo por defecto de los paquetes virtuales y la arquitectura en la que se ejecuta el sistema.

El perfil en uso se determina por el enlace simbólico el cual apunta a un subdirectorio dentro de  donde se almacenan todos los perfiles. Por ejemplo, el perfil por defecto de la versión 13.0 para se puede encontrar en. Los ficheros del directorio precedente también forman parte del perfil (y, por lo tanto, se comparten entre diferentes subperfiles diferentes). Ésta es la razón por la que los llamamos perfiles en cascada.

Profiles obsoleted by new ones are kept in along with the current ones, but they are marked as deprecated. When that happens a file named is put in the profile directory. The content of this file is the name of the profile that should be "upgraded to"; Portage uses this information to automatically warn administrators when they should update to a new profile.

Hay varias razones por la que se puede crear un nuevo perfil nuevo: la publicación de nuevas versiones de paquetes principales (como,  o ) que son incompatibles con versiones previas, un cambio en los ajustes 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 que afecta a todo el sistema.

Versiones sin cambios de perfil
If a new Gentoo release does not include a new profile then just pretend that it never happened. :)

When the installed packages are upgraded as explained in the Gentoo Handbook, then the system will be exactly the same as one that has been installed using the new release.

Versiones con cambio de perfil
If a release (such as 13.0 for ) introduces a new profile, then there is the choice to migrate to the new profile.

Generally, such migrations are not mandatory, and systems can continue to use the old profile - just update the packages as explained in the Gentoo Handbook.

However, Gentoo strongly recommends updating the profile if it becomes deprecated. When this happens, it means that Gentoo developers no longer plan on supporting it.

When a profile migration is apparent, then the upgrade has to be executed manually. The way to update may vary significantly from release to release; it depends on how deep the modifications introduced in the new profile are.

In the simplest case users only have to change the symlink, in the worst case they may have to recompile the entire system from scratch while doing a neat voodoo dance. Migration is usually covered in the release notes. The necessary instructions are explained further in this guide.

Perfiles soportados
To view the list of supported profiles, call (which can be installed using ) as follows:

Actualizar desde sistemas antiguos
Algunos sistemas son tan antiguos que no es puede simplemente cambiar el perfil. Los nuevos perfiles podrían necesitar versiones más recientes de Portage u otro software que no se puede instalar debido a que las definiciones de los paquetes (ebuilds) para esas versiones antiguas del software ya no están disponibles.

En este caso, el sistema debe recibir en primer lugar instantáneas del árbol de Portage más antiguas y actualizar al menos Portage (pero es preferible que se actualicen todos los paquetes del conjunto system), se incrementa gradualmente la fecha de las instantáneas del árbol Portage hasta que sea lo suficientemente reciente para poder seguir de nuevo las instrucciones de cambio de perfil:

Las instantáneas antiguas a menudo están disponibles en algunos servidores réplica en Internet o en localizaciones específicas para este propósito. Se recomienda verificar la integridad de estos ficheros para asegurarse de que no fueron modificados:

Aunque las claves de firmado podrían haber expirado, la firma debería ser correta aún.

Actualizar desde sistemas (demasiado) antiguos
En ocasiones, los sistemas son tan antiguos que es complicado actualizarlos. En el camino para su actualización puede que se requieran versiones intermedias de software (como portage) que ya no existen, y por tanto se podría necesitar una actualización del árbol de portage en pasos (por ejemplo actualizaciones incrementales del árbol con pasos de tres o cuatro meses).

To upgrade such systems, a recent stage3 can be used to update the system. Instructions for that are given in the Updating old systems section.

Instrucciones generales
First, run. The utility makes viewing and selecting profiles easy, without needing to create or remove symlinks by hand.

Changing profiles manually is still supported though:

Actualizar a 2008.0, 2007.0 ó 2006.1
Be aware that, if an upgrade from these profiles is selected, that they expect the system to be set to a Unicode locale by default; specifically that  is set in. For this to work, a Unicode locale for the system must be created. Please read the UTF-8 article to learn how to create the proper locale.

Alternatively, if setting a locale is not preferred, then users need to specify UNICODE="no" in, and re-emerge (or wait until the next baselayout update) with the   USE flag. This can be accomplished through:


 * setting  just for, like so:


 * or setting it globally for all packages by adding it to the USE variable in :

Finally, follow the general upgrade instructions for updating the profile.

Actualizar a 2006.0
To switch to the 2006.0 profile, point the symlink to the new location. Make sure Portage is updated before changing the profile.

. 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 más información en las notas de la versión para alpha.

- The merge of the ppc32 and ppc64 profiles went forward. The ppc32 profile has been changed in a way that offers a minimalistic generic profile for all purposes, located in default-linux/ppc/ppc32. The release-dependent profile is optimized for desktop-usage and located in default-linux/ppc/ppc32/2006.0. There are some subprofiles available for G3 and G4 processors, and G3/Pegasos and G4/Pegasos for the Pegasos Open Desktop Workstation. Make sure to choose the correct subprofile for the system when migrating to a 2006.0 profile.

- Actualizar al perfil 2006.0/2.4 para los núcleos de la rama 2.4 requiere la intervención del usuario (desinstalar cosas de java), además de un 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 una entrada en para desenmascarar una versión 2.6 de  además de una reconstrucción completa.

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
To switch to the 2005.1 profile, point the symlink to the new location. Make sure Portage is updated before changing the profile.

Todas las arquitecturas -No hay cambios esenciales en este perfil. No se necesitan realizar acciones específicas.

- With the 2005.1 release, the ppc and ppc64 profiles were merged and a number of subprofiles for specific subarchitectures were created. Make sure to choose the correct subprofile for the system when migrating to a 2005.1 profile.

Actualizar a 2005.0
With the introduction of 2005.0, several architectures have decided to define additional profiles. Make sure to read the description of said profiles before deciding to migrate to one of them. Most architectures now also default to the 2.6 kernel tree where 2.4 was chosen previously.

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.

To switch to the selected profile, point the symlink to the new location. Make sure Portage is updated before changing the profile!

When an upgrade is planned from a Linux 2.4-based system to a 2.6 kernel, make sure to read our Gentoo Linux 2.6 Migration Guide.

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 antiguos para acelerar la adopción de los perfiles apilados, que no son más que los perfiles que siguen la nueva distribución del directorio, por ejemplo (soportado por Portage 2.0.51 y versiones posteriores).

Para cambiar al perfil 2004.3, apunte el enlace simbólico a la nueva ubicación:

All archs - As said above, there are no big changes introduced in this profile. However, it should be noted that and  are no longer considered system packages. This means that during a, Portage will try to remove them from the system. If any of those packages are needed, add them to after the profile switch, or manually emerge them.

- Ahora se utiliza por defecto en lugar de  para las nuevas instalaciones. Esto no tiene ningún efecto en las máquinas en las que ya se ha realizado la instalación.

Actualizar Portage para que ofrezca soporte a perfiles en cascada
Aunque esta sección no parezca que se integre bien en esta guía de actualización, es muy 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 fallará.

To work around this problem, users can set a temporary symbolic link to the obsolete profile, allowing them to upgrade their Portage after which they can continue with the upgrade procedure set forth in this guide. Please substitute  with the respective system architecture:

Actualizar a 2004.2
Para cambiar al perfil 2004.2, apunte el enlace simbólico a la nueva ubicación:

- This profile changes the default X11 implementation from (deprecated) to. This change only touches the default value, and is only relevant for those who have not installed an X server yet. If one is already installed, then it will not affect the system at all; users are free to switch from one X server to the other exactly as before.

. 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 a la nueva ubicación:

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 anteriores a éste
The instructions for this upgrade are quite complex, and can be found here.

La idea de la actualización
La idea del enfoque de esta actualización es que vamos a crear una jaula chroot intermedia de construcción en la que extraeremos un stage3 reciente. A continuación, utilizando las herramientas disponibles en la jaula del stage3, actualizaremos los paquetes del sistema vivo.

Preparar la jaula chroot intermedia para la construcción
En primer lugar creamos la localización de la jaula intermedia de construcción, digamos y extraemos un archivo stage3 reciente en ella.

A continuación creamos un punto de montaje dentro de este entorno chroot, en el cual montaremos el entorno vivo (antiguo) con la opción bind.

Ahora también se puede acceder al sistema vivo (antiguo) a través de. Esto nos permitirá acceder al sistema vivo (antiguo) y actualizar los paquetes incluso cuando están dentro de la jaula chroot intermedia de construcción.

Red, chroot y actualización
La nueva instalación necesita acceder a la red, por lo tanto, copie la información relacionada a través de la red:

Now chroot into the intermediate build location, and start updating vital packages on the live system, until the live system can be updated from within the live system (rather than through the intermediate build chroot):

Now start building packages into the (old) live system. If Portage is old or missing, it is a good idea to start with that:

Keep this chrooted session open and try to update the (old) live system. When failures occur, use this chrooted session to update packages using the build tools available in the intermediate build chroot (which includes recent, , etc.). Tools can be added as needed to the build chroot.

For some installations it may be necessary to update configuration files in order to install new software. Make the changes in the chroot environment.

To get the system fully up-to-date before exiting the root, build the  set (all packages) into the (old) live system:

Una vez finalizado, el sistema debería estar actualizado.