diff --git a/HowtoOpenBSD/Upgrade.md b/HowtoOpenBSD/Upgrade.md new file mode 100644 index 00000000..82ec93cf --- /dev/null +++ b/HowtoOpenBSD/Upgrade.md @@ -0,0 +1,169 @@ +--- +categories: system kernel openbsd sysadmin +title: Howto Upgarde OpenBSD +... + +* OpenBSD + +# Mise à jour du système + +## Prérequis + +### Cas d'un équipement redondant + +**Si le serveur à mettre à jour est master d'un groupe [CARP(4)](https://man.openbsd.org/carp)** + +1. On commence par s'assurer que le serveur est bien synchronisé avec son backup +~~~ +# /usr/share/scripts/sync.sh "Synchronisation pre-upgrade" +~~~ +2. On passe le serveur en BACKUP +~~~ +# ifconfig -g carp carpdemote 50 +~~~ +> *Note* : Pour constater le changement d'état en direct on peut effectuer un tail -f /var/log/messages +3. On modifie le advskew en dur pour une valeur plus élevée que sur le membre en backup +~~~ +# vim /etc/hostname.carp* +~~~ +4. Et via ifconfig aussi +~~~ +# for i in $(ifconfig carp | egrep 'carp[0-9]{1,2}:' | awk -F':' '{print $1}'); do ifconfig $i advskew XX; done +~~~ +5. On modifie les checks NRPE pour CARP +~~~ +# sed -i 's/master/backup/' /etc/nrpe.d/zzz_evolix.cfg +# rcctl restart nrpe +~~~ + +**Si le serveur à mettre à jour est backup d'un groupe [CARP(4)](https://man.openbsd.org/carp)** + +1. On commente l'ensemble des lignes du fichier /etc/rc.conf.local pour éviter que les services ne démarrent au premier reboot post upgrade +~~~ +# sed -i 's/^/#/' /etc/rc.conf.local +~~~ +2. On déplace les fichiers de configuration carp dans un lieu sûr +~~~ +# mv /etc/hostname.carp* /root/ +~~~ +3. On détruit l'ensemble des interfaces CARP (ici le serveur est en backup donc aucun danger) +~~~ +# for i in $(ifconfig carp | egrep 'carp[0-9]{1,2}:' | awk -F':' '{print $1}'); do ifconfig $i destroy; done +~~~ + +### Avant de mettre à jour + +Avant de lancer la mise à jour, il faut vérifier les choses suivantes : + +### Toute version + +On commente l'ensemble des lignes du fichier /etc/rc.conf.local pour éviter que les services ne démarrent au premier reboot post upgrade + +~~~ +# sed -i 's/^/#/' /etc/rc.conf.local +~~~ + +### 6.6 vers 6.7 + +- La partition /var doit avoir une taille de 1.1Go minimum. +- Vérifier l'absence de l'utilisateur système « named » + +~~~ +# userdel named +# groupdel named +# rm -rf /var/named +~~~ + +## Mettre à jour le système + +Lancer la mise à jour via [sysupgrade(8)](http://man.openbsd.org/sysupgrade) + +~~~ +# sysupgrade +~~~ + +Une fois les sets récupérés, le serveur va redémarrer sur le kernel bsd.rd et effectuer la mise à jour automatiquement. + +Pendant la mise à jour automatique, le serveur sera pinguable mais non accessible en SSH, il ne faut donc pas entièrement se fier au ping pour la reprise en main une fois l'upgrade terminée. + +Une fois le serveur de nouveau disponible en SSH + +**Merger les configurations** + +~~~ +# sysmerge +~~~ + +**Mettre à jour les firmwares** + +~~~ +# fw_update +~~~ + +> *Note* : Cette action est potentiellement déjà effectuée par [sysupgrade(8)](http://man.openbsd.org/sysupgrade) + +**Mettre à jour les paquets** + +~~~ +# pkg_add -u +~~~ + +**Appliquer les éventuels patchs de sécurité** + +~~~ +# syspatch +~~~ + +## Une fois la mise à jour effectuée + +Une fois la mise à jour effectuées, il faut si besoin modifier certaines configurations et supprimer certains fichiers devenus potentiellement obsolètes. + +### Toute version + +On décommente les lignes commentées plus haut dans /etc/rc.conf.local + +~~~ +# sed -i 's/^#//' /etc/rc.conf.local +~~~ + +Enfin, une fois traitée l'étape post-upgrade correspondant à la version mise à jour (voir ci-dessous), on peut effectuer le dernier reboot : + +~~~ +# reboot +~~~ + +### 6.6 vers 6.7 + +Fichiers à supprimer + +~~~ +# rm -rf /usr/libdata/perl5/*/Storable \ + /usr/libdata/perl5/*/arybase.pm \ + /usr/libdata/perl5/*/auto/arybase \ + /usr/libdata/perl5/B/Debug.pm \ + /usr/libdata/perl5/Locale/{Codes,Country,Currency,Language,Script}* \ + /usr/libdata/perl5/Math/BigInt/CalcEmu.pm \ + /usr/libdata/perl5/unicore/To/_PerlWB.pl \ + /usr/libdata/perl5/unicore/lib/GCB/EB.pl \ + /usr/libdata/perl5/unicore/lib/GCB/GAZ.pl \ + /usr/share/man/man3p/B::Debug.3p \ + /usr/share/man/man3p/Locale::{Codes*,Country,Currency,Language,Script}.3p \ + /usr/share/man/man3p/Math::BigInt::CalcEmu.3p \ + /usr/share/man/man3p/arybase.3p +# rm -f /usr/sbin/{dig,host,nslookup} +~~~ + +### Cas d'un équipement redondant + +**Si le serveur mis à jour était membre d'un groupe [CARP(4)](https://man.openbsd.org/carp)** + +On replace les fichiers de configuration carp +~~~ +# mv /root/hostname.carp* /etc/ +~~~ + +## Liens + +* OpenBSD +* Version stable +* Guide upgrade