Outils pour utilisateurs

Outils du site


openbsd.org:faq:upgrade66

OpenBSD Upgrade Guide: 6.5 to 6.6 : (v1.19 : 19/05/2020)


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


Guide de migration : 6.5 vers 6.6

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.6 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.

Alternativement, une nouvelle méthode de mise à niveau sans surveillance a été introduite. Le programme sysupgrade(8) est disponible tout comme syspatch(8) pour les plateformes i386, amd64 et arm64. Une fois installé, la mise à niveau peut être assurée par l'exécution de sysupgrade.

Une autre option est d'utiliser le processus manuel de mise à jour (qui toutefois n'est pas recommandé).

Après la mise à niveau des sets d'installation, appliquer les changements de configuration et supprimer les vieux fichiers. Terminez par la mise-à-jour des paquets : pkg_add -u.

Vous pouvez vérifier la page d'errata pour obtenir tous les correctifs post-installation.

Avant de redémarrer vers le nouveau noyau

Vérifiez les en utilisant signify(1) :

$ signify -C -p /etc/signify/openbsd-66-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

  • acme-client(1). acme-client(1) a été mis à jour pour implémenter la récente publication de la RFC 8555. Les utilisateurs doivent changer l'URL de l'API dans le fichier /etc/acme-client.conf de l'ancienne
    https://acme-v01.api.letsencrypt.org/directory

    vers

    https://acme-v02.api.letsencrypt.org/directory


    Les drapeaux -A et -D ont été supprimés de acme-client(1). Les clés privées seront automatiquement créées si elles n'existent pas. Si vous utilisiez l'un de ces drapeaux dans vos lignes de commande régulières, supprimez-les.

  • bgpctl(8). La commande irrfilter de bgpctl(8) a été supprimée. Les personnes intéressées par la génération de prefix- et as-sets depuis des données IRR devraient utiliser bgpq3 depuis les ports.
  • bgd(8). Le mot clé route-collector est obsolète et mettra en échec l'analyse de la configuration par bgpd(8). Au lieu de cela, désactivez le processus d'évaluation de la route par Loc-RIB avec
    rde rib Loc-RIB no evaluate
  • bootloader pour OpenBSD/octeon : OpenBSD octeon est maintenant fourni avec un chargeur de démarrage. U-Boot doit être configuré pour charger le fichier boot au lieu de bsd. Par exemple, la commande suivante de lancement du noyau
    fatload usb 0 ${loadaddr} bsd; bootoctlinux rootdev=8e309909c27040dd numcores=4

    a besoin d'être changée en

    fatload usb 0 ${loadaddr} boot; bootoctlinux rootdev=8e309909c27040dd numcores=4


    Lire INSTALL.octeon pour plus de détails sur comment configurer U-Boot. (Cherchez “OpenBSD/octeon bootloader”).

  • doas(1). La capture des variables d'environnement dans doas(1) a été changée. En particulier, HOME et PATH sont maintenant réinitialisées pour l' utilisateur en question.
  • IPv6 link-local address change. Il a été découvert que certains hébergeurs acheminent les préfixes IPv6 des clients vers les adresses de lien local dérivées des adresses MAC Ethernet (RFC 2464). Ceci conduit à des problèmes de connectivité IPv6 difficiles à déboguer avec les adresses de lien local aléatoires mais stables de type RFC 7217 utilisées par OpenBSD. Les adresses de lien local sont à nouveau formées à partir des adresses MAC Ethernet.
  • vmctl(8). L'ordre des arguments des commandes create, start, stop de vmctl(8) a été changé pour correspondre à celui plus communément attendu. L'utilisation manuelle de vmctl ou les scripts doivent être ajustés pour utiliser la nouvelle syntaxe. Par exemple, là où l'ancienne syntaxe ressemble à ceci :
    # vmctl create disk.qcow2 -s 50G 

    la nouvelle syntaxe spécifie les options de commande avant l'argument :

    # vmctl create -s 50G disk.qcow2 

Fichiers à supprimer

  • Supprimez les fichiers qui ne sont plus inclus dans la version actuelle de perl(1) :
rm -f /usr/share/man/man3p/carp.3p \
        /usr/share/man/man3p/Tie::ExtraHash.3p \
        /usr/share/man/man3p/Tie::StdHash.3p \
        /usr/share/man/man3p/Tie::StdScalar.3p \
        /usr/share/man/man3p/basename.3p \
        /usr/share/man/man3p/cluck.3p \
        /usr/share/man/man3p/confess.3p \
        /usr/share/man/man3p/croak.3p \
        /usr/share/man/man3p/dirname.3p \
        /usr/share/man/man3p/fileparse.3p \
        /usr/share/man/man3p/getopt.3p \
        /usr/share/man/man3p/getopts.3p \
        /usr/share/man/man3p/inet_aton.3p \
        /usr/share/man/man3p/inet_ntoa.3p \
        /usr/share/man/man3p/longmess.3p \
        /usr/share/man/man3p/look.3p \
        /usr/share/man/man3p/open2.3p \
        /usr/share/man/man3p/open3.3p \
        /usr/share/man/man3p/pod2usage.3p \
        /usr/share/man/man3p/podchecker.3p \
        /usr/share/man/man3p/podselect.3p \
        /usr/share/man/man3p/shortmess.3p \
        /usr/share/man/man3p/sockaddr_in.3p \
        /usr/share/man/man3p/sockaddr_un.3p \
        /usr/share/man/man3p/writemain.3p
  • snmpctl(8) a été retiré.
rm -f /usr/sbin/snmpctl \
        /usr/share/man/man8/snmpctl.8
  • Supprimez les fichiers associés à l'utilisation du client du Service X Font :
rm -f /usr/X11R6/lib/pkgconfig/libfs.pc \
        /usr/X11R6/include/X11/fonts/FSlib.h
rm -rf  /usr/X11R6/share/doc/libFS
  • xman(1) a été retiré.
rm -f /usr/X11R6/bin/xman \
        /usr/X11R6/lib/X11/xman.help \
        /usr/X11R6/man/man1/xman.1 \
        /usr/X11R6/share/X11/app-defaults/Xman
  • Supprimez les fichiers associés aux manpages et pilotes X11 retirés :
rm -f /usr/X11R6/lib/pkgconfig/libfs.pc \
        /usr/X11R6/lib/modules/v10002d.uc \
        /usr/X11R6/lib/modules/v20002d.uc \
        /usr/X11R6/lib/modules/drivers/ark_drv.la \
        /usr/X11R6/lib/modules/drivers/ark_drv.so \
        /usr/X11R6/lib/modules/drivers/chips_drv.la \
        /usr/X11R6/lib/modules/drivers/chips_drv.so \
        /usr/X11R6/lib/modules/drivers/glint_drv.la \
        /usr/X11R6/lib/modules/drivers/glint_drv.so \
        /usr/X11R6/lib/modules/drivers/i128_drv.la \
        /usr/X11R6/lib/modules/drivers/i128_drv.so \
        /usr/X11R6/lib/modules/drivers/neomagic_drv.la \
        /usr/X11R6/lib/modules/drivers/neomagic_drv.so \
        /usr/X11R6/lib/modules/drivers/rendition_drv.la \
        /usr/X11R6/lib/modules/drivers/rendition_drv.so \
        /usr/X11R6/lib/modules/drivers/s3_drv.la \
        /usr/X11R6/lib/modules/drivers/s3_drv.so \
        /usr/X11R6/lib/modules/drivers/s3virge_drv.la \
        /usr/X11R6/lib/modules/drivers/s3virge_drv.so \
        /usr/X11R6/lib/modules/drivers/sis_drv.la \
        /usr/X11R6/lib/modules/drivers/sis_drv.so \
        /usr/X11R6/lib/modules/drivers/tdfx_drv.la \
        /usr/X11R6/lib/modules/drivers/tdfx_drv.so \
        /usr/X11R6/lib/modules/drivers/trident_drv.la \
        /usr/X11R6/lib/modules/drivers/trident_drv.so \
        /usr/X11R6/lib/modules/drivers/tseng_drv.la \
        /usr/X11R6/lib/modules/drivers/tseng_drv.so \
        /usr/X11R6/man/man4/chips.4 \
        /usr/X11R6/man/man4/glint.4 \
        /usr/X11R6/man/man4/i128.4 \
        /usr/X11R6/man/man4/neomagic.4 \
        /usr/X11R6/man/man4/rendition.4 \
        /usr/X11R6/man/man4/s3.4 \
        /usr/X11R6/man/man4/s3virge.4 \
        /usr/X11R6/man/man4/sis.4 \
        /usr/X11R6/man/man4/tdfx.4 \
        /usr/X11R6/man/man4/trident.4 \
        /usr/X11R6/man/man4/tseng.4 \
        /usr/X11R6/man/man3/XkbAllocGeomOverlayKey.3
  • Supprimez les fichiers inclus retirés :
rm -f /usr/X11R6/include/X11/fonts/FSlib.h \
        /usr/include/dev/ic/dwc_gmac_reg.h \
        /usr/include/dev/ic/dwc_gmac_var.h \
        /usr/include/llvm/Analysis/IndirectCallSiteVisitor.h \
        /usr/include/llvm/CodeGen/GCs.h \
        /usr/include/llvm/DebugInfo/PDB/Native/NativeBuiltinSymbol.h \
        /usr/include/llvm/DebugInfo/PDB/Native/NativeEnumSymbol.h \
        /usr/include/llvm/IR/TypeBuilder.h \
        /usr/include/llvm/Transforms/Utils/OrderedInstructions.h
  • Supprimez les autres manpages retirés :
rm -f /usr/share/man/man1/clang++.1 \
        /usr/share/man/man1/clang-cpp.1 \
        /usr/share/man/man1/diagnostics.1 \
        /usr/share/man/man3/SipHash24.3 \
        /usr/share/man/man3/bitstring.3 \
        /usr/share/man/man3/byteorder.3 \
        /usr/share/man/man3/directory.3 \
        /usr/share/man/man3/ethers.3 \
        /usr/share/man/man3/exec.3 \
        /usr/share/man/man3/fts.3 \
        /usr/share/man/man3/getcap.3 \
        /usr/share/man/man3/inet_net.3 \
        /usr/share/man/man3/md5.3 \
        /usr/share/man/man3/pcap-filter.3 \
        /usr/share/man/man3/pcap.3 \
        /usr/share/man/man3/pwcache.3 \
        /usr/share/man/man3/resolver.3 \
        /usr/share/man/man3/rmd160.3 \
        /usr/share/man/man3/sha1.3 \
        /usr/share/man/man3/sha2.3 \
        /usr/share/man/man3/stdarg.3 \
        /usr/share/man/man3/uucplock.3 \
        /usr/share/man/man3/uuid.3 \
        /usr/share/man/man3/ypclnt.3 \
        /usr/share/man/man4/i386/vmm.4 \
        /usr/share/man/man4/macppc/openprom.4 \
        /usr/share/man/man4/sparc64/openprom.4

Paquets spécifiques

  • databases/mariadb. MariaDB a été mise à niveau vers la branche 10.3. En raison de changement dans la refonte des journaux, assurez-vous que votre version précédente soit proprement arrêtée avant la mise à jour. L'option innodb_additional_mem_pool_size du fichier /etc/my.cnf, trouvée dans certaines vieilles configurations par défaut, n'est plus supportée - enlevez-la si elle est présente. Si la nouvelle version échoue au démarrage, vérifiez le fichier /var/mysql/(hostname).err. Comme d'habitude, exécutez mysql_upgrade(1) après la mise à jour.
  • databases/postgresql. Les drapeaux par défaut de rc.d(8) pour la base de donnée PostgreSQL a été changée, de :
    daemon_flags="-w -l /var/postgresql/logfile" 

    en

    daemon_flags="-D /var/postgresql/data -w -l /var/postgresql/logfile" 


    Si vous avez défini des drapeaux postgresql dans /etc/rc.conf.local, assurez vous que l'entrée inclu -D /var/postgresql/data.

  • games/gzdoom. gzdoom a été mis à jour vers 4.1.2 qui est incompatible avec les anciennes sauvegardes du jeu. Il n'y a pas de solution.
  • mail/courier-imap. Le support complet d'UTF-8 a été activé pour courier-imap. Si vous utilisez des répertoires imap avec des noms UTF-8, vous devez les vérifier et/ou les convertir en utilisant les options –checkutf8 et –convutf8 de maildirmake(1).
  • mail/rss2email. rrs2email a été mis à jour vers une nouvelle version majeure avec une configuration incompatible. Avant de mettre à niveau, sauvegardez votre liste de feed :
    r2e list > ~/r2e.txt
      r2e opmlexport > ~/r2e.opml


    Après la mise à niveau, lisez les notes dans /usr/local/share/pkg-readmes/rss2email.

  • net/exabgp. exabgp a été mis à jour vers sa nouvelle version majeure (4.1.2) et des changements de configuration seront nécessaires. Veuillez lire https://github.com/Exa-Networks/exabgp/wiki/Migration-from-3.4-to-4.0 pour les détails.

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 les 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 archives tar, puis redémarrez. Installez base66.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 noyau. Soit, vous décompressez les jeux de fichiers nécessaires manuellement :

cp /sbin/reboot /sbin/oreboot
tar -C / -xzphf xshare66.tgz
tar -C / -xzphf xserv66.tgz
tar -C / -xzphf xfont66.tgz
tar -C / -xzphf xbase66.tgz
tar -C / -xzphf man66.tgz
tar -C / -xzphf game66.tgz
tar -C / -xzphf comp66.tgz
tar -C / -xzphf base66.tgz    # Installez en dernier !
/sbin/oreboot

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

cp /sbin/reboot /sbin/oreboot
for _f in [!b]*66.tgz base66.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. Exécutez 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. Exécutez 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.4 -> 6.5 ] [ 6.6 -> 6.7 ]


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


Contribut(rice|eur)s :

pengouinpdt
openbsd.org/faq/upgrade66.txt · Dernière modification: 2020/05/20 13:21 de pengouinpdt