Table des matières

Le système de « ports »

Installer des paquets pré-compilés

C'est la manière la plus simple, et recommandée pour installer des logiciels. Cependant il faut définir un serveur sur lequel on va pouvoir récupérer ce que l'on souhaite.

Il faut définir la variable PKG_PATH, dans le fichier .profile.

[...]

MASTER_SITE=ftp://ftp.fr.openbsd.org/pub
OS_SYSTEM=`uname -s`
OS_RELEASE=`uname -r`
OS_ARCH=`machine -a`

PKG_PATH="${MASTER_SITE}/${OS_SYSTEM}/${OS_RELEASE}/packages/${OS_ARCH}/"
export PKG_PATH

[...]

Pour prendre en compte immédiatement ces modifications :

. ~/.profile

Supprimer les paquets

Pour tout supprimer d'un coup :

pkg_delete -q /var/db/pkg/*

Si l'on souhaite conserver les firmwares.

pkg_delete -q `ls /var/db/pkg | grep -v '.*-firmware'`

Mise à jour des paquets

Pour mettre à jour les paquets pré-compilés, on utilie l'option -u de pkg_add.

pkg_add -u

L'arbre des ports

Ce système repose sur une arborescence de Makefile. Il s'agit d'un fichier qui regroupe les dépendances, et les cibles pour télécharger, compiler et installer un logiciel.

On peut devoir l'utiliser lorsque la license ne permet pas de redistribuer le logiciel par exemple.

L'arbre des ports existe sous deux « branches » :

Bien entendu tout le développement se fait sur la branche -current. Lors de la publication d'une nouvelle version (tous les six mois). Une nouvelle branche (issue de -current) est créée.

Si on suit la version « stable » on doit récupérer l'arbre des ports associé à cette version. On ne peut pas utiliser les ports de la branche -current avec une version stable.

L'arbre des ports peut être récupérer à partir d'une archive .tar.gz ou à partir du système de contrôle CVS.

La méthode la plus rapide (et la plus simple) est celle où l'on télécharge une archive. Par exemple pour la version 5.5.

cd /usr
ftp ftp://ftp.fr.openbsd.org/pub/OpenBSD/5.5/ports.tar.gz
tar -xzf ports.tar.gz
rm ports.tar.gz

On peut modifier certaines variables, il suffit d'éditer le fichier /etc/mk.conf.

WRKOBJDIR=/usr/obj/ports
DISTDIR=/usr/ports/distfiles
PACKAGE_REPOSITORY=/usr/packages