Gestion des ports avec portsnap

Un article de Projet de documentation fug-fr .

Jump to: navigation, search

Depuis la version 6.0, FreeBSD inclut par défaut un nouvel outil pour gérer son arbre des ports : portsnap.

Sommaire

[modifier] Fonctionement de portsnap

[modifier] Installer portsnap

Cette section est destinée aux posseseurs d'une version de FreeBSD inférieure à la 6.0, ce dernier étant inclut par défaut dans les versions supérieures

[modifier] Récupération de l'arbre des ports

> portsnap fetch Cette commande récupère un snapshot compressé.

> portsnap extract Cette commande doit être exécutée uniquement pour initialiser l'arbre des ports.

   Celle ci aura pour conséquence de tout remplacer dans le repertoire d'extraction.
   Par défaut /usr/ports, => Configurable /etc/portsnap.conf

[modifier] Mise à jour de son arbre des ports

>portsnap fetch update

[modifier] Automatiser la mise à jour de son arbre des ports

Il est fortement recommandé de ne pas exécuter portsnap update à partir d'une tâche cron, puisque cela peut être à l'origine de graves problèmes si la commande a lieu au même moment qu'un logiciel porté est en train d'être compilé ou installé. Cependant, les fichiers INDEX peuvent être mis à jour sans risque, et cela peut être fait en passant l'indicateur -I à la commande portsnap (bien entendu si portsnap -I update est exécuté par cron, il sera alors nécessaire de lancer portsnap update sans l'option -I ultérieurement pour mettre à jour le reste de l'arborescence). L'ajout de la ligne suivante dans le fichier /etc/crontab demandera à portsnap de mettre à jour son instantané compressé et les fichiers INDEX du répertoire /usr/ports, et enverra un courrier électronique si un logiciel porté installé n'est pas à jour:

0 3 * * * root portsnap -I cron update && pkg_version -vIL=

Note : Si l'horloge système n'est pas positionnée sur le fuseau horaire local, remplacez 3 par une valeur quelconque comprise entre 0 et 23, afin de répartir de manière plus équilibrée la charge sur les serveurs Portsnap.

Note : Des versions anciennes de portsnap ne supportent pas l'utilisation de commandes multiples (par exemple cron update) lors de la même invocation de portsnap. Si la ligne précédente échoue, essayez de remplacer portsnap -I cron update par portsnap cron && portsnap -I update.