OBSD4* : wiki

Version de traduction basée sur la 6.0 officielle


Guide de migration : 5.9 vers 6.0

Les mises-à-jour sont seulement supportées d'une version à l'autre qui se suivent immédiatement. Veuillez lire et bien comprendre le processus avant de l'essayer. Concernant les machines critiques ou à distance, testez à l'identique, localement en premier.

Démarrez depuis le noyau d'installation bsd.rd : utilisez soit un media d'installation démarrable, ou placez la version 6.0 de bsd.rd à la racine de votre système de fichiers et informez le chargeur de démarrage au démarrage du noyau. Une fois que le noyau est démarré, choisissez l'option de mise-à-jour (U)pgrade et suivez les instructions. Finissez par la mise-à-jour des paquets : pkg_add -u.

Alternativement, vous pouvez utiliser le processus de mise-à-jour manuel.

Vous devriez vérifier la page des erreurs ou mettre-à-jour la branche stable pour obtenir les corrections post-release.


Avant de redémarrer vers le noyau d'installation

Nettoyez /usr/share/man. Précédemment, les liens en dur sont utilisés pour fournir les mêmes pages de manuels sous des noms différents. Ces liens en durs ne sont plus nécessaires. Exécutez : rm -rf /usr/share/man

La version de métadonnées de softraid(4) a changé. La version des métadonnées du softraid en cours a été incrémentée, tout comme la partie implémentant le support des secteurs de tailles autres que 512 octets. Depuis que la métadonnée on-disk est automatiquement mise-à-jour chaque fois qu'un volume softraid est monté, une fois que vous montez un volume softraid depuis un noyau récent (incluant bsd.rd), un tel volume ne sera plus reconnu par les anciens noyaux.

Nouveau firmware iwm(4). Le pilote wifi iwm(4) a besoin d'un firmware récent. Si vous planifiez d'utiliser un tel périphérique, prenez bien soin de mettre-à-jour en utilisant fw_update(1).

Changement de configuration et de syntaxe

L'option de montage wxallowed. W^X est maintenant strictement durci par défaut ; un programme peut seulement le violer s'il est localisé sur un système de fichier monté avec l'option mount(8) wxallowed. Ceci permet que le système de base soit plus sécurisé tant que /usr/local soit sur un système de fichier séparé.

Le système de base n'a pas de programme violant W^X, mais l'arbre des ports en contient quelques uns, tels que : chromium, mono, node, gnome, libreoffice, jdk, zeal, etc … Si vous voulez faire fonctionner un de ces ports sur la base régulière, vous avez besoin d'ajouter l'option de montage wxallowed à /usr/local dans fstab(5), tel que :

    01020304050607.h /usr/local ffs rw,nodev,wxallowed 1 2

Les petits disques peuvent ne pas avoir de partition séparée pour /usr/local. Dans ce cas, ajoutez wxallowed à la partition le contenant : /usr ou /

Démarrer un programme violant W^X depuis une partition sans l'option de montage wxallowed produira un core dump et dmesg(8) contiendra une entrée tel que soffice.bin(15529): mprotect W^X violation. Vous pouvez temporairement permettre par l'usage de : mount -uo wxallowed /usr/local

doas.conf(5). La syntaxe keepenv { [variable …] } sera dépréciée dans la future version 6.1. Remplacez keepenv { [variable …] } par setenv { [variable …] } si doas affiche l'erreur “keepenv with list is obsolete”.

La syntaxe de rcctl(8) change. Les mots-clés pour lister les services activés mais arrêtés avec rcctl(8) ont changé de faulty à failed.

Le répertoire par défaut de spool lpd(8) change. Le répertoire spool racine de lpd(8) /var/spool/output est en accès d'écriture seulement par root, maintenant. Pointez le chemin sd dans printcap(5) vers un sous-répertoire où le groupe daemon a les droits en écriture. C'est par défaut : /var/spool/output/lpd.

Paquets spécifiques

PostgreSQL. PostgreSQL a une mise-à-jour de version majeure. Veuillez suivre les instructions du fichier pkg-readme de votre base de données avant de mettre-à-jour vers la nouvelle version du SE et ensuite la restaurer après la mise-à-jour.

OpenSMTPD-extras. La plupart des filtres sont supprimés depuis la distribution d'OpenSMTPD-extras, car ils ne sont pas considérés comme prêts. Les personnes qui veulent le démarrer en utilisant des filtres tel que filter-dkim-signer ont toujours besoin de regarder les autres alternatives dans les ports, comme mail/dkimproxy.

runit. Upstream a changé le répertoire par défaut du service vers /service ; pour continuer à l'utiliser en tant que /var/service, veuillez faire un lien symbolique : ln -s /var/service /


Mise-à-jour sans le noyau d'installation

Ceci N'EST PAS le processus recommandé. Utilisez la méthode ci-dessus !

Parfois, vous avez besoin de faire une mise-à-jour d'une machine pour laquelle le processus normal de mise-à-jour n'est pas possible. Dans la plupart des cas, c'est le cas d'une machine à distance où l'accès à la console système n'est pas aisée.

Préparation

Placez les fichiers d'installation au bon endroit. Assurez-vous d'avoir assez d'espace disque ! Faire une mise-à-jour à distance sans avoir assez d'espace pourrait être … catastrophique. Notez que l'usage de softdeps peut exagérer la situation car les fichiers supprimés ou réécrits ne restitueraient pas l'espace immédiatement. Considérez le fait de désactiver l'option de montage softdep dans /etc/fstab et redémarrez avant de prendre le contrôle pour une mise-à-jour manuelle. Il est recommandé d'avoir au moins 200 Mo d'espace libre sur /usr.

Être root. Bien que l'usage de doas(1) avant chaque commande soit généralement une bonne pratique, la commande pourrait ne pas fonctionner correctement dans les dernières étapes, ainsi vous devriez être root avant de démarrer le processus. C'est une bonne chose de vérifier votre accès administrateur en utilisant une des autres méthodes que doas, que ce soit par une connexion directe ou en utilisant su(1).

Arrêtez et/ou désactivez toutes applications appropriées. Durant ce processus, toutes les applications dans l'espace utilisateur seront remplacées mais peuvent ne pas fonctionner, et des dysfonctionnements peuvent arriver. Vous pouvez avoir aussi des problèmes de résolutions DNS lors du premier redémarrage, en effet les règles PF et les montages NFS dépendants des résolutions DNS peuvent causer des problèmes au démarrage. Il peut y avoir d'autres applications que vous pourriez souhaiter faire fonctionner immédiatement après la mise-à-jour, arrêtez-les et désactivez-les aussi.

Installation des nouveaux blocs de démarrage. Cela devrait être actuellement fait à la fin de chaque mise-à-jour. If this has been neglected, then failure to do this now may break serial console or other things, depending on your platform. Utilisez installboot(8), en assumant que sd0 est votre disque de démarrage :

      installboot sd0

Mise-à-jour manuelle

Installation des nouveaux noyaux. Ces étapes supplémentaires sont nécessaires pour s'assurer que vous avez toujours un noyau valide sur votre disque.

Si vous utilisez un noyau pour multi-processeurs :

      cd /usr/rel    # where you put the release files
      ln -f /bsd /obsd && cp bsd.mp /nbsd && mv /nbsd /bsd
      cp bsd.rd /
      cp bsd /bsd.sp

Si vous utilisez un noyau pour un seul processeur :

      cd /usr/rel    # where you put the release files
      ln -f /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd
      cp bsd.rd bsd.mp /    # may give a harmless warning

Installation du nouvel espace utilisateur. Sauvegardez une copie de reboot(8), extrayez et installez les tarballs, puis redémarrez. En dernier installez base60.tgz, car le nouveau système de base, en particulier tar(1), gzip(1) et reboot(8) ne fonctionnent pas avec de vieux noyaux. Décompressez l'un ou l'autre des jeux de fichiers manuellement :

      cp /sbin/reboot /sbin/oreboot
      tar -C / -xzphf xshare60.tgz
      tar -C / -xzphf xserv60.tgz
      tar -C / -xzphf xfont60.tgz
      tar -C / -xzphf xbase60.tgz
      tar -C / -xzphf man60.tgz
      tar -C / -xzphf game60.tgz
      tar -C / -xzphf comp60.tgz
      tar -C / -xzphf base60.tgz    # Install last!
      /sbin/oreboot
      

ou, si vous utilisez ksh(1), vous pouvez faire :

      cp /sbin/reboot /sbin/oreboot
      for _f in [!b]*60.tgz base60.tgz; do tar -C / -xzphf "$_f" || break; done
      /sbin/oreboot

Notez que tar(1) ne peut décompresser qu'une seule archive par invocation, autrement un simple glob pourrait ne pas fonctionner.

Après le redémarrage, mettez-à-jour /dev. Utilisez MAKEDEV(8) :

      cd /dev
      ./MAKEDEV all

Mettez-à-jour le chargeur de démarrage. Toujours en assumant que sd0 soit votre disque de démarrage :

      installboot sd0

Mettez-à-jour les fichiers de configurations systèmes. Utilisez sysmerge(8) :

      sysmerge

Mettez-à-jour firmware. Il peut y avoir de nouveaux firmwares pour votre système. Mettez-les à-jour avec fw_update(1) :

      fw_update

Pour terminer : Lisez les sorties de consoles post démarrage (en utilisant dmesg -s) et corrigez tout problème nécessaire. Supprimez /sbin/oreboot et mettez-à-jour vos paquets : pkg_add -u


Cette page est la traduction officieuse de la page “Upgrade Guide: 5.9 to 6.0” de la FAQ officielle d'OpenBSD.
En cas de doute, merci de vous y référer !

Si vous voulez participer à l'effort de traduction, merci de lire ce topic.