[OpenBSD]

[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [3.9 -> 4.0] | [4.0 -> 4.1] | [4.2 -> 4.3] | [FAQ Index]

Guide de Mise à niveau : 4.1 vers 4.2


Remarque : Les mises à niveau ne sont supportées que d'une release à la suivante. Ne sautez pas les releases.

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.

Table des matières :


Avant de mettre à jour : Les éléments à savoir et dont il faut être conscient

Ceci n'est pas une liste complète des modifications qui ont été effectuées depuis la version 4.1 jusqu'à la version 4.2, mais plutôt un ensemble des éléments importants qui devraient impacter un grand nombre d'utilisateurs durant le processus de mise à jour. Pour une liste plus exhaustive de ces modifications, veuillez prendre connaissance de plus42.html et les journaux des modifications CVS.


Procédure de mise à jour

Mise à niveau avec un noyau d'installation

Si vous avez accès à la console système, la manière la plus facile et la plus sûre pour effectuer une mise à jour à partir de fichiers binaires consiste à démarrer depuis un média d'installation ou du noyau bsd.rd et de suivre les étapes de mise à jour; étapes fortement similaires à celles décrites dans la procédure d'installation. Ensuite, terminez la mise à jour en suivant les étapes finales ci-dessous.

Une solution simple pour démarrer sur le noyau d'installation est de mettre le noyau bsd.rd de la version 4.2 à la racine de votre lecteur de démarrage et de dire au chargeur de démarrage d'utiliser ce nouveau fichier bsd.rd. Sur amd64 et i386, vous pouvez entrer "boot bsd.rd" à l'invite de commandes boot>.

Mise à niveau sans noyau d'installation

Ce n'est pas la solution recommandée. Utilisez le noyau d'installation le plus souvent possible !

De temps à autre, on pourrait avoir besoin de faire la mise à jour d'une machine sans pouvoir utiliser le processus de mise à jour classique. Le cas le plus courant est lorsque la machine est distante et que vous n'avez pas accès à la console système. On peut alors réaliser une mise à niveau depuis les sources :

Pendant ce processus, sendmail(8) pourrait produire des messages d'erreur comme :
        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.


Etapes finales

Que vous mettiez à jour à partir d'un noyau d'installation et en utilisant le processus de mise à jour formel, ou en faisant une mise à jour binaire "sur place", vous aurez besoin d'effectuer un certain nombre d'étapes manuelles.

1. Mise à jour de /etc

Vous aurez besoin d'extraire les fichiers etc42.tgz dans un endroit temporaire :

tar -C /tmp -xzphf ${RELEASEPATH}/etc42.tgz
Les fichiers suivants peuvent être probablement copiés "tels quels" à partir de etc42.tgz :
etc/magic
etc/man.conf
etc/netstart
etc/rc
etc/rc.conf
etc/rpc
etc/services
etc/mail/helpfile
etc/mail/localhost.cf
etc/mail/sendmail.cf
etc/mail/submit.cf
etc/mtree/4.4BSD.dist
etc/mtree/BSD.local.dist
etc/mtree/special
Notez qu'il EST possible de modifier localement ces fichiers. Si vous l'avez fait, une fusion manuelle est alors nécessaire. Veuillez prêter une attention particulière à mail/* si vous utilisez autre chose que la configuration Sendmail(8) par défaut. Voici des lignes à copier/coller pour copier ces fichiers, en supposant que vous avez extrait etc42.tgz à l'endroit précité :
cd /tmp/etc
cp magic man.conf netstart rc rc.conf rpc services /etc
cp mtree/* /etc/mtree/
cp mail/helpfile mail/localhost.cf mail/submit.cf /etc/mail
cp mail/sendmail.cf /etc/mail     # Attention à cette commande !!

Les fichiers suivants doivent être fusionnés manuellement afin de respecter tout changement local qui leur a été apporté par rapport à la version par défaut. Autrement, ils peuvent être aussi copiés :

etc/ntpd.conf
etc/sensorsd.conf
etc/ssh/ssh_config
etc/ssl/x509v3.cnf
etc/sudoers
etc/sysctl.conf
etc/wsconsctl.conf
var/www/conf/httpd.conf
Les modifications apportées à ces fichiers se trouvent dans ce fichier correctif. Vous pouvez tenter de l'utiliser en exécutant les commandes suivantes sous l'identité root :
cd /
patch -C -p0 < upgrade42.patch
Ceci aura pour effet de tester le correctif afin de voir s'il va bien s'appliquer à VOTRE système. Si vous voulez l'appliquer, il suffit d'omettre l'option "-C". Il est probable que si vous avez adapté ces fichiers à vos besoins ou si vous ne l'avez pas maintenu à jour de manière stricte, ou si vous avez mis à jour à partir d'un snapshot de 3.9, le correctif ne passera peut-être pas de manière correcte. Dans ces cas, vous devrez appliquer manuellement les modifications. Veuillez tester ce processus avant de vous y fier pour mettre une machine à laquelle vous n'avez pas un accès facile.

Les fichiers suivants comportent des modifications dont vous devez prendre connaissance, mais il est peu probable qu'ils puissent être directement copiés ou fusionnés (i.e. si vous utilisez bgpd.conf, prenez connaissance de la stratégie de mise à jour suggérée, et décidez si oui ou non elle est appropriée dans votre cas).

etc/bgpd.conf
etc/mail/spamd.conf
etc/ospfd.conf
etc/ssh/sshd_config
Enfin, utilisez newaliases(8) pour mettre à jour la base de données des alias et mtree(8) pour créer les éventuels nouveaux répertoires :
newaliases
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u

2. Vérification du noyau

Remarque : la plupart des gens peuvent sauter cette étape !

Si vous avez suivi les instructions de mise à niveau sans noyau d'installation vous aurez déjà accompli cette étape. En revanche, si vous utilisez le média d'installation et si vous aviez un noyau modifié en 4.1 il est probable que vous devriez modifier le noyau 4.2 de base. Cela peut être aussi simple que de modifier un périphérique spécifique avec config(8) ou il peut être nécessaire de recompiler le noyau si l'option que vous souhaitez n'est pas incluse dans le noyau GENERIC. Consultez la section FAQ 5 - Construire le Système à partir des Sources avant d'envisager une recompilation de votre noyau.

3. Fichiers de configuration X

Au regarde des modifications significatives apportées à X dans cette version, la façon la plus aisée de mettre à jour X pour la version 4.2 consiste à sauvegarder vos fichiers de configuration X, extraire xetc42.tgz, et fusionnez manuellement les modifications que vous avez précédemment effectué.

Les fichiers qu'il faudrait probablement sauvegarder sont /etc/X11/xorg.conf et /etc/X11/xinit/xinitrc. Etant donné que désormais X marche souvent sans nécessiter de fichier xorg.conf, vous devriez l'essayer avant de copier les fichiers dans les sens contraire.

Extraire xetc42.tgz de la même façon que les autres ensembles de fichiers :

export RELEASEPATH=/usr/rel
cd ${RELEASEPATH}
tar -C / -xzphf xetc42.tgz

4. Mise à jour des paquetages

Si vous avez installé des paquetages sur votre machine vous devriez les mettre à jour après la mise à niveau de votre système de base. Attention cependant car de nombreux paquetages nécessiteront une manipulation supplémentaire avant et/ou après avoir été mis à jour. Référez-vous au guide de mise à niveau de l'application pour de plus amples informations.

Les paquetages suivants sont connus pour avoir certains problèmes lors de la mise à niveau pouvant impacter un grand nombre d'utilisateurs. Le fait qu'un paquetage ne soit pas listé ne signifie en rien que sa mise à jour sera aisée. Vous devez vous renseigner sur les applications que VOUS utilisez.

Avant de continuer, il y a certaines modifications majeures au niveau de la version 4.2 dont vous devriez prendre connaissance :

Les utilitaires de gestion des paquetages ("pkg tools") supportent la mise à jour avec la commande pkg_add -u. Par exemple, pour mettre à jour tous vos paquetages, soyez certains que PKG_PATH pointe bien vers le répertoire contenant les paquetages 4.2 sur votre CD ou un miroir FTP proche et utilisez une commande du type
# pkg_add -ui -F update -F updatedepends
-u indique le mode mise à jour et -i le mode interactif, ainsi pkg_add vous demandera ce que vous souhaitez faire lorsque celui-ci rencontrera une ambiguïté. Lisez le manuel de pkg_add(1) et le chapitre de la FAQ sur la gestion des paquetages pour de plus amples informations.

Vous verrez certainement quelque chose comme cela après avoir lancé la commande précédente :

Looking for updates: complete
Cannot find updates for expat-2.0.0
Proceed? [y/N] 
Cela indique que vous être tombé sur le problème de libexpat et que vous devez à présent installer xbase42.tgz comme indiqué précédemment. Si vous n'avez pas installé xbase42.tgz, il est recommandé d'arrêter la mise à jour des paquetages, d'installer xbase42.tgz puis de relancer la procédure de mise à jour des paquetages.

Enfin, après la mise à jour, supprimez l'ancien paquetage expat de votre système :

# pkg_delete expat

[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [3.9 -> 4.0] | [4.0 -> 4.1] | [4.2 -> 4.3] | [FAQ Index]


[back] www@openbsd.org
$OpenBSD: upgrade42.html,v 1.4 2008/05/02 07:47:40 tobias Exp $