Guide de mise à jour du système
Updated 17 Janvier 2020
- Introduction
- Etapes de mise à jour
- Synchronisation des Dépots
- Configuration Système
- Mise à jour du paquet
- Recompilation de paquets personnalisés
- Mise à jour des modules Perl
- Nettoyage du système
- Mise à jour des modules du noyau
- Mise à jour des modules X.Org
- Recompilation des dépendances des modules
- Vérification des dépendances inverses
- Options utiles
- Intégration avec d'autres applications
- Contrôle automatique de la mise à jour
Introduction
La mise à jour de Calculate Linux est aussi simple que possible. Pour mettre à jour votre système, il suffit d'exécuter "Mises à jours Calculate Linux" dans le client graphique, ou ce qui suit dans la ligne de commande :
cl-update
Le programme va synchroniser l'arbre de Portage et les overlays, mettre à jour les paquets et supprimer les dépendances obsolètes.
cl-update peut être exécuté à la fois depuis root et depuis un utilisateur ordinaire, à condition qu'il ait les privilèges nécessaires (voir. chapitre Utilisateurs):
cl-update
Etapes de mise à jour
Le fonctionnement de cl-update se compose de deux parties
Le fonctionnement de cl-update se compose de deux parties : la synchronisation du référentiel et la mise à jour des paquets. Vous pouvez vouloir synchroniser les repos sans mettre à jour le logiciel. Pour ce faire, utilisez l'option -s (--sync-only), comme indiqué ci-dessous :
cl-update --sync-only
Synchronisation des Dépots
Calculate Linux fournit plusieurs miroirs binaires pour les mises à jour, décrits dans l'overlay Calculate. cl-update détectera automatiquement les miroirs cassés ou indisponibles, ainsi que les miroirs en cours de mise à jour, et passera au miroir le plus rapide si nécessaire. Pour ré-analyser les miroirs manuellement à tout moment, lancez cl-update --scan
. Le journal d'analyse est enregistré dans le fichier /var/log/calculate/binhost-scan.log.
Deux types de miroir sont disponibles : stable et de test. Les miroirs de test fournissent des versions plus récentes des paquets. Pour les rendre disponibles, il suffit d'exécuter cl-update --stable off
.
Tous les paquets ne sont pas mis à jour en même temps. Pour que toutes les versions de paquets correspondent à celles de l'arbre de Portage et à celles des recouvrements Calculate et Distros, cl-update lit le numéro du commit Git correspondant sur le miroir et synchronise ensuite l'arbre de Portage et les recouvrements avec celui-ci. Les commit tags, le point de consigne le plus économique pour les mises à jour de Portage, sont la seule différence entre la copie Gentoo de l'arbre de Portage utilisée par Calculate Linux.
Les propres overlays sont une partie importante de Calculate Linux. Ils sont essentiels pour votre système. Ils vous permettent d'éditer les USE flags et les mask, de définir des variables, d'ajouter des ebuids. Dans Calculate Linux, les overlays peuvent contenir des modèles. Toutes les distributions de Calculate Linux incluent au moins l'overlay Calculate, contenant tous les paramètres et modèles CU nécessaires. Les builds CL officielles incluent également Distros, qui ne stocke que les différences entre les saveurs CL, permettant ainsi aux utilisateurs de Calculate de créer leur propre fork personnalisée entièrement fonctionnelle de la distribution.
Configuration Système
Après la synchronisation et avant la mise à jour, des modèles de migration sont appliqués. Ils configurent le référentiel sélectionné en éditant /etc/portage/make.conf/binhost. A ce stade, des modèles de révision et de migration peuvent être appliqués.
Les modifications peuvent être faites en déclassant un paquet installé, la version modifiée devant être réinstallée. Une fois les modifications terminées, la version d'un tel paquet se terminera par rc73. Voici un exemple de modification moins courant : la suppression d'un paquet obsolète qui bloque le calcul des dépendances de /var/lib/portage/world.
Mise à jour du paquet
S'il y a eu des modifications, cl-update lancera emerge
pour calculer les dépendances. Cela peut prendre du temps, car emerge ne se fait pas en parallèle, ce qui nécessite des calculs importants.
Si les drapeaux USE ou les masks de paquets ont été modifiés, ou si des paquets tiers ont été installés, les paquets respectifs seront recompilés à partir des sources au moment de l'installation. Les paquets binaires sont marqués en vert et les paquets non-binaires en marron.
Recompilation de paquets personnalisés
cl-builder-update
fait cela pour mettre à jour les paquets à l'intérieur de l'image système afin de garantir que les paquets modifiés soient recompilés à temps. A ce stade, les modifications des slots, des USE flags et des dépendances des paquets seront vérifiées. S'il y a des modifications, les paquets seront recompilés.
Mise à jour des modules Perl
Si dev-lang/perl a été réécrit au moment de la mise à jour, cl-update appellera perl-cleaner all
pour mettre à jour les modules Perl.
Nettoyage du système
Lorsque vous installez un logiciel, des paquets supplémentaires sont souvent installés en tant que dépendances. Les dépendances peuvent changer avec le temps, et les applications peuvent être supprimées. Cela peut entraîner des dépendances orphelines, qui doivent être supprimées. Ils ne seront pas mis à jour, car emerge ne les prend plus en compte dans le calcul des dépendances. A ce stade, cl-update va les supprimer en appelant `emerge --depclean'.
Si la version du noyau à supprimer est effectivement la version actuelle, le paquet du noyau sera exclu de la liste. Cela signifie que vous pouvez toujours revenir à la version précédente du noyau (à sélectionner dans le menu Grub), si la nouvelle ne fonctionne pas normalement.
Pour éviter que la version actuelle de PostgreSQL ne soit supprimée lors d'une mise à jour majeure, les modèles CU ajoutent le paquet correspondant ainsi que son numéro de slot à /var/lib/portage/world quand vous exécutez emerge --config postgresql
.
Mise à jour des modules du noyau
Si le noyau est mis à jour, cl-update appellera emerge @module-rebuild
à ce stade pour mettre également à jour ses modules.
Mise à jour des modules X.Org
Lors de la mise à jour de x11-base/xorg-server, cl-update appellera emerge @x11-module-rebuild
pour mettre également à jour ses modules.
Recompilation des dépendances des modules
Au moment de la mise à jour, cl-update détectera les paquets qui utilisent des bibliothèques obsolètes, à recompiler. Pour ce faire, cl-update va appeler emerge @preserved-rebuild
.
Vérification des dépendances inverses
En option, vous pouvez lancer revdep-rebuild
, fourni avec le paquet app-portage/gentoolkit. Il recherche les paquets qui contiennent des exécutables et des bibliothèques corrompus. Pour l'activer, exécutez la commande suivante :
cl-update --revdep-rebuild
Options utiles
Par défaut, les overlays tiers ne sont pas synchronisés. Pour synchroniser tous les overlays activés, utilisez l'option -o (--update-other) avec cl-update. Exemple:
cl-update -o
Pour calculer les dépendances sans rien installer en mode emerge-like, utilisez l'option -p (--pretend). Exemple:
cl-update -p
Pour afficher la liste des dépendances calculées avec leurs drapeaux USE en mode emerge, utilisez l'option -e (emergelist), comme indiqué ci-dessous :
cl-update -e
Pour restaurer l'arbre de Portage et les overlays (par exemple, après une mise à jour manuelle), utilisez l'option -C (--check-repos), comme indiqué ci-dessous :
cl-update -C
Mise à jour du fichier /var/lib/portage/world, qui, s'il s'agit de la liste de tous les paquets système, peut présenter des options utiles. Pour synchroniser votre liste de paquets avec celle de la construction nocturne en cours, il suffit d'exécuter :
cl-update --rebuild-world
L'affichage de la liste des paquets peut aussi résoudre les paquets bloqués qui peuvent en fait être des paquets en conflit dans un trop gros fichier.
La fusion du fichier avec la liste des paquets du profil peut aussi s'avérer une fonctionnalité utile. Par exemple, vous pouvez vouloir passer au profil distros:CLDM/amd64/20 sur votre système Calculate Linux Scratch. Une fois que cela est fait, installez l'environnement MATE avec toutes ses dépendances simplement en l'exécutant :
cl-update --merge-world
Pour utiliser moins d'espace sur le disque dur, deux options peuvent être utilisées
Pour utiliser moins d'espace sur le disque dur, deux options peuvent être utilisées : -1 pour effacer l'historique local des modifications de Git et --clean-pkg pour supprimer les archives de paquets obsolètes stockées sur votre disque dur. Exemple:
cl-update -1 --clean-pkg
Intégration avec d'autres applications
Le repo binaire doit toujours correspondre à l'arbre de Portage. Pour garantir cela, nous avons travaillé sur l'intégration de cl-update
dans les applications du système.
Lancer emerge --sync
appellera le module de synchronisation CU, spécifié dans /etc/portage/repos.conf/zz-calculate.conf. eix-sync
, qui met à jour l'arbre de Portage en mode verbeux, appelle aussi la méthode de mise à jour du CU comme spécifié dans /etc/eix-sync.conf. Le module cl-builder-update
utilise aussi le module universel de mise à jour du système.
Contrôle automatique de la mise à jour
La vérification de la mise à jour est un travail cron. Vous pouvez le configurer en éditant /etc/cron.d/calculate-update. Si une mise à jour est disponible, un fichier /var/lib/calculate/calculate-update/updates.available sera créé. Pour définir l'intervalle de mise à jour ou pour désactiver les mises à jour automatiques, utilisez cl-setup-update
.