Revenir au contenu principal.

Mise à jour d'une version stable de NetBSD


Suivre NetBSD-current (top)

Voir ce document pour savoir comment suivre NetBSD-current.

Mettre à jour les sources (top)

Si vous démarrez à partir d'une version stable de NetBSD (tel que NetBSD 3.1), dans un environnement de production, vous devrez occasionnellement mettre à jour vos sources et reconstruire le système ou le noyau, en vue d'incorporer les correctifs de sécurité qui ont été appliqués à cette branche depuis sa sortie.

La plupart des étapes suivantes peuvent être exécuté en tant que simple utilisateur. Seul l'installation du nouveau noyau et de l'espace utilisateur demandera des privilèges root. Bien que /usr a été choisi comme répertoire de travail dans les exemples suivants, la procédure est également valable dans un répertoire home appartenant à un utilisateur. Les utilisateurs ordinaires n'ont normalement pas les permissions pour effectuer des modifications dans /usr, mais elles peuvent être changées par root.

Vous pouvez récupérer ou mettre à jour les sources de la version que vous possédez en utilisant anoncvs over ssh et en spécifiant l'étiquette de la branche. Par exemple, pour consulter les sources pour NetBSD 3.1, vous pourrez utiliser :

$ cd /usr
$ export CVS_RSH=ssh 
$ cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot co -r netbsd-3-1 -P src

Note

Prenez garde à l'étiquette de la branche désirée. Ainsi vous ne pourrez accidentellement mettre à jour vers une autre étiquette votre arborescence.

Pour mettre à jour l'arborescence déjà existante, procédez comme ceci :

$ cd /usr/src
$ export CVS_RSH=ssh 
$ cvs update -dP

Construire les outils (top)

La prochaine étape est de composer les outils de construction. Vous aurez besoin de créer un répertoire obj/ et un autre répertoire tools/ ainsi que d'exécutez build.sh :

$ mkdir /usr/obj /usr/tools
$ cd /usr/src
$ ./build.sh -O /usr/obj -T /usr/tools -U -u tools

Construire un noyau (top)

La construction d'un nouveau noyau est une étape qui est décrite dans ce document .

Les étapes pour construire le noyau sont :

$ cd /usr/src
$ ./build.sh -O ../obj -T ../tools kernel=<KERNEL>

Construire un espace utilisateur (top)

Référez vous toujours à build.sh -h et au fichier UPDATING ainsi qu'au fichier BUILDING pour plus de détails - il y a plusieurs options qui peuvent être définis à la ligne de commande ou dans le fichier /etc/mk.conf.

Pour la construction de l'espace utilisateur, procédez comme ceci :

$ ./build.sh -O ../obj -T ../tools -U distribution

Installer le noyau et l'espace utilisateur (top)

L'installation d'un nouveau noyau, le redémarrage (pour s'assurer que le nouveau noyau fontionne) et l'installation du nouvel espace utilisateur sont les étapes finales de la procédure de mise à jour.

$ cd /usr/src
$ su
# mv /netbsd /netbsd.old
# mv /usr/obj/sys/arch/<ARCH>/compile/<KERNEL>/netbsd /
# shutdown -r now
...
$ cd /usr/src
$ su
# ./build.sh -O ../obj -T ../tools -U install=/ 

Si le nouveau noyau netbsd ne démarre pas, vous pouvez reprendre l'amorçage de l'ordinateur avec le noyau netbsd.old.

Mettre à jour quelques parties de l'arborescence (top)

Si une alerte de sécurité est parue et que vous souhaitez uniquement reconstruire les bibliothèques et les applications nécessaires, la meilleur solution est de suivre les instructions fournies dans l'alerte. Un exemple est donné ci-dessous :

$ cd src
$ export CVS_RSH=ssh cvs update -d -P -r netbsd-3-1 gnu/dist/sendmail/sendmail
$ cd gnu/usr.sbin/sendmail
$ make USETOOLS=no cleandir dependall
$ su
# make USETOOLS=no install

Bref résumé d'une procédure de mise à jour (top)

  • Mise à jour des sources:

    $ cd /usr/src
    $ export CVS_RSH=ssh 
    $ cvs update -dP
  • Construction du nouveau noyau et l'espace utilisateur :

    $ cd /usr/src
    $ ./build.sh -O ../obj -T ../tools tools
    $ ./build.sh -O ../obj -T ../tools kernel=<KERNEL>
    $ ./build.sh -O ../obj -T ../tools -U distribution
  • Installation du nouveau noyau et de l'espace utilisateur :

    $ su
    # mv /netbsd /netbsd.old
    # mv /usr/obj/sys/arch/<ARCH>/compile/<KERNEL>/netbsd /
    # shutdown -r now
    ...
    $ cd /usr/src
    $ su
    # ./build.sh -O ../obj -T ../tools -U install=/