Outils pour utilisateurs

Outils du site


openbsd.org:faq:upgrade65

OpenBSD Upgrade Guide: 6.4 to 6.5 : (v1.14 : 17/10/2019)


[ FAQ Index ] | [ 6.3 -> 6.4 ] | [ 6.5 -> 6.6 ] ~ Traduction française du Guide de Migration OpenBSD : 6.4 vers 6.5


Guide de migration : 6.4 vers 6.5

Les mises à jour ne sont seulement supportées que d'une version qui suit la précédente immédiatement. Veuillez lire et bien comprendre ce processus avant de l'essayer. Concernant les machines critiques ou physiquement distantes, testez-la à l'identique sur un système local d'abord.

Commencez par effectuer les étapes de préparation de la mise à jour. Ensuite, démarrez depuis le noyau d'installation 'bsd.rd' : utilisez un media d'installation de démarrage, ou placez la version 6.5 de bsd.rd à la racine de votre système de fichiers et ordonnez au chargeur de démarrage de démarrer ce noyau. Une fois que le noyau est démarré, choisissez l'option (U)pgrade et suivez les instructions. Appliquez les changements de configuration et finissez par la mise-à-jour des paquets : pkg_add -u.

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

Vous pouvez vérifier la page d'errata ou mettre à jour la branche stable pour obtenir tous les correctifs post-installation.


Avant de redémarrer vers le nouveau noyau

Obtenez et vérifiez bsd.rd. Téléchargez le noyau ramdisk et le fichier de sommes de contrôle signé cryptographiquement pour votre architecture.

Vérifiez les en utilisant signify(1) :

$ signify -C -p /etc/signify/openbsd-65-base.pub -x SHA256.sig bsd.rd
  Signature Verified
  bsd.rd: OK

Lire les changements de configuration et de syntaxe. Il y a de nombreux changements de configuration qui peuvent requérir une planification avant de démarrer la mise à jour.

Changement de configuration et de syntaxe

  • bgpd.conf(5). Dans OpenBSD 6.4, le mot clé announce a été déprécié dans bgpd.conf(5). Il a maintenant été supprimé et doit être remplacé par export.
  • bgpd.conf(5). La syntaxe de configuration de MPLS VPN (L3VPN) a changé dans bgpd.conf(5). Les sections rdomain dans bgpd.conf ont besoin d'être remplacées par les sections vpn “description” on mpeX. Les deux descr et depend on mpeX doivent être supprimées de la configuration VPN. Une configuration possible est maintenant :
    vpn "description" on mpe1 {
    	rd 65002:1
    	import-target rt 65002:42
    	export-target rt 65002:42
    	network 192.168.1/24
      }
  • iked.conf(5). Quand la courbe elliptique curve25519 a été ajoutée à iked, cela été basé sur un travail en cours sur Internet avec un numéro de groupe à usage privé. Le numéro de groupe assigné dans la RFC8031 est maintenant changé et utilisé dans d'autres implémentations. Si vous avez configuré curve25519 dans iked.conf(5) (ce qui n'est pas par défaut), basculez vers un autre groupe avant la mise à jour. Configurez le répondeur pour permettre les deux, curve25519 et un autre groupe PFS, par exemple :
     ...
        ikesa enc aes-256 prf hmac-sha2-256 auth hmac-sha2-256 group curve25519 \
        ikesa enc aes-256 prf hmac-sha2-256 auth hmac-sha2-256 group brainpool512 \
      ...

    Puis basculez les initiateurs vers l'autre groupe, ensuite mettez à jour et revenez en arrière comme voulu.

  • malloc.conf(5). La famille de fonctions de malloc(3) ne lit plus les options depuis le lien symbolique /etc/malloc.conf. À la place, la nouvelle variable vm.malloc_conf de sysctl(8) est utilisée. Ainsi les processus ne sont plus dépendents du système de fichiers pour les options malloc. Paramètrez la pour le démarrage en ajoutant une ligne, telle que :
    vm.malloc_conf=CF 

    à votre /etc/sysctl.conf, ou en fonctionnement avec sysctl(8).

  • sysctl(8). La variable sysctl kern.witnesswatch a été renommée en kern.witness.watch.
  • tmux(1). Un changement de syntaxe a été introduit dans le fichier de configuration de tmux(1). Dans le cas où le fichier de configuration tmux.conf contient des lignes de style, il devrait être mis à jour.
    Une vielle configuration pourrait ressembler à ceci :
    set-window-option -g window-status-fg color244
    set-window-option -g window-status-bg color222
    set-window-option -g window-status-attr bold 


    Le nouveau format utilise un nom de variable standard terminant par -style et comprenant une liste d'attributs et de valeurs. La version mise à niveau de l'exemple précédent ressemblerait à ceci :

    set-window-option -g window-status-style "fg=color244 bg=color222 bold"
     
  • vlan(4). Remplacez l'usage du drapeau link0 par txprio. Forcer le champ de priorité dans les entêtes des protocols vlan(4) et svlan(4) est maintenant configuré avec l'option de configuration txprio d'ifconfig(8). Cela remplace l'utilisation du drapeau link0 qui était utilisé dans le champ de priorité du paquet.
  • Xorg(1). Le binaire Xorg n'est plus installé avec les droits setuid, ainsi startx(1) ne peut plus être utilisés par des utilisateurs non administrateurs. Le gestionnaire d'affichage xenodm(1) doit être utilisé à la place.
    Pour le paramétrer :
    # rcctl enable xenodm
    # rcctl start xenodm 

    Si vous avez besoin de personnaliser X, vous aurez besoin de créer un fichier .xsession exécutable.

Fichiers à supprimer

  • Supprimez /usr/include/openssl/asn1_mac.h.
    rm /usr/include/openssl/asn1_mac.h 
  • Supprimez les fichiers qui ne sont plus inclus dans la version actuelle de perl(1) :
    rm /usr/bin/c2ph \
    	/usr/bin/pstruct \
    	/usr/libdata/perl5/Locale/Codes/API.pod \
    	/usr/libdata/perl5/Module/CoreList/TieHashDelta.pm \
    	/usr/libdata/perl5/Unicode/Collate/Locale/bg.pl \
    	/usr/libdata/perl5/Unicode/Collate/Locale/fr.pl \
    	/usr/libdata/perl5/Unicode/Collate/Locale/ru.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Cham.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Ethi.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Hebr.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Hmng.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Khar.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Khmr.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Lana.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Lao.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Talu.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Tibt.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Xsux.pl \
    	/usr/libdata/perl5/unicore/lib/Sc/Zzzz.pl \
    	/usr/share/man/man1/c2ph.1 \
    	/usr/share/man/man1/pstruct.1 \
    	/usr/share/man/man3p/Locale::Codes::API.3p 

Paquets spécifiques

  • databases/postgresql. C'est une mise à jour majeure vers PostgreSQL 11.2. Utilisez pg_upgrade tel que décrit dans le fichier pkg-readme de postgresql-server ou faites une sauvergarde et restauration.
  • editors/libreoffice. Un bogue qui affecte les fichiers .od* de LibreOffice protégés par mot de passe a été corrigé. Si vous utilisez cette fonctionnalité, avant la mise à niveau, ouvrez de tels fichiers et faites en une copie sans mot de passe. Après la mise à niveau vers le nouveau paquet, vous pouvez les ouvrir et les sauvegarder avec un mot de passe à nouveau.
  • lang/chicken. Les binaires chicken csi et csc ont été renommés en chicken-csi et chicken-csc pour éviter les conflits avec lang/mono.
  • net/dnscrypt-proxy. dnscrypt-proxy a reçu une mise à jour majeure. Un des changements est la configuration. Les utilisateurs sont avertis de vérifier que le fichier /etc/dnscrypt-proxy.toml correspond à leur besoin.
  • net/samba. La fonctionnalité du serveur AC DC implémentée par le servide samba(8) est cassé à l'exécution sur amd64, arm64, armv7 et i386. Le serveur de fichiers SMB (smbd(8)) n'est pas affecté.
  • security/opendnssec. OpenDNSSEC a reçu une mise à jour majeure. Les utilisateurs sont avertis de lire les instructions du fichier MIGRATION, qui est aussi disponible sous /usr/local/share/doc/opendnssec/MIGRATION après la mise à jour.
  • sysutils/ansible. Ansible utilise maintenant python3 par défaut. Il peut être nécessaire d'installer la saveur correspondante (FLAVOR) des bibliothèques optionnelles utilisées par certains modules (par exemple py3-netaddr pour le filtre ipaddr) et de revoir les utilisations potentielles de ansible_python_interpreter.
  • www/gitea. La localisation du fichier de configuration de gitea a changé de /etc/gitea/conf/app.ini vers /etc/gitea/app.ini et la localisation du répertoire GITEA_CUSTOM a changé de /etc/gitea vers /var/gitea/custom. La variable ROOT_PATH de Gitea pour les journaux a changé de /var/gitea/log vers /var/log/gitea. Lors de la mise à jour, déplacez /etc/gitea vers son nouvel emplacement :
    # mv /etc/gitea/conf/app.ini /etc/gitea/app.ini 

    changez l'endroit de ROOT_PATH dans la section [log] du fichier /etc/gitea/conf/app.ini :

    [log]
    ROOT_PATH  = /var/log/gitea

    et déplacez les fichiers modifiés dans /etc/gitea vers /var/gitea/custom, s'il y en a.

  • www/goaccess. Puisque l'ancienne bibliothèque GeoIP est en fin de vie et que les bases de données ne sont plus mises à jour, goaccess utilise maintenant libmaxminddb pour les recherches géographiques des adresses IP. Si vous utilisez actuellement cette fonctionnalité, mettez à jour vos fichiers de configuration (~/.goaccessrc ou /etc/goaccess.conf) pour inclure l'une ou l'autre de ces deux lignes suivantes :
    geoip-database /var/db/GeoIP/GeoLite2-Country.mmdb # installed by default
    geoip-database /var/db/GeoIP/GeoLite2-City.mmdb    # requires "geolite2-city" 

Mise à jour sans le noyau d'installation

Ceci N'EST PAS le processus recommandé. Utilisez la méthode d'installation du noyau autant que possible !

Parfois, vous avez besoin de faire une mise à jour d'une machine pour laquelle le processus normal de mise à jour n'est pas possible. Le cas le plus courant est une machine distante où l'accès à la console système n'est pas aisé.

Préparation

Placez les fichiers d'installation au bon endroit. Assurez-vous d'avoir assez d'espace disque ! Exécuter une mise à jour à distance sans l'espace nécessaire pourrait être… catastrophique. Notez que l'usage de softdeps peut amplifier la situation car les fichiers supprimés ou réécrits ne restitueraient pas leur espace immédiatement. Envisagez le fait de désactiver l'option de montage softdep dans /etc/fstab et redémarrer avant de prendre le contrôle pour une mise à jour manuelle. Il est recommandé d'avoir au moins 500 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 serait probablement interrompue par les dernières étapes, ainsi vous devriez passer 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, c'est à dire, 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 également avoir des problèmes avec la 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 de démarrage. Il peut y avoir d'autres applications que vous souhaitez empêcher de 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 à niveau. Si cela a été négligé, alors le fait de ne pas le faire immédiatement pourraient rendre non-fonctionnel la console série ou d'autres choses, selon votre plate-forme. Utilisez installboot(8), en assumant que sd0 est votre disque de démarrage :

installboot sd0

mise à jour manuelle

Installer les nouveaux noyaux. Les étapes supplémentaires de copie sur le noyau primaire sont faites pour s'assurer qu'il y a toujours un noyau valide sur votre disque.

Si vous utilisez un noyau pour multi-processeurs :

cd /usr/rel    # où vous placez les fichiers de version
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    # où vous placez les fichiers de version
ln -f /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd
cp bsd.rd bsd.mp /    # peut lever une alerte inoffensive

Activer KARL. Enregistrez la somme de contrôle du noyau :

sha256 -h /var/db/kernel.SHA256 /bsd 

Installer le nouvel espace utilisateur. Sauvegardez une copie de reboot(8), décompressez et installez les paquets tar, puis redémarrez. Installez base65.tgz en dernier, car le nouveau système de base, en particulier tar(1), gzip(1) et reboot(8) ne fonctionnent pas avec l'ancien noyaux. Soit, vous décompressez les jeux de fichiers nécessaires manuellement :

cp /sbin/reboot /sbin/oreboot
tar -C / -xzphf xshare65.tgz
tar -C / -xzphf xserv65.tgz
tar -C / -xzphf xfont65.tgz
tar -C / -xzphf xbase65.tgz
tar -C / -xzphf man65.tgz
tar -C / -xzphf game65.tgz
tar -C / -xzphf comp65.tgz
tar -C / -xzphf base65.tgz    # Installez en dernier !
/sbin/oreboot

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

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

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

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

cd /dev
./MAKEDEV all

Mettre à jour le chargeur de démarrage. Toujours en supposant que sd0 soit votre disque de démarrage :

installboot sd0

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

sysmerge

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

fw_update

Pour terminer : Examinez les sorties de consoles post démarrage (en utilisant dmesg -s) et corrigez toute défaillance si nécessaire. Toutes les étapes concernant les changements de configuration ci-dessus s'appliquent également aux mises à jour manuelles. Enfin, supprimez /sbin/oreboot et mettez à jour vos paquets : pkg_add -u. Redémarrez une fois que vous êtes sûr du bon fonctionnement de votre propre noyau généré par KARL.

[ FAQ Index ] | [ 6.3 -> 6.4 ] | [ 6.5 -> 6.6 ]


Cette page est la traduction officieuse de la page “Upgrade Guide: 6.4 to 6.5” 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.


openbsd.org/faq/upgrade65.txt · Dernière modification: 2020/05/17 18:08 de pengouinpdt