La version 9 de FreeBSD apporte son lot de nouveautés. Elle améliore notamment les performances, la stabilité générale et la sécurité, mais intègre aussi de nouveaux drivers. Mettre à jour le système peut apporter dans certains cas l’incompatibilité de certains services liés à des libraires disparues, ou ayant été renommées. N’oubliez pas de mettre à jour les ports et de les recompiler pour être sûr de la cohérence du système.
Voici le changelog complet (version originale):
<[julian@FreeBSD.org](mailto:julian@FreeBSD.org)>
, Daniel Eischen <[deischen@FreeBSD.org](mailto:deischen@FreeBSD.org)>
, and David Xu <[davidxu@FreeBSD.org](mailto:davidxu@FreeBSD.org)>
on KSE support.kern.features
sysctl tree. The feature_present(3) library call provides a convenient interface for user applications to test the presence of features.net.bpf.zerocopy_enable
sysctl variable to 1.-M
option to set the mode of a new user’s home directory. [MERGED]-v
flag for verbose output and a -f
flag to ignore errors with the same semantics as (for example) chmod(1). [MERGED]-a
flag, which is equivalent to specifying the -RrP
flags.-u _name_
which will completely unset the given variable name by removing it from the environment, instead of just setting it to a null value.-i _filename_
which will only download the specified HTTP URL if the content is newer than filename. [MERGED]-D
option to specify a date format string to be used with the long format (-l
) output.-O
switch to disable the use of TCP options.-o
switch has been deprecated. It will be removed in a future release.-q
flag to suppress warnings; it now also accepts multiple paths on its command line.-n
afin de séparer un fichiers en un nombre de fragments définis-Z
afin d’activer les compressions de type compress(1)-style.--numeric-owner
pemettant d’ignorer les noms d’utilisateur/groupes à l’extraction et à la création.-S
pour élaguer des fichiers à l’extraction-s
flag permettant de substituer des noms de fichiers basés sur une expression régulière.-P
afin d’afficher des statistiques par utilisation CPU-U
pour envoyer des paquets sondes sans protocole de couche supérieure, plutôt que des paquets UDP.Avant de pouvoir passer à la version 9.0 de FreeBSD il va falloir mettre à jour le système actuel. En effet des modifications ont été apportés à la commande freebsd-update qui la rendent incompatible avec la version 9.x.
freebsd-update fetch install
La commande va ensuite inspecter votre système et déterminer comment effectuer la mise à jour et vous notifier des modifications à effectuer. Redémarrez ensuite la machine afin de passer sur le noyau (dans notre cas 8.2-p6).
Maintenant nous pouvons passer à la migration:
freebsd-update -r 9.0-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 4 mirrors found.
Fetching metadata signature for 8.2-RELEASE from update5.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
The following components of FreeBSD seem to be installed:
kernel/generic world/base world/dict world/doc world/manpages
The following components of FreeBSD do not seem to be installed:
src/base src/bin src/cddl src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/catpages world/games world/info world/proflibs
Does this look reasonable (y/n)? y
Le système vous demande s’il est raisonnable de n’installer que les parties citées. Ceci dépendra surtout de l’installation initiale que vous avez effectuée. Entrez ‘y’ pour valider et passer au téléchargement des fichiers.
Fetching metadata signature for 9.0-RELEASE from update3.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 8.2-RELEASE for merging... done.
Preparing to download files... done.
Fetching 8581 patches.....10...[résultat omis]
Applying patches... done.
Fetching 1915 files...
Attempting to automatically merge changes in files... done.
The following changes, which occurred between FreeBSD 8.2-RELEASE and
FreeBSD 9.0-RELEASE have been merged into /etc/crontab:
--- current version
+++ new version
@@ -1,8 +1,8 @@
# /etc/crontab - root's crontab for FreeBSD
#
-# $FreeBSD: src/etc/crontab,v 1.33.2.1.6.1 2010/12/21 17:09:25 kensmith Exp $
+# $FreeBSD: release/9.0.0/etc/crontab 194170 2009-06-14 06:37:19Z brian $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
#
#minute hour mday month wday who command
Does this look reasonable (y/n)? y
L’outil va ensuite vous demander si les modifications sur les fichiers qu’il va présenter sont correctes. En général oui, mais il vaut mieux vérifier, et pour terminer vous présenter la liste des fichiers qu’il va modifier.
The following files will be removed as part of updating to 9.0-RELEASE-p0:
/boot/kernel
/boot/kernel/acpi.ko
/boot/kernel/acpi.ko.symbols
/boot/kernel/acpi_aiboost.ko
/boot/kernel/acpi_aiboost.ko.symbols
/etc/manpath.config
[résultat omis]
--More--(byte 810)
The following files will be added as part of updating to 9.0-RELEASE-p0:
/boot/brand.4th
/boot/check-password.4th
/boot/color.4th
/boot/delay.4th
/boot/kernel/beastie_saver.ko
[résultat omis]
--More--(byte 891)
The following files will be updated as part of updating to 9.0-RELEASE-p0:
/.cshrc
/.profile
/COPYRIGHT
/bin/[
/bin/cat
/bin/chflags
[résultat omis]
Tout devrait être correct vous pouvez donc quitter, ou bien vérifier la liste des modifications si vous avez modifié le système. Maintenant appliquez l’upgrade.
freebsd-update -r 9.0-RELEASE install
Installing updates...rmdir: ///boot/kernel: Directory not empty
Kernel updates have been installed. Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
Vous pouvez ensuite redémarrer sans problème afin que le noyau 9.0 soit appliqué. Il faut désormais installer la partie userland, réitérez la commande. Ici nous voyons également que le noyau est bien en 9.0-RELEASE, comme effectué.
# uname -a
FreeBSD SquidBSD.bc1.groupe-ppa.local 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:15:25 UTC 2012
root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
# freebsd-update install
Installing updates...
Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run "/usr/sbin/freebsd-update install"
again to finish installing updates.
Maintenant que le userland est à jour, il serait judicieux de réinstaller les services que vous avez activés afin qu’ils soient cohérents avec le système. Une fois ceci effectué, retapez la commande freebsd-update install pour terminer l’installation.
Note: la migration a été faite sur un système utilisant squid, havp et clamd et il n’a pas été nécessaire de recompiler les services pour qu’ils fonctionnent.
Voilà ! vous savez désormais comment migrer de FreeBSD 8.x et 7.x vers la version 9.0. Je vous suggère de vous mettre à jour surtout si vous virtualisez des FreeBSD, car il y a des mises à jour de performances importantes permettant d’économiser de la puissance CPU et RAM à votre serveur de virtualisation.