Guide des mises à jour de Gentoo
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 |
# eselect profile list
# 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 |
# echo "sys-apps/baselayout -unicode" >> /etc/portage/package.use
# emerge -a baselayout
# 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 |
# 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
# 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 |
# 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 |
# 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
# 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 !
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|