Première version d'une page Howto pour la mise à jour d'un système OpenBSD
This commit is contained in:
parent
3784133e6e
commit
6e53ea6753
169
HowtoOpenBSD/Upgrade.md
Normal file
169
HowtoOpenBSD/Upgrade.md
Normal 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>
|
Loading…
Reference in a new issue