wiki/HowtoOpenBSD/Upgrade.md

297 lines
8.6 KiB
Markdown
Raw Normal View History

---
categories: system kernel openbsd sysadmin
2020-09-10 16:08:21 +02:00
title: Howto Upgrade 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)**
2020-09-10 15:54:57 +02:00
1. On commence par s'assurer que le serveur est bien synchronisé avec son backup
2020-09-10 15:56:44 +02:00
~~~
# /usr/share/scripts/sync.sh "Synchronisation pre-upgrade"
~~~
2022-09-07 10:14:10 +02:00
2. 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
2020-09-10 15:56:44 +02:00
~~~
2022-09-07 10:14:10 +02:00
# sed -i 's/^/#/' /etc/rc.conf.local
~~~
2020-09-10 15:56:44 +02:00
2022-09-07 10:14:10 +02:00
3. On passe le serveur en BACKUP
2020-09-10 15:56:44 +02:00
~~~
2022-09-07 10:14:10 +02:00
# ifconfig -g carp carpdemote 50
~~~
2020-09-10 15:56:44 +02:00
2022-09-07 10:14:10 +02:00
> *Note* : Pour constater le changement d'état en direct on peut effectuer un tail -f /var/log/messages
4. On déplace les fichiers de configuration carp dans un lieu sûr
2020-09-10 15:56:44 +02:00
~~~
2022-09-07 10:14:10 +02:00
# mv /etc/hostname.carp* /root/
~~~
2020-09-10 15:56:44 +02:00
2020-09-10 15:54:57 +02:00
5. On modifie les checks NRPE pour CARP
2020-09-10 15:56:44 +02:00
~~~
# sed -i 's/master/backup/' /etc/nrpe.d/evolix.cfg
# rcctl restart nrpe
~~~
**Si le serveur à mettre à jour est backup d'un groupe [CARP(4)](https://man.openbsd.org/carp)**
2020-09-10 15:54:57 +02:00
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
2020-09-10 15:56:44 +02:00
~~~
# sed -i 's/^/#/' /etc/rc.conf.local
~~~
2020-09-10 15:56:44 +02:00
2020-09-10 15:54:57 +02:00
2. On déplace les fichiers de configuration carp dans un lieu sûr
2020-09-10 15:56:44 +02:00
~~~
# mv /etc/hostname.carp* /root/
~~~
2020-09-10 15:56:44 +02:00
### Avant de mettre à jour
Avant de lancer la mise à jour, il faut vérifier les choses suivantes :
2022-09-07 10:28:11 +02:00
### Toutes versions
2021-12-09 16:56:25 +01:00
- L'ensemble des lignes du fichier /etc/rc.conf.local sont commentées pour éviter que les services ne démarrent au premier reboot post upgrade.
~~~
# sed -i 's/^/#/' /etc/rc.conf.local
~~~
2021-12-09 16:56:25 +01:00
- La partition /usr doit avoir une taille de 1.1Go minimum (ce n'est pas l'espace restant, mais l'espace total).
### 6.6 vers 6.7
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade67.html#ConfigChanges) !
- Vérifier l'absence de l'utilisateur système « named »
~~~
# userdel named
# groupdel named
# rm -rf /var/named
~~~
### 6.7 vers 6.8
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade68.html#ConfigChanges) !
### 6.8 vers 6.9
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade69.html#ConfigChanges) !
2021-12-09 16:56:25 +01:00
- [pf.conf(5)](https://man.openbsd.org/pf.conf.5). La syntaxe des options de routage de PF (route-to, reply-to, dup-to) a changé. Si vous utilisez ces fonctionnalités et ne disposez pas d'accès à la console, pensez à adapter /etc/pf.conf avant la mise à jour ; la syntaxe précédente sera rejetée par [pfctl(8)](https://man.openbsd.org/pfctl.8).
### 6.9 vers 7.0
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade70.html#ConfigChanges) !
- [snmpd.conf(5)](https://man.openbsd.org/snmpd.conf.5). La configuration de SNMP par défaut a changée. Le protocole par défaut est maintenant SNMPv3, et les communautées public et private n'existent plus par défaut. Si vous souhaitez utiliser les protocoles SNMPv1 ou SNMPv2c, pensez à adapter /etc/snmpd.conf.
2022-04-26 10:52:52 +02:00
### 7.0 vers 7.1
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade71.html#ConfigChanges) !
2022-11-03 17:36:38 +01:00
### 7.1 vers 7.2
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade72.html#ConfigChanges) !
- [openssl(1)](https://man.openbsd.org/man1/openssl.1). LibreSSL est passé de la version 3.5.2 à la version 3.6.0. Certaines suites de chiffrement ne sont plus acceptées. Par exemple pour NRPE, selon la version utilisée sur le serveur, il peut être nécessaire de modifier l'option `ssl_cipher_list` dans la configuration client :
~~~
# vim /etc/nrpe.cfg
ssl_cipher_list=ALL:!MD5:@STRENGTH:@SECLEVEL=0
~~~
## Mettre à jour le système
Lancer la mise à jour via [sysupgrade(8)](http://man.openbsd.org/sysupgrade)
~~~
# sysupgrade
~~~
2020-09-10 16:05:47 +02:00
> *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.
2020-09-10 16:05:47 +02:00
***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
2022-09-07 10:28:52 +02:00
Une fois la mise à jour effectuée, il faut si besoin modifier certaines configurations et supprimer certains fichiers devenus potentiellement obsolètes.
### 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/
~~~
Si le serveur était CARP master, on modifie les checks NRPE pour CARP
~~~
# sed -i 's/backup/master/' /etc/nrpe.d/evolix.cfg
# rcctl restart nrpe
~~~
2022-09-07 10:28:11 +02:00
### Toutes versions
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 \
2021-12-09 16:56:25 +01:00
/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
~~~
### 6.8 vers 6.9
Fichiers à supprimer
~~~
# rm -f /usr/bin/podselect \
2021-12-09 16:56:25 +01:00
/usr/lib/libperl.so.20.0 \
/usr/libdata/perl5/*/CORE/dquote_inline.h \
/usr/libdata/perl5/*/Tie \
/usr/libdata/perl5/*/auto/Tie \
/usr/libdata/perl5/Pod/Find.pm \
/usr/libdata/perl5/Pod/InputObjects.pm \
/usr/libdata/perl5/Pod/ParseUtils.pm \
/usr/libdata/perl5/Pod/Parser.pm \
/usr/libdata/perl5/Pod/PlainText.pm \
/usr/libdata/perl5/Pod/Select.pm \
/usr/libdata/perl5/pod/perlce.pod \
/usr/libdata/perl5/unicore/Heavy.pl \
/usr/libdata/perl5/unicore/lib/Lb/EB.pl \
/usr/libdata/perl5/unicore/lib/Perl/_PerlNon.pl \
/usr/libdata/perl5/unicore/lib/Sc/Armn.pl \
/usr/libdata/perl5/utf8_heavy.pl \
/usr/share/man/man1/podselect.1 \
/usr/share/man/man3p/Pod::Find.3p \
/usr/share/man/man3p/Pod::InputObjects.3p \
/usr/share/man/man3p/Pod::ParseUtils.3p \
/usr/share/man/man3p/Pod::Parser.3p \
/usr/share/man/man3p/Pod::PlainText.3p \
/usr/share/man/man3p/Pod::Select.3p
~~~
### 6.9 vers 7.0
Fichiers à supprimer
~~~
# rm -f /usr/X11R6/lib/libdmx.* \
/usr/X11R6/include/X11/extensions/dmxext.h \
/usr/X11R6/lib/pkgconfig/dmx.pc \
/usr/X11R6/man/man3/DMX*.3
~~~
2022-04-26 10:52:52 +02:00
### 7.0 vers 7.1
Aucun fichier à supprimer pour cette version.
2022-11-03 17:36:38 +01:00
### 7.1 vers 7.2
Fichiers à supprimer
~~~
# userdel _switchd
# groupdel _switchd
# rm /etc/rc.d/switchd \
/usr/sbin/switchctl \
/usr/sbin/switchd \
/usr/share/man/man4/switch.4 \
/usr/share/man/man5/switchd.conf.5 \
/usr/share/man/man8/switchctl.8 \
/usr/share/man/man8/switchd.8
~~~
> *Note* : On peut également utiliser le paquet [sysclean](https://github.com/semarie/sysclean) pour supprimer d'éventuels autres fichiers devenus obsolètes.
## Liens
* OpenBSD <https://www.openbsd.org/>
2022-04-26 10:52:52 +02:00
* Version stable <https://www.openbsd.org/71.html>
* Guide upgrade <https://www.openbsd.org/faq/upgrade71.html>