FreeBSD Mise à jour

Un article de Casys (Canadian Sysadmins).

Auteur: Thomas Boutry

Sommaire

Description

Comme tout système d'exploitation il est très important de mettre à jour votre système. Pour des questions de sécurité mais aussi pour la correction des bugs.
Cette section couvre 2 mise à jour, contrairement au système Linux le système FreeBSD est composé en 2 partie.
Le système de base aussi appelé le World , ceci comprend toutes les applications qui est maintenu directement par l'équipe de FreeBSD, ceci comprend les utilitaires de base du système
Exemple : ls , cp , vi , syslog, kerberos , ssh, sudo , ...
Bien entendu le kernel fait aussi partie du système de base mais il est installé avec une autre commande que nous allons voir.

Et nous avons les ports ces applications sont des ajouts au système des applications généralement plus haut niveau telle que : apache, nagios, tomcat ,...
Ces paquages sont maintenu par d'autre membres de la communauté de FreeBSD. Nous verrons donc aussi comment mêtre à jour ces paquages car il est rare d'avoir un système avec uniquement la base.

Mise à jour du système de base et le kernel

Configuration du serveur de mise à jour

  • Vérification du fichier de configuration pour l'application CVSup.

Si vous avez suivez les instructions d'installation sur ce wiki cette partie est déjà réalisé. Vous devriez avoir un fichier dans le répertoire /root portant le nom cvs-supfile.

sudo egrep 'tag=|host=' /root/cvs-supfile

Faite la vérification des 2 entrées : tag et host , pour un système FreeBSD 7.0 vous devriez avoir comme résultat ceci :

*default host=cvsup4.freebsd.org
*default tag=RELENG_7_0

Pour plus d'information sur le tag je vous invite à visiter le site : http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvs-tags.html
Le tag spécifie la release de votre OS.

Si vous n'avez pas ce fichier regardez la section Configuration du système de mise à jour - CVSUP à la page FreeBSD Installation


Téléchargement des derniers fichier

  • Récupération des derniers fichiers sur le serveur
sudo cvsup -g -L 2 /root/cvs-supfile

Compilation du kernel et de la base

sudo su -
cd /usr/src
  • Définition de la variable KERNEL

Si vous recompilé le kernel déjà utilisez vous pouvez utiliser set instruction

set KERNEL=`uname -i` && echo $KERNEL

Si vous n'utilisez pas le kernel courant redéfinissez la variable avec le nom du fichier correspondant dans le répertoire /root/kernel/

set KERNEL=VMWARE_VM && echo $KERNEL
  • Compilation
make buildworld && make buildkernel KERNCONF=${KERNEL} 

Cette opération est longue il est temps d'allé chercher un bon café :D.

  • Merge des fichiers de configuration du système de base

L'utilitaire mergemaster permet de merger les différences entres les fichiers actuellement installés et ceux qui vont être déployés avec l'installation du nouveau système de base.

Cette opération "pré-installworld" est nécessaire afin que les fichiers de configuration nécessaires contiennent les bonnes informations pour que l'opération d'installation du système de base se déroule bien.

mergemaster -p
  • Installation du noyau
make installkernel KERNCONF=${KERNEL}
  • Installation du système de base
make installworld
  • Merge des fichiers de configuration du système de base

Le nouveau système de base fraîchement installé necessite potentiellement de nouvelles directives de configuration pour bien fonctionner tout en conservant les modifications faites par l'administrateur sur ces mêmes fichiers. Il est donc nécessaire de faire un merge entre les fichiers installés et les nouveaux fichiers par défaut venant avec le nouveau systême de base. L'outil mergemaster est utilisé pour cette opération.

mergemaster

Si vous avez recompilé le kernel vous devez redémarrer le système.

sudo init 6

Mise à jour des ports