--- categories: system kernel openbsd sysadmin title: Howto Upgrade 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 ~~~ ### 6.7 vers 6.8 - La partition /var doit avoir une taille de 1.1Go minimum. ## Mettre à jour le système Lancer la mise à jour via [sysupgrade(8)](http://man.openbsd.org/sysupgrade) ~~~ # sysupgrade ~~~ > *Note* : 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} ~~~ ### 6.7 vers 6.8 Fichiers à supprimer ~~~ # rm -f /usr/lib/libperl.a # rm /usr/X11R6/lib/libxkbui.* \ /usr/X11R6/lib/pkgconfig/xkbui.pc \ /usr/X11R6/include/X11/extensions/XKBui.h ~~~ ### 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