Gentoo Logo

Guide des mises à jour de Gentoo

Table des matières :

1.  Gentoo et les mises à jour

Philosophie

Dans le monde de Gentoo, le concept de mise à jour est différent de la plupart des distributions. Vous avez sans doute déjà remarqué que vous ne devez pas attendre la prochaine version, la télécharger, graver un CD et ensuite réaliser la mise à jour comme c'est souvent le cas avec d'autres distributions.

Vous savez que ce processus est frustrant pour des utilisateurs avancés qui veulent les dernières versions des logiciels installées. C'est pour cette même raison que des outils tels que apt ou apt-rpm ont vu le jour. Les utilisateurs des autres distributions veulent aussi mettre à jour quand ils le souhaitent. Cependant, Gentoo est la meilleure distribution pour ceux qui veulent rester à jour en permanence, car elle a été conçue pour être actualisée au jour le jour.

En principe, vous ne devriez installer qu'une seule fois et ne plus vous soucier des nouvelles versions par la suite. Suivez les indications du chapitre Introduction à Portage du Manuel Gentoo pour maintenir votre système à jour. Cependant, il peut arriver que des modifications soient apportées au cœur du système, ce qui requiert une intervention manuelle de l'utilisateur.

Les versions et les profils

Une question récurrente est : « Pourquoi sortez-vous des nouvelles versions régulièrement si ce n'est pour que les utilisateurs mettent leur installation à jour ? ». Il y a plusieurs raisons :

  • Une nouvelle version, c'est de nouveaux CD d'installation avec des corrections de bogues et plus de fonctionnalités.
  • Une nouvelle version fournit des paquets précompilés à jour et permet aux utilisateurs qui optent pour une installation rapide (stage3 + paquets précompilés) d'obtenir un système relativement à jour.
  • Une nouvelle version peut, de temps en temps, ajouter des fonctionnalités incompatibles avec les versions précédentes.

Quand une nouvelle version contient des fonctionnalités incompatibles avec les versions précédentes ou quand elle fournit un jeu de paquets ou de réglages qui modifient profondément le comportement du système, nous disons que la version installe un nouveau profil.

Un profil est un ensemble de fichiers de configuration stockés dans un sous-répertoire de /usr/portage/profiles/. Ces fichiers contiennent par exemple la liste des ebuilds qui constituent les paquets de base du système, les options par défaut de la variable USE, la cartographie par défaut des paquets virtuels et le nom de l'architecture sur laquelle le système tourne.

Le profil en cours d'utilisation est défini par le lien symbolique /etc/portage/make.profile qui pointe vers un sous-répertoire de /usr/portage/profiles où sont stockés tous les profils. Par exemple, le profil x86 13.0 par défaut se trouve dans /usr/portage/profiles/default/linux/x86/13.0. Les fichiers des répertoires parents font également partie du profil et sont partagés par plusieurs sous-profils ; c'est pourquoi nous les appelons les profils en cascade.

Les profils rendus obsolètes sont conservés dans /usr/portage/profiles avec les profils actuels, mais sont marqués comme étant surannés par la présence d'un fichier deprecated dans le répertoire du profil. Le contenu de ce fichier est le nom du profil qui remplace le profil obsolète. Portage utilise cette information pour vous avertir quand vous devez mettre à jour votre profil.

Plusieurs raisons peuvent justifier la création d'un nouveau profil : l'utilisation de nouvelles versions des paquets de base tels que baselayout, gcc ou glibc qui seraient incompatibles avec les versions antérieures, une modification des options par défaut de la variable USE, un changement des correspondances entre les paquets virtuels et les paquets utilisés ou encore une modification d'un paramètre système global.

2.  Rester à jour

Nouvelles versions sans changement de profil

Quand une nouvelle version de Gentoo ne contient pas de nouveau profil, vous pouvez l'ignorer en toute sûreté.

Si vous mettez votre système à jour régulièrement comme expliqué dans le Manuel Gentoo, votre système est identique à ce que vous obtiendriez en faisant une nouvelle installation.

Nouvelles versions avec changement de profil

Si une nouvelle version (comme la 13.0 par exemple) ajoute un nouveau profil, vous avez le choix de migrer vers ce nouveau profil.

Évidemment, vous n'y êtes pas obligé et vous pouvez continuer à utiliser l'ancien et à mettre vos paquets à jour comme expliqué dans le Manuel Gentoo.

Cependant, Gentoo vous recommande de mettre à jour votre profil s'il devient obsolète. Lorsque cela arrive, cela signifie que les développeurs Gentoo ne comptent plus s'en occuper.

Pour migrer vers un nouveau profil, vous devez réaliser la mise à jour manuellement. La façon de procéder pour la mise à jour peut varier considérablement d'une version à une autre. Cela dépend de l'importance des modifications qui ont été apportées au nouveau profil.

Dans le plus simple des cas, vous devez juste modifier le lien symbolique /etc/portage/make.profile. Dans le pire des cas, vous devrez recompiler tout votre système. Les instructions sont généralement fournies avec la nouvelle version de Gentoo. Vous trouverez également des instructions à la fin de ce guide.

Profils supportés

Pour visualiser la liste des profils supportés officiellement par l'équipe de développeurs Gentoo pour votre architecture, installez eselect et lancez la commande suivante :

Exemple de code 2.1 : obtenir la liste des profils pris en charge

# eselect profile list

Mise à jour à partir de (trop) anciens systèmes

Il arrive parfois que le système soit trop ancien pour être facilement mis à jour. Le fil de la mise à jour peut nécessiter des versions intermédiaires de certains programmes (tels que Portage) qui n'existent plus, et vous pouvez avoir besoin de mettre l'arbre de Portage à jour par étapes (par exemple une mise à jour incrémentale de l'arbre avec des pas de 3 à 4 mois).

Pour mettre de tels systèmes à jour, vous pouvez utiliser une archive d'étape 3 pour les mettre à jour. Des instructions pour ce cas sont fournies dans la section Mise à jour des anciens systèmes section.

3.  Mettre votre profil à jour

Instructions générales

Important : mettez votre arbre de Portage à jour avant de procéder à un changement de profil.

Pour commencer, installez eselect (emerge eselect) qui vous permettra de visualiser et de sélectionner facilement les profils sans devoir créer ou supprimer de lien symbolique manuellement.

Exemple de code 3.1 : sélectionner un profil avec eselect

(Lister les profils disponibles.)
# eselect profile list

(Indiquez le numéro du profil désiré.)
# eselect profile set <numéro>

Si vous préférez changer de profil manuellement, voici la marche à suivre :

Exemple de code 3.2 : sélectionner un profil manuellement

# rm /etc/portage/make.profile
# ln -s ../usr/portage/profiles/<nom du profil> make.profile

Note : des sous-profils desktop (adapté à une utilisation de bureau) et server (adapté aux serveurs) existent pour la majorité des architectures. Examinez-les attentivement car ils peuvent vous faciliter la vie par rapport aux profils par défaut qui sont très minimalistes.

Note : le sous-profil developer est réservé aux tâches de développement pour Gentoo Linux. Il n'est pas destiné à créer un environnement de développement en général.

Mise à jour vers 2008.0, 2007.0 ou 2006.1

Si vous comptez migrer vers un de ces profils, vous devez savoir qu'ils s'attendent à ce que la locale de votre système soit configurée en Unicode par défaut, c'est-à-dire que la variable UNICODE="yes" est définie dans votre fichier /etc/rc.conf. Pour cela, vous devez avoir créé une locale Unicode que votre système pourra utiliser. Veuillez vous référer à notre Utiliser l'UTF-8 sous Gentoo pour apprendre comment créer la locale appropriée.

Dans le cas où vous ne souhaiteriez pas définir de locale, vous devez explicitement mettre la variable UNICODE="no" dans votre /etc/rc.conf et réinstaller le paquet baselayout en désactivant l'option unicode de la variable USE. Vous pouvez choisir l'option -unicode pour qu'elle s'applique uniquement au paquet baselayout, en l'ajoutant aux options sélectives de la variable USE dans le fichier /etc/portage/package.use, ou pour qu'elle s'applique à tout le système, en l'ajoutant aux options globales de la variable USE dans le fichier /etc/portage/make.conf.

Exemple de code 3.3 : facultatif  - enlever la prise en charge de l'Unicode

(Retirer la prise en charge de l'Unicode uniquement pour baselayout.)
# echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use
# emerge -a baselayout

(Retirer la prise en charge de l'Unicode par le système entier.)
# nano -w /etc/portage/make.conf
USE="-unicode"
# emerge -a baselayout

Note : en cas de mise à jour d'une Sparc vers le profil 2007.0, veuillez suivre le guide de mise à jour de GCC, car gcc-4 est maintenant le compilateur par défaut.

Ensuite, suivez les instructions générales afin de mettre votre profil à jour.

Mise à jour vers 2006.0

Pour faire passer votre profil en version 2006.0, faites pointer le lien /etc/portage/make.profile vers le nouveau répertoire. Assurez-vous que Portage ait bien été mis à jour avant de procéder à cette manipulation.

Exemple de code 3.4 : passer le profil en 2006.0

# rm /etc/portage/make.profile
# ln -s ../usr/portage/profiles/<nom du profil> /etc/portage/make.profile

alpha - Les utilisateurs du noyau 2.4 ou ceux qui ne souhaitent pas utiliser NPTL devraient utiliser le profil default-linux/alpha/no-nptl. Plus d'informations sont diponibles dans les notes de publication alpha.

ppc - La fusion des profils ppc32 et ppc64 est arrivée en avance. Le profil ppc32 a été modifié afin d'offrir un profil générique convenant à tous les usages. Il est situé dans default-linux/ppc/ppc32. Le profil de la version 2006.0 est optimisé pour les stations de bureaux et est situé dans default-linux/ppc/ppc32/2006.0. Il y a plusieurs sous-profils disponibles pour les processeurs G3 et G4, ainsi que G3/Pegasos et G4/Pegasos pour les stations de travail Pegasos Open Desktop. Faites attention à bien choisir le bon sous-profil lorsque vous mettez à jour vers 2006.0.

sparc - La mise à jour vers le profil 2006.0/2.4, basé sur un noyau 2.4, nécessite une intervention manuelle (désinstallation des programmes liés à Java) et un emerge -e world à cause de la mise à jour de GCC.
La mise à jour vers le profil 2006, basé sur un noyau 2.6 qui n'est pas encore considéré stable, nécessite également l'ajout d'une entrée dans /etc/portage/package.unmask pour démasquer une version 2.6 des gentoo-sources, ainsi qu'une recompilation complète du système.

Toutes les autres architectures - Il n'y a pas de changement fondamental dans ce profil. Aucune action spécifique n'est à entreprendre.

Mise à jour vers 2005.1

Pour faire passer votre profil en version 2005.1, faites pointer le lien /etc/portage/make.profile vers le nouveau répertoire. Assurez-vous que Portage ait bien été mis à jour avant de procéder à cette manipulation.

Exemple de code 3.5 : passer le profil en 2005.1

# rm /etc/portage/make.profile
# ln -s ../usr/portage/profiles/<nom du profil> /etc/portage/make.profile

Toutes architectures : Il n'y a pas de changement fondamental dans ce nouveau profil. Aucune action particulière n'est à entreprendre.

ppc : Avec la version 2005.1, les profils ppc et ppc64 ont fusionné et un certain nombre de sous-profils spécifiques aux diverses sous-architectures ont été créés. Assurez-vous de choisir le bon profil pour votre système lorsque vous procéderez à la migration vers le profil 2005.1.

Mise à jour vers 2005.0

Avec l'arrivée de 2005.0, plusieurs architectures ont décidé de définir de nouveaux profils. Lisez attentivement les descriptions de ces profils avant de vous lancer dans une éventuelle migration vers l'un d'entre eux. La plupart des architectures utilisent maintenant la branche 2.6 du noyau par défaut alors qu'avant c'était la 2.4 qui était choisie.

Quelques architectures requièrent quelques actions supplémentaires avant de pouvoir passer d'un profil à un autre. Lorsque c'est le cas, un lien dans la table ci-dessous vous amènera vers un guide étape par étape pour vous assister.

Profil Description Guide de mise à jour spécifique
default-linux/alpha/2005.0 Profil Alpha 2005.0 par défaut en noyau 2.6
default-linux/alpha/2005.0/2.4 Profil Alpha 2005.0 en noyau 2.4
default-linux/amd64/2005.0 Profil AMD64 2005.0 par défaut en noyau 2.6
default-linux/amd64/2005.0/no-multilib Profil AMD64 2005.0 pour une installation avec multilib désactivé
default-linux/arm/2005.0 Profil ARM 2005.0 par défaut en noyau 2.6
default-linux/hppa/2005.0 Profil HPPA 2005.0 par défaut en noyau 2.6
default-linux/hppa/2005.0/2.4 Profil HPPA 2005.0 en noyau 2.4
default-linux/mips/2005.0 Profil MIPS 2005.0 par défaut
default-linux/mips/cobalt/2005.0 Profil MIPS 2005.0 pour Cobalt
default-linux/mips/mips64/n32/2005.0 Profil 2005.0 64-bit pour les MIPS qui supportent n32
default-linux/mips/mips64/ip28/2005.0 Profil 2005.0 64-bit pour les Indigo2 Impact
default-linux/mips/mips64/2005.0 Profil MIPS 2005.0 64-bit
default-linux/ppc/2005.0 Profil PPC 2005.0 par défaut en noyau 2.6
default-linux/ppc64/2005.0 Profil PPC64 2005.0 par défaut en noyau 2.6
default-linux/s390/2005.0 Profil S390 2005.0 par défaut
default-linux/sparc/sparc32/2005.0 Profil Sparc 32-bit 2005.0 par défaut
default-linux/sparc/sparc64/2005.0 Profil Sparc 64-bit 2005.0 par défaut
default-linux/x86/2005.0 Profil x86 2005.0 par défaut en noyau 2.6
default-linux/x86/2005.0/2.4 Profil x86 2005.0 en noyau 2.4

Pour basculer vers le profil sélectionné, faites pointer le lien symbolique /etc/portage/make.profile vers le nouveau répertoire. Portage doit être mis à jour avant de changer de profil !

Exemple de code 3.6 : basculer vers le profil 2005.0

# rm /etc/portage/make.profile
# ln -s ../usr/portage/profiles/<nom du profil> /etc/portage/make.profile

Si vous êtes actuellement sous Linux 2.4 et souhaitez passer sur un profil en 2.6, nous vous invitons à lire le guide Gentoo exhaustif pour la migration vers Linux 2.6.

Mise à jour vers 2004.3

Les profils de la version 2004.3 ne sont pas très différents des versions précédentes. Cependant, certains vieux profils ont été rendus obsolètes pour faciliter l'adoption des profils en cascade, c'est-à-dire les profils qui respectent les nouvelles conventions dans le répertoire /usr/portage/profiles (par exemple, /usr/portage/profiles/default-linux/x86/2004.3.) Portage utilise ces conventions depuis la version 2.0.51.

Pour passer au profil 2004.3, modifiez le lien symbolique /etc/portage/make.profile pour le faire pointer vers le nouveau profil :

Attention : n'oubliez pas de mettre Portage à jour avant de changer de profil.

Exemple de code 3.7 : mettre le lien symbolique /etc/portage/make.profile à jour

Remplacer <arch> par votre architecture
# rm /etc/portage/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.3 /etc/portage/make.profile

Toutes architectures - Il n'y a pas de changement fondamental depuis les profils précédents. Cependant, veuillez remarquer que les paquets sys-apps/slocate et net-misc/dhcpcd ne font plus partie des paquets système. Ceci signifie que si vous lancez emerge --depclean, Portage les supprimera. Si vous utilisez ces paquets, vous devez les ajouter dans /var/lib/portage/world ou les installer manuellement avec la commande emerge.

ppc - sys-fs/udev est utilisé par défaut au lieu de sys-fs/devfs lors d'une nouvelle installation. Les installations existantes ne sont pas affectées.

Mettre Portage à jour pour qu'il supporte les profils en cascade

Bien que cette section ne semble pas liée à la mise à jour de Gentoo, elle est très importante. Les profils cités ci-dessus nécessitent une version de Portage qui supporte les profils en cascade. Certains anciens profils bloquent la mise à jour de Portage. Parfois, le profil utilisé n'est plus dans Portage. Dans ces cas-là, toute tentative de mise à jour de Portage échouera.

Pour résoudre ce problème, vous devez utiliser un lien symbolique temporaire qui pointe vers le profil obsolète, mettre Portage à jour et ensuite effectuer la mise à jour décrite dans ce guide.

Exemple de code 3.8 : mettre Portage à jour via un profil obsolète

# rm /etc/portage/make.profile
# cd /etc/portage 
(Remplacez <arch> par votre architecture ci-dessous)
# ln -sf ../usr/portage/profiles/obsolete/<arch> make.profile
# emerge -n '>=sys-apps/portage-2.0.51'

Mise à jour vers 2004.2

Pour passer au profil 2004.2, modifiez le lien symbolique /etc/portage/make.profile pour le faire pointer vers le nouveau profil :

Attention : n'oubliez pas de mettre Portage à jour avant de changer de profil.

Exemple de code 3.9 : mettre le lien symbolique /etc/make.profile à jour

Remplacer <arch> par votre architecture
# rm /etc/portage/make.profile
# ln -s ../usr/portage/profiles/default-linux/<arch>/2004.2 /etc/portage/make.profile

x86 - Ce profil change l'implémentation X11 par défaut de x11-base/xfree à x11-base/xorg-x11. Ce changement ne modifie que la valeur par défaut et n'affecte que les personnes qui n'ont pas encore installé de serveur X. Si vous en avez déjà installé un, alors cela ne vous affectera pas du tout. Vous êtes libre de passer d'un serveur X à l'autre comme avant.

amd64 - Il n'y a pas de changement fondamental depuis les profils précédents. Aucune action spécifique n'a besoin d'être faite.

Mise à jour vers 2004.0

Pour passer au profil 2004.0, il suffit de modifier le lien symbolique /etc/portage/make.profile pour le faire pointer vers le nouveau profil :

Exemple de code 3.10 : mettre le lien /etc/portage/make.profile à jour

Remplacer <arch> par votre architecture
# rm /etc/portage/make.profile
# ln -s ../usr/portage/profiles/default-<arch>-2004.0 /etc/portage/make.profile

Toutes architectures - Il n'y a pas de changement fondamental depuis les profils précédents. Aucune action spécifique n'a besoin d'être faite.

Mise à jour d'un profil antérieur à 1.4 vers 1.4

Cette mise à jour est complexe. Les instructions sont décrites dans le Guide de mise à jour Gentoo Linux 1.4.

4.  Mise à jour des anciens systèmes

Principe de la mise à jour

Le principe de cette mise à jour est de créer un environnement intermédiaire qui deviendra temporairement la nouvelle racine (chroot), pour la construction/compilation, et d'y extraire une archive d'étape 3 récente. Ensuite, à l'aide des outils disponibles dans l'archive, de mettre à jour les paquets du système de départ (live system).

Préparation de l'environnement de compilation/construction intermédiaire qui deviendra temporairement la nouvelle racine (chroot)

Commençez par créer l'emplacement où sera placé l'environnement intermédiaire de compilation/construction après changement de racine, soit ici /mnt/build, et extrayez-y l'archive d'étape 3.

Exemple de code 4.1 : préparer l'environnement intermédiaire de compilation/construction

# mkdir /mnt/build
# tar -xf -C /mnt/build /path/to/stage3-somearch-somedate.tar.bz2
# mount --rbind /dev /mnt/build/dev
# mount --rbind /proc /mnt/build/proc
# mount --rbind /sys /mnt/build/sys

Ensuite créez un point de montage dans cet environnement, sur lequel vous lierez-monterez, plus tard, l'environnement live courant (l'ancien).

Exemple de code 4.2 : créer un point de montage d'accueil (host) et y monter l'ancien système

# mkdir /mnt/build/mnt/host
# mount --rbind / /mnt/build/mnt/host

Ainsi, maintenant, l'ancien système est aussi accessible par le chemin /mnt/build/mnt/host. Ceci vous permettra d'atteindre l'ancien système et d'y mettre les paquets à jour, y compris après avoir changé de racine vers l'environnement intermédiaire de construction/compilation.

Changement de racine et mise à jour

Changez maintenant de racine vers l'environnement intermédiaire et commencez à mettre à jour les paquets vitaux sur l'ancien système, jusqu'à ce qu'il soit possible de continuer la mise à jour depuis l'ancien environnement (plutôt que depuis l'environnement intermédiaire).

Exemple de code 4.3 : changer de racine et mettre à jour les paquets vitaux

# chroot /mnt/build
# source /etc/profile

# Maintenant commencez à compiler et installer des paquets sur l'ancien environnement
# ROOT=/mnt/host emerge -1v portage

Tenez l'environnement intermédiaire ouvert et essayez de mettre à jour l'ancien système. Lorsque vous rencontrez une erreur, vous pouvez utiliser la session dans le nouvel environnement (sous nouvelle racine) pour mettre les paquets à jour en utilisant les outils disponibles dans cet environnement intermédiaire (qui comprend des glibc, gcc etc. récents). N'oubliez pas de préfixer toutes les commandes emerge par ROOT=/mnt/host dans l'environnement intermédiaire sous la nouvelle racine !



Imprimer

Dernière mise à jour le 6 avril 2013

La version originale de cette traduction n'est plus maintenue

Résumé : Ce document décrit la marche à suivre lors de la sortie d'une nouvelle version de Gentoo.

Gregorio Guidi
Auteur

Chris Gianelloni
Correcteur

Joshua Saddler
Correcteur

Xavier Neys
Traducteur

Camille Huot
Traducteur

José Fournier
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.