Il y a quelques semaines, j’ai publié un premier article sur la migration des serveurs CentOS vers la distribution Oracle Linux. L’article offrait une vue d’ensemble et quelques considérations générales sur la distribution et présentait une petite démo de migration d’une installation minimale de CentOS vers Oracle Linux.
La semaine dernière j’ai commencé à migrer un premier serveur de production de CentOS 7 vers Oracle Linux 7, et j’ai pris des notes détaillées que je partage ici. La machine en question fait tourner des services courants comme Postfix, Dovecot, OpenDKIM, SpamAssassin, MariaDB, Apache avec PHP7.3 et un webmail avec Roundcube. J’ai pris soin de rédiger mes notes de manière à ce que vous puissiez les adapter à n’importe quelle configuration.
En partant de CentOS 7, j’effectue d’abord une mise à jour du système si ce n’est pas déjà fait.
$ sudo yum update
J’affiche les dépôts de paquets en vigueur sur le système.
$ yum repolist
La plupart des dépôts sont installés sous forme de paquets RPM avec le suffixe -release
.
$ rpm -qa | grep release
Je supprime l’ensemble des dépôts tiers.
$ sudo yum remove elrepo-release $ sudo yum remove icinga-rpm-release $ sudo yum remove epel-release $ sudo yum remove centos-release-scl $ sudo yum remove centos-release-scl-rh $ sudo rm -f /etc/yum.repos.d/*.rpmsave $ sudo rm -f /etc/yum.repos.d/docker-ce.repo $ sudo rm -f /etc/yum.repos.d/lynis.repo
Je vérifie si je ne dispose plus que des dépôts officiels.
$ yum repolist
...
repo id repo name status
base/7/x86_64 [base] 10,072
extras/7/x86_64 [extras] 448
updates/7/x86_64 [updates] 1,155
À partir de là, je récupère le script de migration fourni par Oracle.
$ git clone https://github.com/oracle/centos2ol
J’exécute le script.
$ cd centos2ol/ $ sudo ./centos2ol.sh -rV
- L’option
-r
remplace tous les paquets CentOS par des paquets Oracle. - L’option
-V
vérifie les informations RPM avant et après la migration. - Comptez entre 20 et 40 minutes selon la configuration de votre serveur.
Au terme de l’opération, je fais un brin de ménage dans les fichiers de configuration et je redémarre.
$ find /etc/ -name *.rpmnew 2> /dev/null | xargs sudo rm -f $ sudo rm -f /etc/yum.repos.d/*.disabled $ sudo reboot
Je récupère mon script de configuration automatique.
$ git clone https://gitlab.com/kikinovak/oracle.git $ cd oracle/
Je configure les dépôts officiels et tiers.
$ sudo ./linux-setup.sh --repos
Je mets à jour le système.
$ sudo ./linux-setup.sh --fresh
J’installe quelques paquets manquants pour un système de base cohérent.
$ sudo ./linux-setup.sh --extra
J’affiche les paquets orphelins qui n’appartiennent à aucun dépôt de paquets.
$ yum list extras
Je supprime ces paquets inutiles.
$ sudo yum remove centos-indexhtml kpatch
L’opération de migration « à chaud » s’est terminée avec succès.
$ head -n 2 /etc/os-release NAME="Oracle Linux Server" VERSION="7.9" $ uname -r 5.4.17-2036.102.0.2.el7uek.x86_64
La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.
3 commentaires
bob · 1 février 2021 à 11 h 30 min
Merci beaucoup de partager vos notes au-delà des tutorials j’apprends beaucoup de votre méthodologie à travers vos articles et vos livres.
Tuxmika · 2 mars 2021 à 20 h 18 min
Bonsoir..Conseilles tu de migrer sur Oracle linux ou bien de rester sur Centos 7 jusqu’à la fin du support?
Cdt
kikinovak · 2 mars 2021 à 22 h 48 min
Je ne conseille rien du tout, et les deux se valent. Pour ma part je migre même mes machines sous CentOS 7 pour me familiariser avec les idiosyncrasies d’Oracle Linux.
Les commentaires sont fermés.