[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.1 -> 4.2] | [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 d'abord la procédure ci-après sur un système local 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 :
Cela peut créer un petit problème si vous avez installé xbase42.tgz pour avoir libexpat sur votre système 4.2. Vous devez alors le supprimer ou bien le mettre à jour. Si libexpat était la seule raison pour laquelle vous avez installé xbase42.tgz, la suppression des anciens fichiers est probablement la meilleure solution. Les détails pour la suppression de xbase42.tgz sont fournis.
Notez aussi que la construction à partir des ports est toujours uniquement supportée avec une installation complète, incluant tous les jeux de fichiers X.
Ceci est inclus dans le fichier upgrade43.patch, mais il peut ne pas s'appliquer correctement sur un fichier httpd.conf hautement personnalisé. Vous devez vous assurer que ces lignes sont bien présentes sur votre système, autrement les futurs ajouts de paquetages ne fonctionneront pas correctement après installation.# # Include extra module configuration files # Include /var/www/conf/modules/*.conf
# mv /usr/src/xenocara /usr
Une solution simple pour démarrer sur le noyau d'installation est de mettre le noyau bsd.rd de la version 4.3 à 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>.
De temps à autre, on peut 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 celui d'une machine distante dont on ne peut accéder à la console système. On peut alors réaliser une mise à niveau depuis les sources :
export RELEASEPATH=/usr/rel # où mettre les fichiers
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 existe toujours une
copie valide du noyau sur le disque et que le système puisse redémarrer en
cas de coupure électrique ou de panne.
cd /
tar -C / -xzphf ${RELEASEPATH}/base43.tgz ./etc/firmware
export RELEASEPATH=/usr/rel
cd ${RELEASEPATH}
tar -C / -xzphf base43.tgz
tar -C / -xzphf comp43.tgz
tar -C / -xzphf game43.tgz
tar -C / -xzphf man43.tgz
tar -C / -xzphf misc43.tgz
tar -C / -xzphf xbase43.tgz
tar -C / -xzphf xfont43.tgz
tar -C / -xzphf xserv43.tgz
tar -C / -xzphf xshare43.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 etc43.tgz et xetc43.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.
Notez que sendmail ne fonctionne pas correctement à ce stade, et devra
être relancé (c'est une étape du redémarrage) avant qu'un mail puisse
être géré correctement.
Vous aurez également besoin d'utiliser vipw(8) pour éditer le fichier des mots de passe et de votre éditeur favori pour modifier le fichier /etc/group, changez _hoststated en _relayd dans chacun des cas, et modifiez la description dans vipw(8) de "HostState Daemon" en "Relay Daemon".useradd -u90 -g=uid -c"OSPF6 Daemon" -d/var/empty -s/sbin/nologin _ospf6d useradd -u91 -g=uid -c"SNMP Daemon" -d/var/empty -s/sbin/nologin _snmpd
Vous aurez besoin d'extraire les fichiers etc43.tgz dans un endroit temporaire :
tar -C /tmp -xzphf ${RELEASEPATH}/etc43.tgz
Les fichiers suivants peuvent être probablement copiés "tels quels" à
partir de etc43.tgz :
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 etc43.tgz à l'endroit précité :etc/mail/README etc/moduli etc/mtree/4.4BSD.dist etc/mtree/BSD.local.dist etc/mtree/special etc/netstart etc/ospf6d.conf etc/rc etc/rc.conf etc/relayd.conf etc/security etc/snmpd.conf var/named/etc/root.hint
cd /tmp/etc cp moduli netstart ospf6d.conf rc rc.conf relayd.conf security snmpd.conf /etc cp mtree/* /etc/mtree/ cp mail/README /etc/mail cp ../var/named/etc/root.hint /var/named/etc
Les fichiers suivants ont probablement été modifiés localement, mais ils doivent être mis à jour pour 4.3. SI vous n'avez pas modifié ces fichiers, vous pouvez copier directement la nouvelle version, sinon vous devez fusionner les modifications avec vos fichiers :
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 :etc/changelist etc/chio.conf etc/ftpusers etc/mail/aliases etc/ssh/sshd_config etc/sudoers etc/sysctl.conf var/named/etc/named-dual.conf var/named/etc/named-simple.conf var/named/etc/named.conf var/www/conf/httpd.conf var/www/conf/mime.types var/www/htdocs/manual/mod/core.html var/www/htdocs/manual/server-wide.html
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 les avez pas maintenus à jour de manière stricte, ou si vous avez mis à jour à partir d'un snapshot de 4.2, le correctif ne se passera pas de manière satisfaisante. Dans ces cas, vous devrez appliquer manuellement les modifications. Veuillez tester ce processus avant de vous y fier, notamment pour une machine à laquelle vous ne pouvez pas accéder facilement.cd / patch -C -p0 < upgrade43.patch
/etc/ttys a été rendu plus cohérent à travers les plates-formes, mais cela rend la mise à jour plus compliquée pour ce fichier. Il est recommandé de copier ce nouveau fichier, et d'appliquer les modifications à ce dernier:
mv /etc/ttys /etc/ttys.orig cp /tmp/etc/ttys /etc
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 pf.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/pf.conf
Il y a quelques fichiers qui peuvent être supprimés car ils ne sont plus utilisés dans 4.3 :
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 et modifier le propriétaire et les accès sur /etc/chio.conf :rm /etc/hoststated.conf /var/named/standard/root.hint
newaliases mtree -qdef /etc/mtree/4.4BSD.dist -p / -u chown root:operator /etc/chio.conf chmod 644 /etc/chio.conf
Si vous avez suivi les instructions de mise à niveau sans noyau d'installation, vous avez déjà accompli cette étape. En revanche, si vous utilisez le média d'installation et si vous aviez un noyau modifié en 4.2, il est probable que vous devrez modifier le noyau 4.3 de base. Cela peut être aussi simple que de modifier un périphérique spécifique avec config(8), mais il peut aussi ê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.
Les paquetages suivants sont connus pour avoir certains problèmes lors de la mise à niveau pouvant concerner 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. 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.3 sur votre CD ou un miroir FTP proche et utilisez une commande du type
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.# pkg_add -ui -F update -F updatedepends
Si vous souhaitez le supprimer, vous pouvez utiliser les commandes suivantes :
# mv /usr/X11R6/lib/libexpat.so.* /usr/lib # rm -r /usr/X11R6 /etc/X11 /etc/fonts
Si vous souhaitez installer xbase43.tgz, vous devez alors supprimer les anciens fichiers de libexpat :
# mv /usr/X11R6/lib/libexpat.so.* /usr/lib # rm /usr/X11R6/lib/libexpat* # rm /usr/X11R6/include/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.1 -> 4.2] | [FAQ Index]