,
Le 19/02/2019 à 11:42 dans /Journal/2016/

Mise à jour d'OpenBSD 5.9 vers 6.0

À l'occasion de la publication d'OpenBSD hier, j'en profite pour mettre ici quelques notes concernant la mise à jour de mon serveur pour ce changement de version. Ça permet de profiter de php-7 déjà empaqueté et vérifié, des sécurités W^X, du client certbot (letsencrypt)...

Pas de surprises, il suffit de suivre les instructions données ici.

On commence par récupérer le noyau d'installation bsd.rd :

 # cd /
 # curl -O http://ftp2.fr.openbsd.org/pub/OpenBSD/6.0/amd64/bsd.rd

On vérifie que le fichier n'a pas été corrompu lors du téléchargement :

 # curl -O http://ftp2.fr.openbsd.org/pub/OpenBSD/6.0/amd64/SHA256.sig
 # sha256 -c SHA256.sig |grep bsd.rd
 (SHA256) bsd.rd: OK

Selon les instructions, on doit avant de démarrer sur le kernel de mise à jour faire un peu de nettoyage :

# rm -rf /usr/share/man

Selon le matériel, (iwm), il faut aussi lancer

# fw_update

On redémarre le serveur (avec un écran ici pour se simplifier la vie) et au prompt on indique de démarrer sur bsd.rd :

boot> boot bsd.rd

Si vous ne pouvez pas faire ça, alors référez vous à la méthode de mise à jour manuelle :
https://www.openbsd.org/faq/upgrade60.html#NoInstKern .

Une fois redémarré, on vous propose de mettre à jour. Y a plus qu'à suivre les indications et taper quasiment tout le temps sur la touche la plus maltraitée du monde, entrée :





Une fois le processus de mise à jour terminé, on redémarre normalement avec "reboot"

On lance sysmerge si c'est demandé :

# sysmerge
 

Vous pouvez alors mettre à jour les packages :

# pkg_add -u

Pour php, j'ai du ajouter "wxallowed" dans le fichier /etc/fstab. La sécurité W^X ne semble pas encore prête pour php, mais ça ne saurait tarder.

e0ca6b318b796701.f /usr/local ffs rw,nodev,wxallowed 1 

Enfin, on applique les correctifs de sécurité en mode gros fainéant :

# curl -s https://stable.mtier.org/openup | sh

Ou en mode cémoileboss :

On récupère les sources :

# cd /usr
 # cvs -qd anoncvs@anoncvs.fr.openbsd.org:/cvs get -rOPENBSD_6_0 -P src

Si vous aviez déjà les sources, il suffit de lancer :

 # cd /usr/src
 # cvs -q up -rOPENBSD_6_0 -Pd

Ensuite :

 # cd /usr/src/sys/arch/$(uname -m)/conf
 # config GENERIC.MP
 # cd /usr/src/sys/arch/$(uname -m)/compile/GENERIC.MP
 # make clean && make
 # make install
 
 # reboot
 
 # rm -rf /usr/obj/*
 # cd /usr/src
 # make obj
 # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
 # cd /usr/src
 # make build

En somme, tout s'est bien passé. Seul le point particulier pour php et wxallowed m'a surpris, ainsi que le changement de quelques filtres pour smtpd (les mails).
Mais puisque je compte bien de toutes façons mettre à jour le guide sur l'auto-hébergement, je détaillerai tout ça plus tard ☺.