wiki/HowtoOpenBSD/Upgrade.md

307 lines
8.8 KiB
Markdown
Raw Permalink Normal View History

2023-10-16 22:11:25 +02:00
---
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
2022-12-07 11:01:18 +01:00
## Avant de mettre à jour - Prérequis
Avant de lancer la mise à jour, il faut vérifier les choses suivantes :
### 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 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
3. 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
**Si le serveur à mettre à jour est backup d'un groupe [CARP(4)](https://man.openbsd.org/carp)**
1. 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
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
~~~
2023-04-21 11:21:41 +02:00
### 7.2 vers 7.3
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade73.html#ConfigChanges) !
2023-10-16 22:10:55 +02:00
### 7.3 vers 7.4
Prendre connaissance de la page détaillant [les changements de configuration](https://www.openbsd.org/faq/upgrade74.html#ConfigChanges) !
2023-10-16 22:12:06 +02:00
- [pfsync(4)](https://man.openbsd.org/pfsync.4). pfsync a été ré-écrit. Si les interfaces `/etc/hostname.pfsyncX` sont configurées de la façon suivante :
2023-10-16 22:10:55 +02:00
~~~
up
syncdev $interface
~~~
Alors il faut changer l'ordre pour les configurer avant de les activer :
~~~
syncdev $interface
up
~~~
2024-04-18 10:38:29 +02:00
### 7.4 vers 7.5
Aucun changement de configuration pour cette version.
## 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 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.
### 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
~~~
2023-04-21 11:21:41 +02:00
### 7.2 vers 7.3
Aucun fichier à supprimer pour cette version.
2023-10-16 22:10:55 +02:00
### 7.3 vers 7.4
Aucun fichier à supprimer pour cette version.
2024-04-18 10:38:29 +02:00
### 7.4 vers 7.5
Aucun fichier à supprimer pour cette version.
> *Note* : On peut également utiliser le paquet [sysclean](https://github.com/semarie/sysclean) pour supprimer d'éventuels autres fichiers devenus 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/
~~~
### Toutes versions
On décommente les lignes commentées plus haut dans /etc/rc.conf.local
~~~
# sed -i 's/^#//' /etc/rc.conf.local
~~~
2022-12-15 10:20:25 +01:00
Enfin, une fois traitée l'étape post-upgrade correspondant à la version mise à jour, on peut effectuer le dernier reboot :
~~~
# reboot
~~~
## Liens
* OpenBSD <https://www.openbsd.org/>
2022-12-15 10:21:09 +01:00
* Version stable <https://www.openbsd.org/72.html>
* Guide upgrade <https://www.openbsd.org/faq/upgrade72.html>