OBSD4* : wiki

OpenBSD : mettre à jour + mettre à niveau

Mettre les paquets à jour

C’est l’histoire d’une seule commande :

# pkg_add -uiv

Mettre le système à jour

Tout d’abord, un petit rappel !

OpenBSD est fournit en 3 “saveurs” (flavour) :

  • release : il s’agit de la version publiée et que vous avez sans doute téléchargée pour installer OpenBSD.
  • stable : c’est la version release avec plusieurs correctifs de sécurité. C’est celle-ci que nous souhaiterons suivre.
  • current : c’est la prochaine mouture en préparation d’OpenBSD, dans le dépôt CVS (qui sert au développement du code source).

Cependant, il peut arriver que des bugs soient découverts. Il est donc recommandé d’appliquer les correctifs de sécurité. Vous pouvez suivre les indications de la page errata pour cela. Cependant, comme appliquer les patches n’est pas forcément facile, on peut alors pour suivre ces indications pour passer en stable, puis suivre celles-ci, qui vont nous permettre d’appliquer simplement les patches.

On a 2 méthodes :

  • la version officielle
  • par le biais de m:tier

Stable "Officielle"

Correctifs du système de base

Depuis la version 6.1 d'OpenBSD, les systèmes amd64, arm64 et i386 peuvent installer les correctifs du système de base, en lançant simplement la commande syspatch(8) !

# syspatch

Mise à jour par compilation

Il est possible de mettre à jour le système de base d'OpenBSD par compilation des sources. Néanmoins, préférez l'usage de l'outil syspatch si votre architecture est supporté par cet outil - cf, lire le chapitre ci-dessus.

Pour commencer, on récupère les sources “patchées” et corrigées :

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

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

# cd /usr/src
# cvs -q up -rOPENBSD_6_2 -Pd
# cd /usr/ports
# cvs -q up -rOPENBSD_6_2 -Pd

La première fois, c’est long, pas d’inquiétudes.

Ensuite, on passe les commandes suivantes pour compiler le noyau :

# cd /sys/arch/$(machine)/conf
# config GENERIC
# cd /sys/arch/$(machine)/compile/GENERIC
# make clean 
# make obj 
# make
# make install
# reboot

Il faut maintenant redémarrer (commande reboot) avant de passer à la suite, où l’on met à jour les fichiers du système après un petit nettoyage

# rm -rf /usr/obj/*
# cd /usr/src
# make obj && make build

Voilà, rien de plus qu’une série de petites commandes simples.

outil openup

Il existe le service openup de M:Tier - outil non officiel d'une entreprise tierce

  • il permet de vérifier les éventuelles mises à jour disponibles, pour la version -release/-stable, et de les installer tout simplement.

La différence avec cet outil est qu'il permettra d'installer des versions plus récentes de certains logiciels, selon des mises à jours dues à des correctifs de bogues et/ou de sécurité, bien avant que l'équipe OpenBSD ne le fasse dans le contexte d'une future stable.

Voici la marche à suivre :

  1. Récupérer le script https://stable.mtier.org/openup
  2. Lancer ce script
  3. C’est tout ☺.

Vraiment, c’est extrêmement simple, non?

En gros, ça tient en :

# ftp -MVo openup https://stable.mtier.org/openup
# openup

Note : Pensez à créer une tâche cron pour programmer une mise-à-jour régulière

OpenBSD 6.1

Depuis la version 25, en date du 28/04/2017, le script est compatible avec la version 6.1 d'OpenBSD. De même, il s'occupe d'exécuter l'outil syspatch, sur les architectures compatibles.

Passer à une version supérieure

Si on suit la branche stable, on peut mettre OpenBSD à jour seulement lorsqu’une nouvelle version est publiée. Il suffit alors de suivre les indications de notes de version. C’est toujours bien expliqué, et vraiment, tout bête.

ATTENTION : Il n'est pas recommandé de passer d'une version n-2 à n… préférez la réinstallation système. N'utilisez ce processus de mise-à-jour, que pour n-1 à n ! Tenez en compte absolument…

Vérifiez toujours le guide de mise-à-jour fourni par OpenBSD - pour les versions maintenues :

  • v 6.3 (depuis le 2 avril 2018)
  • v 6.2 (depuis le 9 octobre 2017)

⇒ Guides de mises à jour, concernant les versions d'OpenBSD qui ne sont plus maintenues :

  • v 6.1 (depuis le 11 avril 2017)
  • v 6.0 (sortie le 1er Septembre 2016)

Depuis OpenBSD

Une manière est de télécharger le fichier bsd.rd, tel que :

# cd /
# ftp -n -m -C "https://ftp.fr.openbsd.org/pub/OpenBSD/6.2/amd64/bsd.rd"

Vérification

On télécharge aussi le fichier de sommes de contrôle pour tester le noyau bsd.rd, puis on vérifie :

$ ftp -n -m -C "https://ftp.fr.openbsd.org/pub/OpenBSD/6.2/amd64/SHA256.sig"
$ sha256 -c SHA256.sig 2>&1 | awk '/bsd.rd/ {print $3}'
OK

Cela permet de vérifier qu'il n'y a pas eu de corruptions de données lors du téléchargement.

Pour vérifier de manière cryptographique que votre binaire (ou image .iso, ou .fs) soit conforme à l'original, il faut utiliser l'utilitaire signify(1) :

$ signify -Cp /etc/signify/openbsd-62-base.pub -x SHA256.sig bsd.rd 
Signature Verified
bsd.rd: OK

Ensuite passez aux phases d'installations des mises-à-jour du système puis des paquets expliquées ci-dessous ;-)

Par téléchargement de l'image .iso|.fs

Il suffit de télécharger la nouvelle iso (à partir d'un des dépôts, de la graver, de démarrer sur le CD ou la clé USB correspondante … à moins que vous l'ayez acheter) ;-)

  • Le fichier install*.iso est l'image iso pour graver sur CD.
  • Le fichier install*.fs est l'image à écrire sur une clé USB.

Vérification

Pour vérifier qu'il n'y a pas eu de corruptions de données lors du téléchargement, il faut télécharger aussi le fichier de sommes de contrôle pour tester la nouvelle image (.iso|.fs) :

$ ftp -n -m -C "https://ftp.fr.openbsd.org/pub/OpenBSD/6.2/amd64/SHA256.sig"
$ sha256 -c SHA256.sig 2>&1 | awk '/install62.fs/ {print $3}'
OK

Note : Ici est testé l'image .fs, pour tester l'image .iso, pensez à remplacer l'extension de fichier.

Pour vérifier de manière cryptographique que votre image (.iso|.fs) téléchargée soit conforme à l'original, il faut utiliser l'utilitaire signify(1) :

$ signify -Cp /etc/signify/openbsd-62-base.pub -x SHA256.sig install61.iso 
Signature Verified
install61.iso: OK

Note : Ici est testé l'image .iso, pour tester l'image .fs, pensez à remplacer l'extension de fichier.

Gravure image

Pour écrire l'image .fs :

# dd if=install62.fs of=/dev/rsdc1 bs=1M && sync

Pour graver l'image .iso :

# cdio tao cd*.iso

Ensuite passez aux phases d'installations des mises-à-jour du système puis des paquets expliquées ci-dessous ;-)

Installation de la màj de version

(Re)Démarrer votre système, et lors de l'invite 'boot>', écrivez : boot bsd.rd

Laissez faire, jusqu'à ce que le processus vous demande le choix d'(I)nstaller, d'(U)pgrader, etc … choisissez : U

Puis, tapez http si vous voulez la faire en étant connecté à Internet, ou si vous avez le CD, tapez cd !

Ensuite, répondez aux questions, tout comme lors de votre prime installation … pour finir par redémarrer, si tout s'est bien passé :

# reboot

Il est très probable que vous ayez à fusionner certains fichiers, c'est la commande suivante qui s'en occupe :

# sysmerge

Soit, vous choisissez d'installer les nouveaux fichiers, soit vous les “merger” (fusionner, en français) … dans ce cas-là, l'écran est séparé en deux parties, une gauche, une droite … utilisez les touches l ('left') ou r (pour 'right'), si vous voulez gardez vos modifications (présentées à gauche) ou acceptez les leurs (celles présentées à droite) - elles seront demandées au cas par cas, et non pour l'ensemble d'un fichier donné … ensuite, installer le nouveau fichier fusionné !

Màj packages

Une fois terminée, pensez à mettre-à-jour les paquets :

# pkg_add -iuv

En effet, ce dernier vous avertira toujours des étapes supplémentaires, à faire avant de redémarrer, et des syntaxes et autres changements auxquels vous devez faire attention !

Ceci étant fait, on va vérifier qu'il n'y ait aucun soucis avec les paquets installés :

# pkg_check

Puis, on redémarre la station ! ;)

Suivre current

Tout d'abord, vérifiez https://www.openbsd.org/faq/current.html

Jetez également un oeil sur votre mirroir : le fichier 'bsd.rd' et les packages doivent avoir la même date de mise à jour afin d'être sûr que ces packages ont été compilés sur la bonne base :

Snaps : outil de gestion current

Snaps est un script shell, créé par Fred Galusik, pour nous permettre de basculer vers current, très très très facilement ! Cet outil très pratique n'est pas fourni par l'équipe d'OpenBSD.

Installation de snaps

La première fois :

$ git clone https://framagit.org/fredg/snaps.git
$ cd snaps/

Les fois suivantes :

$ cd snaps/
$ git pull origin master

Note : Pensez à le mettre-à-jour, régulièrement, et tout particulièrement quand vous voulez l'utiliser pour être sûr d'avoir la dernière mouture fonctionnelle !

Exécution de snaps

# snaps -G

Au redémarrage, lors de l'invite 'boot >', écrivez :

boot > bsd.rd

Puis, choisir “Upgrade”, ainsi que la mise-à-jour par 'http' … laissez faire, puis quand c'est terminé, faites à nouveau un redémarrage.

Mise-à-jour des packages

Ensuite, mettez-à-jour le système :

# pkg_add -uiv

Quand c'est fini, vous êtes dans le nouvel environnement current… Exécuter les remarques faites !

Puis, faites une vérification de l'installation correcte des paquets :

# pkg_check

Et, on redémarre la station !

Être averti des mises à jour officielles

Envoyer un mail à majordomo@OpenBSD.org avec à l’intérieur :

subscribe announce