[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.8 -> 3.9] | [Index de la FAQ]
Il est hautement recommandé de lire entièrement la présente page et de bien comprendre la procédure de mise à jour avant de l'appliquer. Si vous comptez mettre à jour une machine critique ou physiquement distante, il est recommandé d'essayer la procédure ci-après sur un système local d'abord afin d'en vérifier le succès.
La mise à niveau est un moyen commode afin d'avoir votre système à jour avec la version la plus récente. Cependant, les résultats escomptés ne sont pas censés être précisément ceux d'une installation de zéro. Les fichiers d'anciennes bibliothèques en particulier ne sont pas supprimés lors du processus de mise à niveau, car ils pourraient être requis par de plus anciennes applications pouvant être ou non mises à jour à ce moment précis. Si vous voulez vraiment vous débarrasser de ces anciens fichiers, vous feriez probablement mieux de réinstaller complètement votre système.
Pour supprimer rapidement tous les paquetages de votre système :
Après la mise à niveau, installez les nouvelles versions de ces applications.pkg_delete -q /var/db/pkg/*
Notez qu'avec OpenBSD 3.8, les pkg tools supportent à présent la mise à
jour "sur place" en utilisant pkg_add -r. Le fonctionnement
a été vérifié avec la plupart des paquetages, en particulier avec les
paquetages des CDs de 3.6 ou 3.7.
Quelques points importants :
pkg_add -r ne gère pas les mises à jour globales, et il
faut lui indiquer les noms de paquetages à mettre à jour. pkg_add
-u, une nouvelle option, peut être utilisée pour trouver la liste
exacte des paquetages à transmettre à pkg_add -r.
pkg_add -r -F update -F updatedepends -q list_of_new_pkgs
devrait fonctionner dans la plupart des cas.
le pilote tx(4) s'appelle désormais epic(4). Si votre système contient une carte à base de tx(4) (telle que SMC EtherPower II 10/100), elle sera supportée par un pilote 3.8 différent du pilote 3.7. AVANT d'effectuer la mise à jour, copiez le contenu des fichiers /etc/hostname.tx* dans les fichiers /etc/hostname.epic* correspondants. Autrement, vous n'aurez plus de réseau durant et après le processus de mise à jour.
On a parfois besoin de mettre à niveau une machine mais on ne peut pas utiliser le processus classique de mise à niveau. On peut alors réaliser une mise à niveau depuis les sources :
Notez les étapes additionnelles pour copier par dessus un premier noyau : celles-ci sont réalisées afin de s'assurer qu'il y ai toujours une copie valide du noyau sur le disque que le système puisse booter sans quoi il pourrait y avoir un problème de synchronisation ou une panne vraiment désagréable.cd /path rm /obsd ; ln /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd cp bsd.rd bsd.mp /
avant la prochaine étape.cd / tar xzpf /path/base38.tgz "*etc/firmware/*"
Remarque : tous les jeux de fichiers ne devront pas être installés pour toutes les applications, cependant, si vous aviez installé originalement un jeu de fichiers, vous devrez certainement le mettre à niveau avec le nouveau jeu de fichiers.cd / tar xzpf /path/base38.tgz tar xzpf /path/comp38.tgz tar xzpf /path/game38.tgz tar xzpf /path/man38.tgz tar xzpf /path/misc38.tgz tar xzpf /path/xbase38.tgz tar xzpf /path/xfont38.tgz tar xzpf /path/xserv38.tgz tar xzpf /path/xshare38.tgz
Remarque : les fichiers appartenant à /etc sont gérés séparément. C'est pourquoi les archives etc38.tgz et xetc38.tgz ne sont PAS ouvertes à cette étape.
Consultez aussi les notes ci-dessous qui sont spécifiques aux versions.cd /dev ./MAKEDEV all
Nov 1 12:47:05 puffy sm-mta[16733]: filesys_update failed: No such
file or directory, fs=., avail=-1, blocksize=380204
Ces messages peuvent être ignorés sans risque, mais vous pourriez
vouloir arrêter sendmail(8) pendant la mise à niveau.
Ces étapes ajouteront à la fois les nouveaux utilisateurs et leurs groupes correspondant. Votre environnement pourrait vous autoriser à copier/coller ces commandes.useradd -u86 -g=uid -c"HostAP Daemon" -d/var/empty -s/sbin/nologin _hostapd
Fichiers pouvant probablement être copiés de etc38.tgz "en l'état" :cd /tmp tar xzpf /path/etc38.tgz
Notez qu'il est possible de modifier ces fichiers localement, si ceci a été fait, une fusion manuelle pourrait être nécessaire. Voici les lignes copiées/collées pour copier ces fichiers, à la condition que vous ayez extrait etc38.tgz dans le répertoire conseillé ci-dessus :hostapd.conf netstart pf.os rc services mtree/*
cd /tmp/etc cp hostapd.conf netstart pf.os rc services /etc cp mtree/* /etc/mtree/
Fichiers devant être fusionnés manuellement, en respectant tout changement local effectué sur ceux-ci :
Les modifications effectuées sur ces fichiers se trouvent dans fichier "patch". Vous pouvez essayer de l'utiliser en exécutant la commande suivante avec les privilèges root :ftpusers inetd.conf login.conf rc.conf sysctl.conf syslog.conf mail/aliases
Ceci aura pour effet de tester le "patch" pour voir s'il s'applique bien à VOTRE système. Pour l'appliquer, supprimer l'option "-C" de la commande précédente. Si vous avez effectué des modifications locales sur ces fichiers ou si vous ne les avez pas gardé aussi à jour que possible par rapport aux versions officielles, ou si vous effectuez la mise à jour depuis un snapshot de la version 3.7, il se peut que le "patch" ne passe pas correctement. Vous devriez alors intervenir manuellement. Merci de bien vouloir tester ce procédé avant de vous y fier pour une machine à laquelle vous ne pouvez avoir accès facilement.cd / patch -C -p0 <upgrade38.patch
Etant donné que le fichier /etc/mail/aliases a été modifié, vous devez utiliser newaliases(8) pour prendre les modifications en compte.
Les fichiers suivants contiennent des modifications à considérer. Cependant, une copie ou une comparaison sont peu probables. Dans le cas de pf.conf par exemple, considérez les changements de stratégie s'il y a lieu et déterminez si ces changements sont adaptés à l'utilisation que vous faites de PF.
Enfin, utilisez mtree(8) pour créer les nouveaux répertoires :pf.conf spamd.conf /root/.profile
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u
[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.8 -> 3.9] | [Index de la FAQ]