[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]
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 :
Ceci veut dire que la plupart des systèmes qui n'utilisaient pas auparavant X nécessitent désormais xbase42.tgz. Si vous ne faites pas cela et essayez d'installer un paquetage nécessitant libexpat, pkg_add(1) émettra un message d'erreur.
Veuillez aussi noter que la compilation des ports est uniquement supportée si l'installation de votre système est complète incluant tous les ensembles de fichiers X.
Enfin, une fois la mise à jour de tous les paquetages en versions fournies avec OpenBSD 4.2, veuillez supprimer le paquetage libexpat devenu obsolète :
Ceci impactera un nombre important d'utilisateurs ! Ceci fût une malheureuse décision dont les ramifications n'ont pas été identifiées auparavant. Pour la version 4.3, libexpat fera partie de base43.tgz, ce qui résoudra ce problème.# pkg_delete expat
Au regard de l'adoption des versions plus récentes de X.org par OpenBSD, le support de XF3 sur plate-forme i386 (seule plate-forme qui l'utilisait encore) a été arrêté. XF3 était uniquement nécessaire pour certaines puces vidéo très anciennes qui n'étaient pas supportées par XF4 et X.org. A priori, ceci n'impactera pas grand monde.
La nouvelle version de X.org change un nombre important de fichiers de configuration. Par conséquence, une section séparée a été dédiée pour le processus de mise à jour pour les utilisateurs X.
pciide1 at pci0 dev 31 function 2 "Intel 82801GBM AHCI SATA" rev 0x02: DMA, channel 0 wired to native-PCI, channel 1 wired to native-PCIest maintenant reconnu de la façon suivante :
pciide1: using apic 2 int 11 (irq 11) for native-PCI interrupt
wd0 at pciide1 channel 0 drive 0: <FUJITSU MHV2080BH>
wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
ahci0 at pci0 dev 31 function 2 "Intel 82801GBM AHCI SATA" rev 0x02: AHCI 1.1: apic 2 int 16 (irq 11)Ceci occasionnera des problèmes pour les personnes effectuant des mises à jour à distance de ce type de machines. En effet, le fichier fstab sera incorrect et le système ne démarrera pas. Malheureusement, la manière dont le pilote gère le disque dépend de beaucoup de paramètres tels que les configurations BIOS. Si quelqu'un a une interface SATA AHCI, il devra au préalable expérimenter avec une machine locale identique pour vérifier si le fichier /etc/fstab n'a pas besoin d'être retravaillé.
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, FUJITSU MHV2080B, 0084> SCSI2 0/direct fixed
sd0: 76319MB, 76319 cyl, 64 head, 32 sec, 512 bytes/sec, 156301488 sec total
Il semblerait que peu de personnes rencontreront un problème à la suite de cette mise à jour étant donné que les composants ahci(4) sont assez rares sur le matériel existant alors qu'ils ont tendance à devenir beaucoup plus communs maintenant.
allow from any inet prefixlen 8 - 24
deny from any inet6 prefixlen > 64
Veuillez noter que bgplg et les binaires associés sont désactivés durant l'installation/mise à jour. Si vous les utilisez, vous devez les réactiver suivant la procédure décrite dans la page du manuel de bgplg(8).
--- ./etc/ssh/sshd_config Sat Mar 10 20:31:32 2007
+++ ../42/etc/ssh/sshd_config Tue Aug 28 11:59:52 2007
@@ -11,3 +11,2 @@
#Port 22
-#Protocol 2,1
#AddressFamily any
@@ -15,2 +14,7 @@
#ListenAddress ::
+
+# Disable legacy (protocol version 1) support in the server for new
+# installations. In future the default will change to require explicit
+# activation of protocol 1
+Protocol 2
Encore une fois, nous vous signalons que cette modification n'est pas
prise en compte par le processus de mise à jour standard.
XXX
Afin qu'un nombre important d'éléments puisse continuer à fonctionner de la façon attendue, le fichier correctif ci-après ajoutera une ligne "Defaults env_keep" à votre fichier /etc/sudoers sinon il essaiera de rendre ce fichier aussi proche que possible du fichier se trouvant dans etc42.tgz. Il se pourrait cependant que le correctif ne fonctionne pas. Vous devriez vous assurer que votre fichier sudoers contient une ligne ressemblant à la ligne suivante :
ce qui suppose que vous souhaitez accorder aux membres du groupe "wheel" les pouvoirs sudo absolus. Après le passage du correctif, il serait plus prudent de tester sudo(8) afin d'en valider le bon fonctionnement avant de se déconnecter du système.%wheel ALL=(ALL) SETENV: ALL -- ou -- %wheel ALL=(ALL) NOPASSWD: SETENV: ALL
Si votre carte réseau en fait partie, vous devez modifier au moins vos fichiers /etc/hostname.deX (astuce : lien en dur) et vos fichiers pf.conf pour prendre en compte ce changement.
Nous vous rappellons que ceci est uniquement sur plate-forme alpha.
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>.
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 :
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 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 -C / -xzpf ${RELEASEPATH}/base42.tgz ./etc/firmware
export RELEASEPATH=/usr/rel
cd ${RELEASEPATH}
tar -C / -xzpf base42.tgz
tar -C / -xzpf comp42.tgz
tar -C / -xzpf game42.tgz
tar -C / -xzpf man42.tgz
tar -C / -xzpf misc42.tgz
tar -C / -xzpf xbase42.tgz
tar -C / -xzpf xfont42.tgz
tar -C / -xzpf xserv42.tgz
tar -C / -xzpf xshare42.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 etc42.tgz et xetc42.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.
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 :
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é :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
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 :
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/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
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.cd / patch -C -p0 < upgrade42.patch
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).
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 :etc/bgpd.conf etc/mail/spamd.conf etc/ospfd.conf etc/ssh/sshd_config
newaliases mtree -qdef /etc/mtree/4.4BSD.dist -p / -u
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.
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
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 :
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
Vous verrez certainement quelque chose comme cela après avoir lancé la commande précédente :
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.Looking for updates: complete Cannot find updates for expat-2.0.0 Proceed? [y/N]
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]