[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 :
pkg_delete -q /var/db/pkg/*
Après la mise à niveau, installez les nouvelles versions de ces
applications.
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 :
cd /path
rm /obsd ; ln /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd
cp bsd.rd bsd.mp /
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 /
tar xzpf /path/base38.tgz "*etc/firmware/*"
avant la prochaine étape.
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 : 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.
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.
cd /dev
./MAKEDEV all
Consultez aussi les notes ci-dessous qui sont spécifiques aux versions.
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.
useradd -u86 -g=uid -c"HostAP Daemon" -d/var/empty -s/sbin/nologin _hostapd
Ces étapes ajouteront à la fois les nouveaux utilisateurs et leurs
groupes correspondant. Votre environnement pourrait vous autoriser à
copier/coller ces commandes.
cd /tmp
tar xzpf /path/etc38.tgz
Fichiers pouvant probablement être copiés de etc38.tgz "en
l'état" :
hostapd.conf
netstart
pf.os
rc
services
mtree/*
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 :
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 :
ftpusers
inetd.conf
login.conf
rc.conf
sysctl.conf
syslog.conf
mail/aliases
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 :
cd /
patch -C -p0 <upgrade38.patch
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.
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.
pf.conf
spamd.conf
/root/.profile
Enfin, utilisez
mtree(8)
pour créer les nouveaux répertoires :
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]