Première version d'une page Howto pour la mise à jour d'un système OpenBSD

This commit is contained in:
Tristan PILAT 2020-09-10 15:52:21 +02:00
parent 3784133e6e
commit 6e53ea6753

169
HowtoOpenBSD/Upgrade.md Normal file
View file

@ -0,0 +1,169 @@
---
categories: system kernel openbsd sysadmin
title: Howto Upgarde OpenBSD
...
* OpenBSD <https://www.openbsd.org/>
# 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 <https://www.openbsd.org/>
* Version stable <https://www.openbsd.org/67.html>
* Guide upgrade <https://www.openbsd.org/faq/upgrade67.html>