FAQ BSDConsultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 127, dernière mise à jour : 20 novembre 2007 Ajouter une question
Cette FAQ a été réalisée à partir des contributions des membres du forum Unix de developpez.com et de l'équipe de rédaction.
Organisation : cette FAQ se compose de deux grandes parties. Une première, Questions générales, qui regroupe toutes les questions qui trouvent une réponse, commune ou non, pour l'ensemble des systèmes BSD. La deuxième est découpée en autant de sous-parties qu'il y a de systèmes BSD soit parce que la question est spécialisée soit parce que la réponse est incomplète pour qu'elle concerne chacun de ces systèmes.
Participer : nous sommes perpétuellement à l'écoute de vos suggestions et corrections, aussi mineures soient-elles. N'hésitez pas à nous en faire part par l'intermédiaire de la discussion prévue à cet effet .
Note : l'exactitude des informations figurant dans la présente FAQ sont autant que possible vérifiée avant intégration. Cependant, nous ne pouvons garantir l'absence de toute erreur, c'est pourquoi les auteurs ne pourront en aucun cas être tenus pour responsables.
- Qu'est-ce qu'un logiciel porté (port) ?
- Qu'est-ce qu'un paquetage (package) ?
- Comment mettre à jour les logiciels portés ?
- Comment installer une application grâce au système de ports ?
- Comment désinstaller un port ?
- Comment construire un paquet binaire à partir de son port ?
- Le programme xxx n'est pas dans le système de ports. Est-il possible de l'installer ?
- Comment trouver par quel paquet un fichier a été installé ?
- Quelle est la liste des fichiers installés par un paquet ?
Les trois systèmes BSD (Berkeley Software Distribution) : FreeBSD, OpenBSD et NetBSD disposent d'un système de logiciels portés. Elles permettent ainsi d'installer un catalogue de logiciels portés, qui n'est ni plus ni moins qu'une base de données comprenant dans le cas de la distribution FreeBSD plus de 16000 logiciels. Un logiciel porté aussi appelé port, est un ensemble de fichiers conçus pour automatiser le processus de compilation d'une application à partir du code source. L'opération d'installation d'un logiciel faite manuellement est longue et fastidieuse car elle comprend les opérations suivantes : télécharger le code source, extraction des fichiers, application des correctifs (à cause de l'incompatibilité entre Linux et le système BSD), compilation puis installation. L'intérêt d'un tel système permet d'appliquer des correctifs supplémentaires en cas de besoin, d'ajouter des options éventuelles au logiciel, de gérer les dépendances (un programme peut avoir besoin d'un autre pour fonctionner) et de pouvoir mettre à jour de façon automatique les logiciels installés à partir de ce système de ports.
NetBSD appelle "port" un portage de NetBSD sur une architecture donnée. Ce que FreeBSD et OpenBSD appellent "port", NetBSD l'appelle "paquetage". |
Le terme package (en français paquetage) désigne des programmes issus du système de ports, compilés et distribués sous forme binaire.
La dénomination chez NetBSD, est une fois de plus différente, NetBSD parle ici de "paquetages binaires". |
- FreeBSD :
- CVSup :
Commençons par installer le programme en question :Code linux : Sélectionner tout 1
2
3
4
5
6# Par les logiciels portés cd /usr/ports/net/cvsup-without-gui make install clean # Sous forme de paquet binaire pkg_add -r cvsup-without-gui
Code linux : Sélectionner tout 1
2# Copie d'un fichier supfile fourni comme exemple vers /root/ et on spécifie un serveur CVSup sed "s/CHANGE_THIS\.FreeBSD\.org/cvsup2\.fr\.FreeBSD\.org/" /usr/share/example(s)/cvsup/ports-supfile > /root/ports-supfile
Code linux : Sélectionner tout cvsup -g -L 2 /root/ports-supfile
- Portsnap :
portsnap est une alternative à c(v)sup, présentant les avantages d'être sécurisée et de ne pas demander l'ouverture de ports dans le pare-feu puisque c'est le protocole HTTP qui est employé.
Les FreeBSD de versions supérieures ou égales à 5.5 et 6.0 intègrent parmi le système de base cet utilitaire. Pour les versions antérieures il faudra l'installer via le logiciel porté ou le paquet éponyme :Code linux : Sélectionner tout 1
2
3
4
5
6# Par les logiciels portés cd /usr/ports/sysutils/portsnap make install # Sous forme de paquet binaire pkg_add -r portsnap
Code linux : Sélectionner tout portsnap fetch update
Ce logiciel possède un fichier de configuration qui,
dans la plupart des cas est suffisant par défaut.
Celui-ci se nomme /etc/portsnap.conf et
/usr/local/etc/portsnap.conf lors d'une
installation à partir des paquets ou ports. - csup :
csup, une réécriture en C du client cvsup écrit en langage Modula3, est intégré au système de base depuis la version 6.2. Son usage est donc fortement similaire à celui de cvsup.
Les systèmes qui en sont dépourvus peuvent en faire l'installation grâce au logiciel porté ou paquet correspondant :Code linux : Sélectionner tout 1
2
3
4
5
6# Par les logiciels portés cd /usr/ports/net/csup make install clean # Sous forme de paquet binaire pkg_add -r csup
Code linux : Sélectionner tout 1
2# Copie d'un fichier supfile fourni comme exemple vers /root/ et on spécifie un serveur CVSup sed "s/CHANGE_THIS\.FreeBSD\.org/cvsup2\.fr\.FreeBSD\.org/" /usr/share/example(s)/cvsup/ports-supfile > /root/ports-supfile
Code linux : Sélectionner tout csup -L 2 /root/ports-supfile
- CVSup :
- NetBSD :
- Récupération d'un snapshot par FTP :
Chaque semaine la version courante des paquetages sources est empaquetée sous la forme d'une archive compressée que vous pouvez exploiter. Pour la récupérer, utilisez les commandes suivantes :Code linux : Sélectionner tout 1
2cd /usr ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz
Code linux : Sélectionner tout tar xzf pkgsrc.tar.gz
Ici nous utilisons la version courante des paquetages
sources et non la dernière version stable. Il y a
environ une version stable par trimestre que vous
pouvez reconnaître à son nom qui est de la forme :
pkgsrc-<année>Q<version>.tar.gz, exemple
pkgsrc-2007Q2.tar.gz - cvs :
Le client CVS, intégré au système, vous permettra de mettre à jour la liste des paquetages sources (ici sur la branche courante) :Code linux : Sélectionner tout 1
2
3
4
5
6# (ba|k)sh export CVSROOT="anoncvs@anoncvs.fr.NetBSD.org:/pub/NetBSD-CVS" # (t)csh setenv CVSROOT "anoncvs@anoncvs.fr.NetBSD.org:/pub/NetBSD-CVS" cvs update -Pd
Code linux : Sélectionner tout cvs update -rpkgsrc-2007Q2 -Pd
- sup :
Un autre moyen qui vous est offert de base par le système. Créez-vous un fichier de configuration dédié à cette tâche comme celui qui vous est présenté ci-dessous :Code : Sélectionner tout 1
2
3
4
5
6
7current \ release=pkgsrc \ host=sup.NetBSD.org \ hostbase=/ftp/pub \ base=/usr \ prefix=/usr \ backup use-rel-suffix delete
Code linux : Sélectionner tout sup -v /root/pkgsrc-supfile
- CVSup :
Ce type de client doit être préalablement installé à partir des paquetages, opération que vous pouvez réaliser à l'aide de :Code linux : Sélectionner tout 1
2
3
4
5
6# Par les paquetages sources cd /usr/pkgsrc/devel/cvsup make install clean # Par les paquetages binaires pkg_add -v cvsup
Code : Sélectionner tout 1
2
3
4
5
6
7
8
9
10*default tag=. *default release=cvs *default delete use-rel-suffix *default umask=002 *default host=cvsup.se.netbsd.org *default base=/usr *default prefix=/usr *default compress netbsd-pkgsrc
Code linux : Sélectionner tout cvsup -g -L 2 /root/pkgsrc-supfile
- csup :
Un client alternatif pour le protocole cvsup. Une installation de celui-ci sera tout d'abord requise :Code linux : Sélectionner tout 1
2
3
4
5
6# Par les paquetages sources cd /usr/pkgsrc/net/csup make install clean # Par les paquetages binaires pkg_add -v csup
La mise à jour pourra être effectuée à l'aide de la ligne suivante :Code linux : Sélectionner tout csup -L 2 /root/pkgsrc-supfile
- Récupération d'un snapshot par FTP :
- OpenBSD :
Les logiciels portés doivent correspondre à la version du
système !- cvs :
Cette première possibilité ne demande l'installation d'aucun logiciel complémentaire car le client CVS fait déjà partie de votre système. Ainsi la mise à jour de vos logiciels portés se résumera à ces quelques lignes de commande :Code linux : Sélectionner tout 1
2
3
4
5
6# (ba|k)sh export CVSROOT="anoncvs@anoncvs.skyrock.com:/cvs/openbsd" # (t)csh setenv CVSROOT "anoncvs@anoncvs.skyrock.com:/cvs/openbsd" cvs update -rOPENBSD_4_1 -Pd
- Sans l'option -r : suivre la version CURRENT
- -rOPENBSD_4_1 : les logiciels portés de la version 4.1 et leurs correctifs éventuels
- -rOPENBSD_4_0 : même chose pour la version 4.0
- ...
- CVSup :
En ce qui concerne CVSup, il est nécessaire, dans un premier temps, d'installer le programme du même nom que ce soit à partir des paquets ou des ports :Code linux : Sélectionner tout 1
2
3
4
5
6# Sous forme de paquet binaire pkg_add -v cvsup-<version>-no_x11 # Par les logiciels portés cd /usr/ports/net/cvsup make install clean
Code : Sélectionner tout 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18*default release=cvs *default delete use-rel-suffix *default umask=002 *default host=mirror.public-internet.co.uk *default base=/usr *default prefix=/usr *default tag=<RELEASE> *default compress # Les différents dépôts OpenBSD #OpenBSD-all # Toutes les sources #OpenBSD-src # Les sources du système (noyau + userland) #OpenBSD-www # Les pages web du site openbsd OpenBSD-ports # Les ports #OpenBSD-x11 # Les sources de XFree86-3 adaptées par OpenBSD (obsolètes) #OpenBSD-xf4 # Les sources de X actuellement utilisées #OpenBSD-xenocara # Les sources de la version 7 de X.org (en développement)
- *default tag=. : état courant des logiciels portés
- *default tag=OPENBSD_4_1 : les logiciels portés de la version 4.1 et leurs correctifs éventuels
- *default tag=OPENBSD_4_0 : même chose pour la version 4.0
- ...
A l'avenir vous pourrez mettre à jour vos sources de la sorte :Code linux : Sélectionner tout cvsup -g -L 2 /root/ports-supfile
- csup :
Installez au préalable csup :Code linux : Sélectionner tout 1
2
3
4
5
6# Sous forme de paquet binaire pkg_add -v csup # Par les logiciels portés cd /usr/ports/net/csup make install clean
Cette opération se résumera alors, lorsque vous voudrez mettre à jour la liste de vos logiciels portés, à exécuter la commande :Code linux : Sélectionner tout csup -L 2 /root/syssrc-supfile
- cvs :
Il suffit d'aller dans le dossier de l'application, et d'exécuter un make install.
Pour supprimer les fichiers créés pendant la compilation et inutiles une fois l'installation achevée, on peut lancer un make clean.
Exemple pour installer la dernière version de vim :
Code linux : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | # FreeBSD et OpenBSD cd /usr/ports/editors/vim make install clean # NetBSD cd /usr/pkgsrc/editors/vim make fetch-list | sh make make install make clean CLEANDEPENDS=YES |
Allez dans le répertoire du port et exécutez un make deinstall. Exemple pour désinstaller Emacs :
Code linux : | Sélectionner tout |
1 2 3 4 5 6 7 | # FreeBSD et OpenBSD cd /usr/ports/editors/emacs make deinstall # NetBSD cd /usr/pkgsrc/editors/emacs make deinstall |
Allez dans le répertoire du logiciel qui vous intéresse et exécutez la cible package.
Exemple pour construire le paquetage binaire Emacs :
Code linux : | Sélectionner tout |
1 2 3 4 5 6 7 | # FreeBSD et OpenBSD cd /usr/ports/editors/emacs make package # NetBSD cd /usr/pkgsrc/editors/emacs make package |
Ce n'est pas parce qu'un programme n'est pas dans le système de ports qu'il ne peut pas fonctionner sur un système BSD. Cependant, des modifications peuvent être nécessaires pour que la compilation de l'application se déroule sans problème.
L'installation se fera "normalement" en décompressant les sources "manuellement", et en exécutant les incontournables ./configure, make et make install.
Les différents systèmes BSD ont au moins une commande commune qui fait partie de leur système de base permettant de déterminer par quel paquet un fichier a été installé : pkg_info. Toutefois, les options attendues par cet utilitaire varient de l'un à l'autre :
- FreeBSD :
Code linux : Sélectionner tout pkg_info -W <chemin complet vers le fichier>
Code linux : Sélectionner tout pkg_which <chemin complet vers le fichier>
- NetBSD :
Code linux : Sélectionner tout pkg_info -Fe <chemin complet vers le fichier>
- OpenBSD :
Code linux : Sélectionner tout pkg_info -E <chemin complet vers le fichier>
On retrouve la commande pkg_info commune aux systèmes BSD mais cette fois-ci les options nécessaires sont vigoureusement identiques entre eux :
Code linux : | Sélectionner tout |
pkg_info -L <nom exact du paquet>
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.