[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [4.0 -> 4.1] | [FAQ Index]
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 :
Vérifiez si vous avez effectué des modifications à votre noyau. Par exemple vous pourriez avoir modifié un périphérique réseau afin que celui-ci utilise un paramètre non standard en utilisant config(8). Notez vos changements afin d'être en mesure de les reproduire sur le noyau 4.0.
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 :
export RELEASEPATH=/yourpath
cd ${RELEASEPATH}
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 et que le système puisse booter en
cas de coupure électrique ou de panne du système.
cd /
tar xzpf ${RELEASEPATH}/base40.tgz "*etc/firmware/*"
Remarque : si votre adaptateur sans-fil utilise le pilote
iwi(4),
vous devez mettre à jour les fichiers du firmware à la version
3.0. A cause de problèmes de license, le firmware n'est pas distribué
avec OpenBSD. Le firmware peut être installé à l'aide des outils pkg en
utilisant le paquetage disponible à
http://damien.bergamini.free.fr/iwifw/OpenBSD/iwi-firmware-3.0.tgz.
export RELEASEPATH=/yourpath
cd /
tar xzpf ${RELEASEPATH}/base40.tgz
tar xzpf ${RELEASEPATH}/comp40.tgz
tar xzpf ${RELEASEPATH}/game40.tgz
tar xzpf ${RELEASEPATH}/man40.tgz
tar xzpf ${RELEASEPATH}/misc40.tgz
tar xzpf ${RELEASEPATH}/xbase40.tgz
tar xzpf ${RELEASEPATH}/xfont40.tgz
tar xzpf ${RELEASEPATH}/xserv40.tgz
tar xzpf ${RELEASEPATH}/xshare40.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 etc40.tgz et xetc40.tgz ne sont PAS ouvertes à cette étape.
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.
# useradd -u87 -g=uid -c"DVMRP Daemon" -d/var/empty -s/sbin/nologin _dvmrpd
Cette étape ajoutera en même temps le nouvel utilisateur et son groupe
correspondant. Votre environnement devrait vous permettre de faire un
"copier/coller" de cette commande.
La configuration d'IPsec est désormais totalement supportée par ipsecctl(8). L'utilitaire ipsecadm(8) est désormais obsolète et a été supprimé de l'arbre CVS. Référez-vous au manuel d' ipsec.conf(5) pour des exemples de configuration.
La configuration sans-fil pour wi(4) est désormais totalement supportée par ifconfig(8). L'utilitaire wicontrol(8) est désormais obsolète et a été supprimé de l'arbre CVS.
A présent, la configuration de PPP en mode noyau est totalement supportée par ifconfig(8). L'utilitaire spppcontrol(8) est désormais obsolète et a été retiré de l'arbre des sources. Référez-vous aux manuels de sppp(4) et pppoe(4) pour des exemples de configuration.
Précédemment, le fichier /etc/hostname.pppoe0 ressemblait à :
pppoedev ne0
!/sbin/ifconfig ne0 up
!/usr/sbin/spppcontrol \$if myauthproto=pap myauthname=testcaller \
myauthkey=donttell
!/sbin/ifconfig \$if inet 0.0.0.0 0.0.0.1 netmask 0xffffffff
!/sbin/route add default 0.0.0.1
up
Il devra être mis à jour de la façon suivante :
inet 0.0.0.0 255.255.255.255 0.0.0.1 pppoedev ne0 \
authproto pap authname testcaller authkey donttell up
!/sbin/route add default 0.0.0.1
Et l'interface physique doit être marquée comme active ("UP") :
# echo "up" > /etc/hostname.ne0
cd /tmp
tar xzpf ${RELEASEPATH}/etc40.tgz
Fichiers pouvant probablement être copiés de etc40.tgz "en
l'état" :
chio.conf
dvmrpd.conf
netstart
pf.os
rc
security
services
mail/helpfile
mail/localhost.cf
mail/sendmail.cf
mail/submit.cf
mtree/*
ppp/ppp.conf.sample
Notez qu'il EST possible de modifier ces fichiers localement, si ceci a
été fait, une fusion manuelle pourrait être nécessaire.
Faites attention au fichier mail/sendmail.cf si vous utilisez une
configuration Sendmail(8) différente de celle par défaut.
Voici les lignes copiées/collées pour copier ces fichiers, à la
condition que vous ayez extrait etc40.tgz dans le répertoire
conseillé ci-dessus :
cd /tmp/etc
cp chio.conf dvmrpd.conf netstart pf.os rc security services /etc
cp mail/helpfile mail/localhost.cf mail/submit.cf /etc/mail
cp ppp/ppp.conf.sample /etc/ppp
cp mtree/* /etc/mtree/
cp mail/sendmail.cf /etc/mail # soyez certains ce ce que vous
faites !!
Deux pages de la documentation de
httpd(8)
ont subi des modifications :
/var/www/htdocs/manual/mod/core.html
/var/www/htdocs/manual/mod/mod_proxy.html
Si vous le souhaitez, vous pouvez les copier à l'aide des commandes
suivantes :
cd /tmp/var/www/htdocs/manual/mod/
cp core.html mod_proxy.html /var/www/htdocs/manual/mod
Fichiers devant être fusionnés manuellement, en respectant tout changement local effectué sur ceux-ci s'ils ont été modifiés par rapport à la configuration par défaut ; sinon, copiez-les simplement :
changelist
ftpusers
mail/aliases
rc.conf
ssh/ssh_config
ssh/sshd_config
Les modifications effectuées sur ces fichiers se trouvent dans le fichier "patch".
Vous pouvez essayer de l'utiliser en exécutant la commande suivante avec
les privilèges root :
cd /
patch -C -p0 < upgrade40.patch
Ceci aura pour effet de tester le "patch" pour voir s'il s'applique bien
à VOTRE système. Pour l'appliquer, supprimez 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ées aussi à jour que possible par rapport aux
versions officielles, ou si vous effectuez la mise à jour depuis un
snapshot de la version 3.9, 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.
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 à votre utilisation).
hostapd.conf
ipsec.conf
rc.local
sensorsd.conf
spamd.conf
Enfin, utilisez
mtree(8)
pour créer les nouveaux répertoires :
mtree -qdef /etc/mtree/4.4BSD.dist -p / -u
Si vous avez suivi les instructions de mise à niveau sans média 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 3.9 il est probable que vous devriez modifier le noyau 4.0 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.
# pkg_add -ui -F update -F updatedepends
où -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.
[3.4 -> 3.5] | [3.5 -> 3.6] | [3.6 -> 3.7] | [3.7 -> 3.8] | [3.8 -> 3.9] | [4.0 -> 4.1] | [FAQ Index]