le CVS OpenBSD comprend actuellement une branche stable qui contient la release 3.0 actualisée avec l'ensemble des patchs de sécurité, et une branche de développement, dite current (un Open BSD n'étant jamais instable :).
Pour plus de détails, lire attentivement l'upgrade-FAQ avant de trancher La procédure ci-dessous décrit l'upgrade et l'update en branche stable.
Pour mettre à jour son 3.* et bénéficier des derniers patchs, d'abord récupérer les sources :
export CVS_RSH=/usr/bin/ssh export CVSROOT=anoncvs@anoncvs1.ca.openbsd.org:/cvs cd /usr; cvs -z 3 checkout -P -rOPENBSD_3_* src
Ou, pour un simple update, d'abord décompresser les sources du CD 3 (src.tar.gz) dans /usr puis procéder à l'update CVS :
# cd /usr/src # cvs -q up -rOPENBSD_3_* -Pd
Note : la liste complète des serveurs CVS est disponible ici : http://www.openbsd.org/anoncvs.html
BSD dispose, contrairement à Linux, de deux fichiers de configuration :
Lors de la compilation le deuxième appelle le premier par un simple include. Il peut donc être pratique de les regrouper en un seul pour avoir toutes les options sous les yeux. La procédure complète est alors :
# cp /usr/src/sys/conf/GENERIC /usr/src/sys/arch/i386/conf/MON_NOYAU # cat /usr/src/sys/arch/i386/conf/GENERIC >> /usr/src/sys/arch/i386/conf/MON_NOYAU # vi /usr/src/sys/arch/i386/conf/MON_NOYAU
ATTENTION! ici, penser à : 1/ supprimer la ligne include qui va bien : include "../../../conf/GENERIC" ; 2/ Coller la ligne spécifiant l'architecture, genre machine i386 en début de fichier. Ensuite :
# cd /usr/src/sys/arch/i386/conf/ # config MON_NOYAU # cd /usr/src/sys/arch/i386/compile/MON_NOYAU # make clean && make depend && make # cp /bsd /bsd.old (Save an old copy of your kernel) # cp bsd /bsd (Copy the new kernel into place) # reboot
Modifier son kernel à la volée :
# config -e -o bsd.new /bsd
OpenBSD 3.2 (PHARSALE) #0: Thu Mar 6 22:10:57 CET 2003
root@pharsale.thessalie.net:/usr/src/sys/arch/i386/compile/PHARSALE
Enter 'help' for information
ukc> monoptionkernelquejeveux = savaleur
monoptionkernelquejeveux = savaleur
ukc> quit
Saving modified kernel.
Ceci aura pour effet de créer un nouveau kernel bsd.new doté des bonnes options dans le répertoire courant, à coller ensuite à la place de /bsd.
Normallement le noyau dispose en standard de tout ce qu'il faut à un bon fw, y compris GIF et le support IPv6. Une option intéressante à modifier dans le cas d'une machine/passerelle particulièrement active est NMBCLUSTER. D'après la FAQ Networking d'OpenBSD, une valeur raisonnable est 8192 (contre 2048 par défaut). Chez moi il arrivait en effet que le traffic s'interrompe sans raison sur mon interface externe (alors que PPP était toujours up), ça n'arrive plus depuis. Coindidence ? bah dans le doute, ça peut pas faire de mal :)
# config -e -o bsd.new /bsd
OpenBSD 3.2 (GENERIC) #25: Thu Oct 3 19:51:53 MDT 2002
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
Enter 'help' for information
ukc> nmbclust
nmbclusters = 2048
ukc> nmbclust 8192
nmbclusters = 8192
ukc> quit
Saving modified kernel.
S'il s'agit d'une upgrade en current, la procédure complète d'upgrade est disponible ici : http://www.openbsd.org/faq/upgrade-minifaq.html. Suivre scrupuleusement les indications spécifiques àchaque version.
S'il s'agit d'un simple update (comme ici), en branche ``stable'' et non current, la procédure est un peu plus simple (mais guère plus rapide :) : http://www.openbsd.org/stable.html
Sur un P166 le make build final prend à peu près 9h...c'est normal :)