Mise à jour de Gentoo
Table des matières
Voici un bref article qui récapitule les commandes pour mettre à jour Gentoo.
Dans un premier temps, on met à jour l'arbre portage :
En cas de soucis, on peut utiliser :
On met ensuite à jour le système, en tenant compte des nouveaux USE et des nouvelles dépendances :
On met à jour les fichiers de config au besoin :
On peut supprimer les dépendances orphelines :
On recompile les paquets qui ont conservés d'anciennes versions de bibliothèques (si demandé) :
Si un nouveau kernel a été installé, on reconstruit les modules associés :
On reconstruit ensuite les dépendances inverses (liens cassés si indiqué) :
On peut aussi supprimer les archives téléchargées obsolètes :
Il est possible d'avoir des conflits lorsque PYTHON est mis à jour chez Gentoo.
Par exemple si des paquets tiers ne sont pas encore disponible avec la prochaine version de Python. (Passage de 3.10 à 3.11 mais que vous avez quelques paquets compilable qu'avec Python 3.10).
On va pouvoir temporairement forcer dans le make.conf la version de Python (ici 3.10) :
Ajouter / modifier la ligne :
Relancez la mise à jour du world.
Dès que votre paquet problématique est disponible dans la bonne version de Python, on pourra simplement commenter cette ligne PYTHON_SINGLE_TARGET.
Introduction
Voici un bref article qui récapitule les commandes pour mettre à jour Gentoo.
Mise à jour
Dans un premier temps, on met à jour l'arbre portage :
Code BASH :
emerge --sync
En cas de soucis, on peut utiliser :
Code BASH :
emerge-webrsync
On met ensuite à jour le système, en tenant compte des nouveaux USE et des nouvelles dépendances :
Code BASH :
emerge -auvDN --with-bdeps=y @world
On met à jour les fichiers de config au besoin :
Code BASH :
dispatch-conf
On peut supprimer les dépendances orphelines :
Code BASH :
emerge -ac
On recompile les paquets qui ont conservés d'anciennes versions de bibliothèques (si demandé) :
Code BASH :
emerge @preserved-rebuild
Si un nouveau kernel a été installé, on reconstruit les modules associés :
Code BASH :
emerge @module-rebuild
On reconstruit ensuite les dépendances inverses (liens cassés si indiqué) :
Code BASH :
revdep-rebuild -iq
On peut aussi supprimer les archives téléchargées obsolètes :
Code BASH :
eclean-dist -d
Code BASH :
eclean-pkg -d
Astuce sur des problèmes possibles
Mise à jour impossible à cause d'une mise à jour de python
Il est possible d'avoir des conflits lorsque PYTHON est mis à jour chez Gentoo.
Par exemple si des paquets tiers ne sont pas encore disponible avec la prochaine version de Python. (Passage de 3.10 à 3.11 mais que vous avez quelques paquets compilable qu'avec Python 3.10).
On va pouvoir temporairement forcer dans le make.conf la version de Python (ici 3.10) :
Code BASH :
vi /etc/portage/make.conf
Ajouter / modifier la ligne :
Code BASH :
PYTHON_SINGLE_TARGET="python3_10"
Relancez la mise à jour du world.
Dès que votre paquet problématique est disponible dans la bonne version de Python, on pourra simplement commenter cette ligne PYTHON_SINGLE_TARGET.