Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Installer des programmes sur OpenBSD

OpenBSD dispose de nombreux paquets, tous vérifiés et donc sécurisés.

Pour installer un paquet, on doit utiliser la commande “pkg_add”. Par exemple, pour installer firefox :

# pkg_add ftp://ftp.fr.openbsd.org/pub/OpenBSD/5.9/packages/amd64/firefox

Avouez que ce n'est pas pratique de taper tout ça. On peut se simplifier la vie une bonne fois pour toute. Dans le fichier ~/.profile, ajoutez la ligne suivante :

export PKG_PATH=ftp://your.ftp.mirror/pub/OpenBSD/5.9/packages/`machine -a`/

Ou alors, on peut mettre la ligne suivante dans le fichier /etc/pkg.conf (merci fred):

installpath = http://ftp.fr.openbsd.org/pub/OpenBSD/%v/packages/%a

Maintenant, il suffit de lancer :

# pkg_add firefox

Et c'est tout, il saura trouver le paquet tout seul

Chercher et trouver un paquet

Vous pouvez consulter dans un navigateur la liste des paquets : http://ftp.fr.openbsd.org/pub/OpenBSD/5.9/packages/amd64/ .

On peut faire une requête avec pkg_info de cette façon :

pkg_info -Q recherche

Cependant, ça peut être long selon sa connexion . Je vous propose alors le script pkg_sch, qui va récupérer une fois pour toute la liste des paquets (mise à jour régulièrement). Il s'utilise ainsi :

pkg_sch paquet àtrouver

#!/bin/sh
#Search packages for openBSD

HOSTNAME="ftp.openbsd.org"
LOCATION="pub/OpenBSD/5.8/packages/amd64"
PKGLIST=~/.pkg_list

update_list()
{
echo "update package list"
ftp -n $HOSTNAME > $PKGLIST << EOF
user anonymous" "
cd $LOCATION
nlist
bye
EOF
sed -i "s/.tgz//g" $PKGLIST
}

# update if necessary

if [ ! -e $PKGLIST ]; then
update_list
elif [ $(($(date +%s) - $(stat --format=%Z ~/.pkg_list))) -gt 604800 ]; then
update_list
fi

egrep "$@" $PKGLIST

Utilisez les ports

L'équipe d'OpenBSD n'a peut-être pas eu le temps d'empaqueter et vérifier la fiabilité de ce logiciel. Cela ne vous empêchera pas de l'installer, grâce aux système des ports. Il s'agit en réalité d'instructions simples qu'un programme va lire pour compiler et installer votre programme favori.

Si un port est en réalité déjà empaqueté, vous pouvez faire en sorte de le sélectionner directement en ajoutant la ligne suivante au fichier /etc/mk.conf :

FETCH_PACKAGES=yes

Pour récupérer la liste de ports, il faut lancer une fois pour toute les commande suivantes :

$ cd /tmp
$ ftp http://ftp.openbsd.org/pub/OpenBSD/$(uname -r)/ports.tar.gz
$ ftp http://ftp.openbsd.org/pub/OpenBSD/$(uname -r)/SHA256.sig
$ signify -Cp /etc/signify/openbsd-$(uname -r | cut -c 1,3)-base.pub -x SHA256.sig ports.tar.gz
# cd /usr
# tar xzf /tmp/ports.tar.gz

Pour chercher un port, on se déplace dans /usr/ports, puis on cherche le dossier du port souhaité. On peut utiliser “make search” ainsi :

$ cd /usr/ports
$ make search key=rsnapshot

Une fois le port trouvé, déplacez-vous dans son dossier puis lancez “make install”.

Référence