Mettre à jour Samba-AD sur RHEL et dérivées
Les dépôts RPM sont signés et il est recommandé de valider la signature des paquets en configurant la clef GPG sur les dépôts YUM.
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8 http://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-8 sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8
b3cd8395e3d211a8760e95b9bc239513e9384d6c954d17515ae29c18d32a4a11 /var/www/samba/RPM-GPG-KEY-TISSAMBA-8
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8
Avant chaque mise à jour il est nécessaire de faire une sauvegarde de la machine. Il sera aussi intéressant de l’isoler s’il y a d’autres serveurs en réplication au cas où il y aurait quelque chose qui se passerait mal et que l’on voudrait revenir sur un snapshot (attention, remonter un snapshot dans un environnement AD n’est pas quelque chose d’anodin !).
systemctl stop samba
rsync -aP /var/lib/samba/ /root/backup_samba_20210520/
systemctl start samba
Après chaque mise à jour il est nécessaire de vérifier la base de données. En effet le code Samba prend de plus en plus de cas particulier en compte, et il peut être nécessaire de faire une passe sur la base de données pour conformer certains attributs ou types de structure.
samba -V
systemctl restart samba
samba-tool dbcheck --cross-ncs
samba-tool dbcheck --cross-ncs --fix --yes
Note
Si vous n’avez qu’un seul AD en DNS internal dans votre domaine, il faudra ajouter temporairement un deuxième serveur DNS dans le fichier /etc/resolv.conf
pour permettre de faire les requêtes DNS pendant que le serveur Samba sera éteint.
Note
Si le serveur ne prend pas en compte les nouveaux paquets lors de l’upgrade, il peut être utile de lancer la commande yum clean metadata pour être sûr qu’il prenne en compte la mise à jour de la configuration du dépôt tis-samba
.
Mise à jour mineure de Samba-AD dans une même branche majeure (4.18, 4.19, 4.20, etc.)
Si vous avez suivi la documentation pour la configuration des dépôts un simple upgrade suffit. Comme mentionné ci dessus une sauvegarde avant et un samba-tool dbcheck --fix --yes après upgrade est recommandé.
Lors de certaines upgrade (par ex. la version 4.11.5) il peut être nécessaire d’effectuer d’autres manipulation. Pour cela il est conseillé de lire les Changelog de Samba.
yum upgrade
Mettre à jour Samba 4.11 et suivantes vers Samba 4.20
echo "[tis-samba]
name=tis-samba
baseurl=http://samba.tranquil.it/redhat8/samba-4.20/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8" > /etc/yum.repos.d/tissamba.repo
Lancer la mise à jour :
yum makecache systemctl stop samba yum install -y samba samba-winbind samba-winbind-clients krb5-workstation ldb-tools bind ntp bind-utils samba-client systemctl enable samba systemctl restart samba
Après la mise à jour, lancer un dbcheck comme mentionné ci-dessus :
samba -V systemctl restart samba samba-tool dbcheck --cross-ncs samba-tool dbcheck --cross-ncs --fix --yes
Mettre à jour Samba 4.10 vers Samba 4.11 sur CentOS7
Lors de mises à jour des paquets Samba, les noms de paquets peuvent évoluer pour se conformer à des règles de nommage. Il peut aussi y avoir des évolutions avec le passage progressif à Python 3 et en même temps un abandon progressif de Python 2.
Comme pour l’upgrade 4.9 à 4.10 il est nécessaire de désinstaller les paquets Samba pour qu’ils puissent se mettre à jour correctement. En effet avec l’arrivée du support Python 3 dans CentOS7 la nouvelle norme de nommage des paquets Python 3 est en python-3 et plus python-36. Les données ne sont pas touchées lors de cette manipulation.
echo "[tis-samba]
name=tis-samba
baseurl=http://samba.tranquil.it/redhat7/samba-4.11/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-8" > /etc/yum.repos.d/tissamba.repo
Lancer la mise à jour :
yum makecache systemctl stop samba yum remove python36-samba yum install -y samba samba-winbind samba-winbind-clients krb5-workstation ldb-tools bind ntp bind-utils samba-client systemctl enable samba systemctl restart samba
Après la mise à jour, lancer un dbcheck comme mentionné ci-dessus :
samba -V systemctl restart samba samba-tool dbcheck --cross-ncs samba-tool dbcheck --cross-ncs --fix --yes