Passer de CentOS 7 à Oracle Linux 7
Présentation
Note : CentOS 7 a atteint sa fin de vie le 30 juin 2024. Cette situation signifie que Red Hat, la société derrière CentOS, ne fournit plus de mises à jour de sécurité ou de correctifs de bogues pour le système d'exploitation.
Le tutoriel suivant fournit des procédures étape par étape pour basculer automatiquement une instance CentOS 7 vers Oracle Linux 7 en supprimant ou en remplaçant tous les ensembles propres à CentOS par l'équivalent Oracle Linux. Le fichier README.md du référentiel Oracle centos2ol
sur GitHub indique que le script utilisé dans ce tutoriel est un travail en cours et qu'il n'est pas conçu pour gérer toutes les configurations possibles.
Assurez-vous d'avoir une sauvegarde complète du système avant de démarrer ce processus si le script ne peut pas convertir le système.
Consultez les derniers détails du projet centos2ol dans le fichier README.md du projet.
Objectifs
Dans ce tutoriel, vous allez :
- Rechercher les noyaux non standard
- Assurez-vous que la configuration
yum
fonctionne - Désactiver ou supprimer les référentiels périmés et non CentOS
- Garantir 5 Go d'espace libre dans
/var/cache
- Désactiver toutes les mises à jour automatiques, y compris
yum-cron
Conditions requises :
- Un système avec CentOS 7 installé.
Vérifiez la version CentOS
-
Ouvrez un terminal et connectez-vous à votre instance.
-
Obtenez la version de CentOS.
sudo cat /etc/redhat-release
sudo cat /etc/os-release
Ces deux commandes indiquent que l'instance exécute CentOS 7.
Rechercher les noyaux non standard
-
Obtenez une liste des noyaux installés à l'aide de
yum
.sudo yum list installed kernel
La liste affiche tous les noyaux installés à l'aide de
yum
. Nous recommandons fortement de supprimer tous les noyaux non standard; par exemple, tout noyau installé et non fourni par le référentiel de base ou de mises à jour. Inclut la suppression de tous les noyauxcentosplus
. -
Obtenez la liste des autres noyaux installés à l'aide de
grubby
.sudo grubby --info=ALL | grep ^kernel
Exemple de sortie :
[oracle@centos-7 ~]$ sudo grubby --info=ALL | grep ^kernel kernel=/boot/vmlinuz-3.10.0-1160.76.1.el7.x86_64 kernel=/boot/vmlinuz-3.10.0-1160.el7.x86_64 kernel=/boot/vmlinuz-0-rescue-281810806a454564906c048d496729db
La liste affiche tous les noyaux configurés pour être utilisés. Encore une fois, nous recommandons fortement de supprimer tous les noyaux non standard.
Supprimer les noyaux non standard avec Yum
En raison de la vulnérabilité GRUB2 BootHole, la délimitation de démarrage sécurisé Oracle Linux ne peut démarrer que les noyaux signés par Oracle et nous ne pouvons remplacer que les noyaux CentOS par défaut. Bien que cela n'ait pas d'incidence sur un système si SecureBoot est désactivé, son activation ultérieure pourrait le rendre non démarrable. Pour cette raison, nous vous recommandons vivement de supprimer tous les noyaux non standard; par exemple, tout noyau installé non fourni par le référentiel base
ou updates
, y compris les noyaux CentOSPlus.
Note : Ignorez cette section si votre système ne comporte pas de noyaux non standard basés sur la description ci-dessus. (N'essayez pas de supprimer le noyau à l'aide de
yum
si un seul noyau est installé sur votre système. La suppression de l'entrée du noyau du seul noyau de travail ou du noyau incorrect peut entraîner l'échec du démarrage du système et nécessiter un démarrage en mode utilisateur unique pour corriger le serveur défaillant.)
-
Supprimez les noyaux non standard.
sudo yum remove <KERNEL>
Où
<KERNEL>
est le nom complet de l'ensemble fourni parrpm -q kernel
.
Supprimer les noyaux non standard avec Grubby
grubby
est un outil de ligne de commande permettant de mettre à jour et d'afficher des informations sur les fichiers de configuration du chargeur de démarrage grub. Cet outil permet à un administrateur de désactiver les noyaux installés en dehors de yum
.
Note : Ignorez cette section si votre système ne comporte pas de noyau non standard basé sur la description de la section précédente. (N'essayez pas de supprimer le noyau à l'aide de
yum
si un seul noyau est installé sur votre système. La suppression de l'entrée du noyau du seul noyau de travail ou du noyau incorrect peut entraîner l'échec du démarrage du système et nécessiter un démarrage en mode utilisateur unique pour corriger le serveur défaillant.)
-
Obtenez l'index affecté à chacune des entrées de démarrage du noyau installé.
sudo grubby --info=ALL | grep -E "^kernel|^index"
Exemple de sortie :
[oracle@centos-7 ~]$ sudo grubby --info=ALL | grep -E "^kernel|^index" index=0 kernel=/boot/vmlinuz-3.10.0-1160.76.1.el7.x86_64 index=1 kernel=/boot/vmlinuz-3.10.0-1160.el7.x86_64 index=2 kernel=/boot/vmlinuz-0-rescue-281810806a454564906c048d496729db index=3
-
Supprimez toutes les entrées de démarrage du noyau non standard.
grubby --remove-kernel=<MENU_INDEX>
Où
<MENU_INDEX>
est la valeur d'index retournée par la sortie de la commande précédente.
Vérifier la configuration YUM
-
Obtenir la liste des référentiels activés.
sudo yum repolist
Exemple de sortie :
[oracle@centos-7 ~]$ sudo yum repolist Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.plusline.net * epel: mirror.imt-systems.com * extras: mirror.imt-systems.com * updates: ftp.plusline.net repo id repo name status base/7/x86_64 CentOS-7 - Base 10072 docker-ce-stable/7/x86_64 Docker CE Stable - x86_64 183 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13738 extras/7/x86_64 CentOS-7 - Extras 515 updates/7/x86_64 CentOS-7 - Updates 4383 zfs/7/x86_64 ZFS on Linux for EL7 - dkms 55 repolist: 28946
-
Mettez à jour tous les ensembles installés.
sudo yum -y upgrade
Supprimer ou désactiver des référentiels non CentOS
Désactivez tous les référentiels non CentOS. Cette étape permet d'éviter les conflits de package avec les référentiels tiers pendant le commutateur. Vous pouvez réactiver les référentiels après le commutateur.
-
Désactivez les référentiels non CentOS.
sudo yum-config-manager --disable <REPOSITORY_NAME>
Remplacez
<REPOSITORY_NAME>
par le nom de référentiel de tout référentiel non CentOS activé sur votre système.
Vérifiez l'espace libre dans /var/cache
-
Obtenir un rapport sur l'utilisation de l'espace disque.
df -h
Note : Dans cet exemple,
/var/cache
se trouve sous le point de montage/
, 35G étant disponible. Ce système offre la version gratuite 5G recommandée par le projet centos2ol.
Rechercher les mises à jour automatiques dans Cron
Un administrateur peut activer les mises à jour automatiques de plusieurs façons. Cette section recherche les tâches cron qui exécutent yum
directement ou à l'aide d'un script. Désactivez ces tâches, si elles sont trouvées, pour éviter qu'elles ne s'exécutent pendant le processus de permutation.
-
Liste des tâches cron de la racine.
sudo crontab -l
-
Répertoriez les tâches cron de l'utilisateur.
sudo crontab -u oracle -l
-
Liste des tâches cron quotidiennes, horaires, hebdomadaires et mensuelles.
sudo ls -al /etc/cron*
Vérifiez ensuite les fichiers individuels à l'aide de
less
ou de l'éditeur de votre choix.Note : Les fichiers contenant
yum-cron
dans leur nom sont gérés par le serviceyum-cron
. Nous traiterons de la désactivation de ceux-ci dans la section suivante du tutoriel. -
Liste du contenu de
/etc/crontab
.sudo less /etc/crontab
Désactiver les mises à jour YUM Cron
Une autre façon d'appliquer automatiquement les mises à jour est avec yum-cron
.
-
Recherchez l'ensemble
yum-cron
.sudo yum list installed yum-cron
Exemple de sortie :
[oracle@centos-7 ~]$ yum list installed yum-cron Loaded plugins: fastestmirror, langpacks Determining fastest mirrors * base: ftp.plusline.net * epel: ftp.plusline.net * extras: ftp.plusline.net * updates: ftp.rz.uni-frankfurt.de Installed Packages yum-cron.noarch 3.4.3-168.el7.centos @base
Si la sortie affiche l'ensemble
yum-cron
non installé sur votre système, passez à la section suivante. -
Vérifiez l'état du service systemd
yum-cron
.sudo systemctl is-enabled yum-cron sudo systemctl is-active yum-cron
-
Désactivez le service systemd
yum-cron
s'il est actif et en cours d'exécution.sudo systemctl stop yum-cron sudo systemctl disable yum-cron
Télécharger et exécuter le script de conversion
-
Téléchargez le script
centos2ol.sh
à partir de GitHub.La façon la plus simple d'obtenir le script est d'utiliser curl :
curl -O https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh
Si Git est installé, utilisez l'option
clone
pour extraire le référentiel de GitHub.git clone https://github.com/oracle/centos2ol.git
-
Exécutez le script
centos2ol.sh
.Si vous avez utilisé
git clone
, remplacez le répertoire de travail courant par le répertoire centos2ol.Consultez les options d'utilisation du script en transmettant l'option
-h
.sudo bash centos2ol.sh -h
Exécutez le script et attendez qu'il se termine.
sudo bash centos2ol.sh
Dans le cadre du processus, le noyau par défaut est passé à la dernière version du noyau Unbreakable Enterprise Kernel (UEK) d'Oracle afin d'améliorer considérablement les performances et l'évolutivité du programmateur de processus, de la gestion de la mémoire, des systèmes de fichiers et de la pile réseau. Nous remplaçons également le noyau CentOS existant par le noyau compatible Red Hat équivalent (RHCK), dont le matériel ou l'application spécifique peut avoir besoin s'il a imposé des restrictions strictes de version du noyau.
-
Redémarrez le système.
sudo reboot
Confirmer le passage du système à Oracle Linux
-
À l'aide du terminal, connectez-vous à nouveau à votre instance.
-
Vérifiez la version de distribution et les détails du noyau.
cat /etc/os-release cat /etc/redhat-release uname -r
Contribuer au projet centos2ol GitHub
-
Obtenir de l'aide.
Ouvrez un problème GitHub pour les rapports de bogues, les questions ou les demandes d'amélioration non liés à la sécurité.
Pour plus d'informations
Documentation sur Oracle Linux
Formation sur Oracle Linux
Parcours d'apprentissage pour Oracle Linux
Mettre à niveau Oracle Linux avec Leapp
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.