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.

SommaireFreeBSDFreeBSD Logiciels portés et paquetages (6)
précédent sommaire suivant
 

Plusieurs solutions sont possibles :

  • Lors de l'installation, il est proposé d'installer ou non ce système. Si vous n'avez pas installé le système de ports durant l'installation, il est possible de le faire depuis l'utilitaire d'installation et de configuration du système : sysinstall(8).
    Sous root, exécutez sysinstall dans un terminal en tapant son nom.

    Allez dans le menu "Configure - Do post-install configuration of FreeBSD", puis " Distributions - Install additional distribution sets", cochez "ports - The FreeBSD Ports collection" et validez...
    Si vous n'avez pas encore sélectionné de média pour l'installation, il vous est demandé de le choisir (CD-ROM, Internet, etc).
    Le système de ports prend environ 200 Mo sur votre disque dur.
  • portsnap, programme désormais intégré à partir des versions 5.5 et 6.0 de FreeBSD (inclues), permet de gérer le système des ports.

    Vous pouvez par conséquent l'utiliser comme suit pour rapatrier le système de logiciels portés :

    Code linux : Sélectionner tout
    portsnap fetch extract
    Les utilisateurs de versions antérieures ne sont pas en reste car ils peuvent installer ce même utilitaire en recourant aux paquets officiels :

    Code linux : Sélectionner tout
    pkg_add -r portsnap
  • Bien que cvsup ait pour but de mettre à jour le système de ports, il est possible de l'utiliser pour récupérer ses sources. Il nous faut seulement l'installer au préalable sous forme de paquet :

    Code linux : Sélectionner tout
    pkg_add -r cvsup-without-gui
    Puis créer un fichier de configuration, supfile, que nous dédierons à la mise à jour du système des ports :

    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
    Enfin nous pouvons exécuter cvsup pour accomplir l'objectif :

    Code linux : Sélectionner tout
    cvsup -g -L 2 /root/ports-supfile
  • csup est une réimplémentation en C du client cvsup écrit dans le langage Modula3. Il est intégré au système de base depuis la version 6.2 de FreeBSD. Les systèmes moins récents peuvent cependant y avoir accès via le paquet éponyme :

    Code linux : Sélectionner tout
    pkg_add -r csup
    Tout comme cvsup, il faut d'abord créer un fichier de configuration où nous ne nous préoccuperons que du système des logiciels portés :

    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 à présent exécuter la commande csup :

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

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

  • FreeBSD, il existe un port bien pratique : portupgrade.

    Installez-le si ce n'est pas déjà fait :

    Code linux : Sélectionner tout
    1
    2
    3
    4
    5
    6
    # Par les logiciels portés 
    cd /usr/ports/ports-mgmt/portupgrade 
    make install clean 
     
    # Sous forme de paquet binaire 
    pkg_add -r portupgrade
    Puis exécutez la commande du même nom :

    Code linux : Sélectionner tout
    portupgrade --all
  • NetBSD (et DragonFlyBSD >= 1.4) dispose lui aussi d'un logiciel porté afin d'automatiser et de simplifier cette procédure : pkg_chk. Il est capable de procéder à la mise à jour de vos logiciels soit en utilisant les paquetages binaires soit par les paquetages sources.

    Vous devez pour commencer, l'installer :

    Code linux : Sélectionner tout
    1
    2
    3
    4
    5
    6
    # Par les paquetages sources 
    cd /usr/pkgsrc/pkgtools/pkg_chk 
    make install clean # Remplacez make par bmake pour DragonFlyBSD 
     
    # Sous forme de paquetage binaire 
    pkg_add pkg_chk
    Pour procéder à une mise à jour des logiciels que vous avez installé sans recompilation :

    Code linux : Sélectionner tout
    pkg_chk -buk
    Au besoin, ajoutez l'option -P pour préciser le chemin vers ces paquetages.

    Par recompilation, requérant au préalable une mise à jour de la collection des paquetages :

    Code linux : Sélectionner tout
    pkg_chk -usk

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

Lorsque vous compilez/installez une application, ses sources sont téléchargées sur le disque dur, mais l'archive des sources n'est pas supprimée par un éventuel make clean après l'installation d'un port.
Cela permet une recompilation sans perdre le temps d'un téléchargement, et permet de tout recompiler dans un système sans avoir besoin de connexion internet.
Mais quand une nouvelle version d'un logiciel est disponible, les sources de la nouvelle version ne remplaceront pas celles de l'ancienne version : les archives de toutes les versions téléchargées resteront sur votre disque dur.

Si par exemple, vous installez cvsup avec le système de ports initial, vous téléchargerez les sources de la version x de cvsup ; installez cette version. Puis mettez à jour votre système de ports.
Vous mettez à jour cvsup. Les sources de la version y sont téléchargées et enregistrées sur le disque dur à côté des sources de la version x, lesquelles ne servent plus à rien et occupent de l'espace disque.
L'utilitaire portsclean(1) permet justement de supprimer tous ces fichiers inutiles :

Code linux : Sélectionner tout
portsclean -C -DD -PP
Les principales options sont :
  • -C : supprime les répertoires de compilation (work dans chaque répertoire d'un port).
  • -D : supprime les archives sources qui ne sont pas référencées dans l'arbre.
  • -DD : supprime les archives sources des ports qui ne sont pas installés.
  • -P : supprime les archives de paquetages obsolètes.
  • -PP : supprime toutes les archives de paquetages.

Mis à jour le 1er août 2007 Olivier Regnier Smortex

Une seule url : http://www.freshports.org , où il est possible de s'inscrire pour être automatiquement notifié de la mise à jour des ports que l'on souhaite.

Mis à jour le 1er août 2007 Smortex

Lorsque vous installez un port du catalogue de logiciels portés, vous avez sans doute remarqué la possibilité d'y définir des options à la compilation.

  • L'avantage c'est de pouvoir personnaliser au maximum son système.
  • L'inconvénient, c'est que vous devez retenir toutes les options à définir.

Deux solutions s'offrent à vous :
  • La première consiste à stimuler vos neurones et votre cerveau.
  • La deuxième utiliser le fichier de configuration de portupgrade à savoir pkgtools.conf accessible dans /usr/local/etc/pkgtools.conf.

Vous devez avoir installé portupgrade. Pour ce faire, exécutez la commande suivante :

Code linux : Sélectionner tout
make -C /usr/ports/ports-mgmt/portupgrade/ install clean
Suite à l'installation, les fichiers /usr/local/etc/pkgtools.conf et /usr/local/etc/pkgtools.conf.sample ont été installés. Ces deux fichiers sont identiques. Les modifications doivent être apportées dans /usr/local/etc/pkgtools.conf et garder /usr/local/etc/pkgtools.conf.sample comme fichier de référence.

A quoi sert ce fichier ? Il permet de positionner les variables d'environnement utilisés par les utilitaires de portupgrade. Lisez attentivement ce fichier, il est très bien commenté.

Un petit exemple vaut mieux qu'un long discours. Nous allons personnaliser la construction du port mplayer en lui indiquant quelques options, l'équivalent de la solution n°1.

Pour ce faire, nous allons saisir :

Code linux : Sélectionner tout
1
2
cd /usr/ports/multimedia/mplayer 
make WITH_GUI=yes WITH_FREETYPE=yes install clean
Ces options se situent dans le fichier Makefile du dit port.

Ou bien avec le fichier pkgtools.conf :

Code : Sélectionner tout
1
2
3
MAKE_ARGS = { 
   'multimedia/mplayer' => 'WITH_GUI=1 WITH_FREETYPE=1', 
}
Ou encore de cette manière :

Code : Sélectionner tout
1
2
3
4
5
6
MAKE_ARGS = { 
   'multimedia/mplayer' => [ 
        'WITH_GUI=1', 
        'WITH_FREETYPE=1', 
   ], 
}
Quelques explications : la section est composée de son nom ici MAKE_ARGS, notez les accolades ouvrante et fermante { et }. Entre les guillemets simples (') est cité le nom du port et son sous-répertoire. Les options sont ajoutées après le => et sont également incluses entre les guillemets simples et séparées par un espace. Sachez enfin que le chiffre 1 est utilisé au lieu du mot yes.

Je préfère la deuxième méthode car après des heures de compilation, je ne pense pas me souvenir de toutes les options utilisées. Avec ce fichier, tout est sauvegardé.

Mis à jour le 1er août 2007 Olivier Regnier

En utilisant le système de logiciels portés, on ajoute l'option -DDISABLE_VULNERABILITIES lors du make, exemple :

Code linux : Sélectionner tout
1
2
cd /usr/ports/<catégorie>/<port> 
make -DDISABLE_VULNERABILITIES install clean
Les utilisateurs de portupgrade doivent ajouter les options -m et -DDISABLE_VULNERABILITIES :

Code linux : Sélectionner tout
portupgrade -m -DDISABLE_VULNERABILITIES <port>

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.