IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

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.

SommaireQuestions généralesLogiciels portés et paquetages (9)
précédent sommaire suivant
 

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".

Mis à jour le 1er août 2007 julp

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".

Mis à jour le 1er août 2007 julp

  • 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
      Vous devez ensuite créer un fichier de configuration qui comprend différentes informations tels le serveur auquel nous nous connecterons, les dépôts de sources à consulter, etc. FreeBSD en propose plusieurs à titre d'exemple dans le répertoire /usr/share/example(s)/cvsup et nous nous baserons sur le fichier ports-supfile en tant que modèle. Nous le copierons via sed pour y remplacer le nom du serveur et le rendre dès à présent exploitable :

      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
      Pour mettre à jour votre système de ports, il suffit de lancer :

      Code linux : Sélectionner tout
      cvsup -g -L 2 /root/ports-supfile
      Commande à exécuter régulièrement.
    • 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
      La mise à jour se fait de la manière suivante :

      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
      Il faudra donc commencer par créer un fichier de configuration. Pour ce faire nous nous baserons sur les modèles que l'on peut trouver dans le répertoire /usr/share/example(s)/cvsup/ et plus particulièrement le fichier ports-supfile :

      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
      Ceci fait vous pouvez utiliser la commande de mise à jour suivante (à refaire de temps à autre) :

      Code linux : Sélectionner tout
      csup -L 2 /root/ports-supfile

  • 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
      2
      cd /usr 
      ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz
      Extrayez la ensuite après avoir, de préférence, renommer l'actuel répertoire /usr/pkgsrc/ :

      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
      Au besoin, l'option -r vous permettra d'indiquer la version stable vers laquelle vous mettre à jour. Exemple :

      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
      7
      current \ 
              release=pkgsrc \ 
              host=sup.NetBSD.org \ 
              hostbase=/ftp/pub \ 
              base=/usr \ 
              prefix=/usr \ 
              backup use-rel-suffix delete
      Par la suite et lorsque vous aurez besoin de mettre à jour vos paquetages sources, employez la commande suivante :

      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
      Puis il sera nécessaire de créer un fichier de configuration indiquant le serveur à interroger ainsi que le dépôt qui nous intéresse, ici pkgsrc :

      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
      Il sera désormais possible de réaliser à tout moment la mise à jour de l'ensemble de vos paquetages sources par l'intermédiaire de la commande :

      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
      S'en suit la configuration mais étant prévu pour fonctionner de la même manière que CVSup, nous vous invitons à vous reporter à cette partie pour élaborer votre fichier de configuration.

      La mise à jour pourra être effectuée à l'aide de la ligne suivante :

      Code linux : Sélectionner tout
      csup -L 2 /root/pkgsrc-supfile

  • 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
      Pour suivre une autre version, agissez sur l'option -r :

      • 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
      Deuxième étape : créer un fichier de configuration où, ici, nous nous limitons aux logiciels portés :

      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)
      Remplacez <RELEASE> par la version de votre système :

      • *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
      La compatibilité avec cvsup étant assurée, consultez ensuite la partie consacrée à ce client pour mettre au point le fichier de configuration qui sera requis pour la suite.

      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



Mis à jour le 20 novembre 2007 gorgonite julp Smortex

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

Mis à jour le 1er août 2007 gorgonite Smortex

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

Mis à jour le 1er août 2007 Smortex

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
NB : ceci a également pour effet d'installer le paquet concerné.

Mis à jour le 1er août 2007 gorgonite

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.

Mis à jour le 1er août 2007 Smortex

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>
    On trouve également un programme ayant la même fonctionnalité parmi les logiciels portés : pkg_which fourni avec portupgrade (catégorie ports-mgmt) qui s'utilise simplement :

    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>

Mis à jour le 1er août 2007 julp

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>

Mis à jour le 1er août 2007 julp

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 ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les 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 © 2022 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.