Pour conserver un système robuste et sécurisé, il est essentiel de le maintenir à jour. Afin d'appliquer les correctifs de sécurité, il faudra mettre à jour :
Plusieurs méthodes pour faire ça sont possibles avec ses avantages et inconvénients éventuels.
Pour les pressés ;) :
# syspatch # pkg_add -u
Mettre les paquets à jour est l'histoire d'une seule commande :
# pkg_add -u
Oui, c'est tout. ^^ Merci à solene qui a rendu cela possible.
Puisque ce paragraphe est un peu court, j'en profite pour vous donner deux
astuces :).
Je vous conseille d'ajouter au fichier /etc/daily.local
la commande
pkg_add -nu
De cette façon, dans le mail journalier envoyé par Charlie Root, vous verrez ce qu'il pourrait se passer si des paquets pouvant être mis à jours sont
disponibles. En réalité, rien n'est fait, car si un programme mis à jour doit
être redémarré, il risque de ne pas fonctionner le temps que vous le relanciez.
Ainsi, vous êtes avertis d'éventuelles mises à jour à appliquer, et avec
l'option -n
, les paquets sont gardés dans le cache afin de gagner du temps sans risquer de mettre un service en panne s'il doit être redémarré suite à la mise à jour. Vous entrerez à la main pkg_add -u
lorsque vous en aurez l'occasion.
Si vous souhaitez tout de même appliquer les mises à jour automatiquement, je vous conseille
d'installer avant tout le paquet checkrestart qui vous indiquera si un
service doit être relancé suite à la mise à jour.
Cela donnera donc dans /etc/daily.local
:
pkg_add -u echo "Service à relancer avec rcctl restart:" checkrestart
Il faudra tout de même recharger les services à la main avec rcctl
.
Tout d'abord, un petit rappel : OpenBSD est disponible en 3 “saveurs” (flavour) :
Il peut en effet arriver que des bugs soient découverts. À chaque fois, des correctifs sont rapidement proposés. Il est alors recommandé d'appliquer les patchs de sécurité.
Depuis la version 6.1, cette opération se réalise très simplement avec la commande suivante :
# syspatch
Les patchs binaires sont alors téléchargés et installés. Wouhou ! Ça ressemblait à ça sous OpenBSD 6.1 :
Get/Verify syspatch61-002_vmmfpu.tgz 100% |*******************************| 9377 KB 00:49 Installing patch 002_vmmfpu Get/Verify syspatch61-003_libress... 100% |*******************************| 11391 KB 00:22 Installing patch 003_libressl ...
Cet outil n'est disponible que pour les architectures i386
, amd64
, et
plus récemment arm64
.
Vous souhaiterez peut-être utiliser l'ancienne méthode de récupération des sources et
installation manuelle décrite succintement par la suite.
On va expliquer ci-dessous comment mettre OpenBSD à jour en compilant les sources. Ce n'est pas très compliqué contrairement à ce que l'on peut penser et parfois nécessaire si vous ne pouvez pas utiliser les solutions proposées précédemment. Il faut se contenter de suivre les étapes unes par unes. En cas de doute, n'hésitez pas à consulter la FAQ dédiée.
Pour commencer, on récupère les sources “patchées” et corrigées :
# cd /usr # cvs -z9 -qd anoncvs@anoncvs.fr.openbsd.org:/cvs get -rOPENBSD_6_6 -P src # cvs -z9 -qd anoncvs@anoncvs.fr.openbsd.org:/cvs get -rOPENBSD_6_6 -P ports
Remplacez 6_6
par le numéro de version de votre installation que vous retrouverez avec la commande uname -r
La première fois, c'est long. Pas d'inquiétudes donc, préparez un petit café pendant ce temps. ;) Si vous aviez déjà les sources, il suffit alors de lancer :
# cd /usr/src # cvs -z9 -q up -rOPENBSD_6_6 -Pd # cd /usr/ports # cvs -z9 -q up -rOPENBSD_6_6 -Pd
Vous serez peut-être intéressés par les changements effectués dans les sources depuis la dernière fois. Cette commande permet de consulter ces modifications :
cvs log -rOPENBSD_6_6:
Ou alors, qui donne un résultat moins long :
cvs diff -u -rOPENBSD_6_6
Ensuite, les commandes suivantes permettront de compiler le noyau :
# cd /sys/arch/$(machine)/conf # config GENERIC.MP # cd /sys/arch/$(machine)/compile/GENERIC.MP # make clean # make obj # make config # make # make install
Si vous ne disposez pas d'un processeur multi-coeurs, vous remplacerez
GENERIC.MP
par GENERIC
. Laissez GENERIC
en cas de doute.
Vous voudrez peut-être prendre un autre café ou une soupe selon la puissance de votre machine.
Il faut maintenant redémarrer sur le nouveau noyau (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
Une fois que c'est terminé, mettez à jour les fichiers de configurations qui auraient pu changer et recréez les “devices” :
# sysmerge # cd /dev && ./MAKEDEV all
Voilà, rien de plus qu'une série de petites commandes.
Mais je crois qu'on préfère tous syspatch
^^.
Pour savoir si des mises à jour doivent être appliquées, vous pouvez consulter la page errata qui contient la liste des patchs de sécurité disponibles.
Vous pouvez aussi être averti par mail (et ça c'est top :)).
Pour recevoir les messages importants de mises à jour disponibles sur le système,
inscrivez-vous aux listes announce
et security-announce
. Pour ça, on
envoie un premier mail à majordomo@OpenBSD.org contenant simplement :
subscribe announce
Puis envoyez un second message avec :
subscribe security-announce
Je vous conseille aussi de vous inscrire à la liste indiquant qu'il existe une
nouvelle version des ports en vous inscrivant à la liste ports-security
en
envoyant toujours à la même adresse un message contenant :
subscribe ports-security
Lorsqu'une nouvelle version majeure d'OpenBSD est disponible, la procédure de mise à jour est toujours détaillée sur le site officiel. Vous pouvez par curiosité consulter les notes de version lors du passage de la 6.3 à la 6.4.
Depuis la version 6.5, il suffit d'une simple commande pour réaliser la
mise à jour vers la dernière publication release
ou vers -current
:
# sysupgrade