Port, Installer

De Diablotins.org.

(Redirigé depuis Installer un port)


Installer un port
Image:brush.png
Vous êtes arrivés sur cette page à partir d'un article proposant d'installer un port ?


Notez le nom complet du port indiqué sur la page d'origine, il doit être composé de deux termes, séparés par «/»: catégorie/Nom
Dans cet article, nous utiliserons l'exemple de «firefox», soit «www/firefox».




Sommaire

Introduction

Nous distinguerons deux manières d'installer un port:

  • Compiler le code de l'application avant de l'installer.
  • Installer une application déjà compilée.

L'installation d'un port requiert les droits de l' utilisateur root, à l'aide de sudo par exemple.

Où est-il ?

L'arbre des ports se trouve dans /usr/ports/. Déplacez vous dans ce répertoire puis entrez:

make search name=firefox

ou, avec whereis:

whereis firefox

Pour connaitre quels ports font référence à un autre:

make search key=firefox

Compiler et installer un paquetage

Cette méthode à l'avantage de permettre d'adapter au plus près le port à votre système, en utilisant les paramètres de /etc/make.conf.
Par contre, elle est plus longue et requiert beaucoup de ressources.

Appeler directement la commande make

Déplacez-vous dans le catalogue jusqu'au port désiré puis lancez make install: Par exemple:

cd /usr/ports/www/firefox && make install 

Certains logiciels peuvent être configurés dès la compilation en passant des arguments à make(1):

make install -Dopt1        L'option «opt1» est activée.
make install CONF_A=255    La variable «CONF_A» prend la valeur 255.

Par exemple:

cd /usr/ports/multimedia/mplayer 
make install WITHOUT_RUNTIME_CPUDETECTION=1 WITH_LANG=fr

Il vous faut consulter la documentation du logiciel ou plus simplement le fichier Makefile pour en découvrir les options. Il existe plusieurs commandes pour make(1) que l'on peut combiner :

  • install : installer.
  • deinstall: supprimer.
  • distclean: supprimer les fichiers téléchargés après installation.
  • clean: nettoyer le répertoire de travail après installation.

Utiliser l'outil portupgrade

C'est un outil qui va vous permettre de facilement gérer les ports; c'est un port lui-même:ports-mgmt/portupgrade

cd /usr/ports/ports-mgmt/portupgrade && make install distclean

Ensuite tapez:

portinstall www/firefox

ou plus simplement

portinstall firefox

pour installer www/firefox par exemple.
Affectez les variables ou activez les options à passer à make(1):

portinstall -m 'Arguments'  Nom_Du_Port

Par exemple

portinstall -m '-DWITH_CUPS'  editors/openoffice.org

Distfile

C'est un fichier compressé en “gz ou bz2” qui va contenir toutes les sources à compiler, téléchargé puis déposé dans /usr/ports/distfiles/.
Il y restera jusqu'à ce que vous demanderez sa suppression, ou dès l'installation avec l'option “distclean”.

Installer un paquetage précompilé

L'outil pkg_add(1) va vous permettre d'installer ce type de paquetage:

pkg_add -r firefox

ou si vous avez téléchargé à la main le paquetage dans /temp/ par exemple:

pkg_add /temp/firefox.tbz

Portupgrade assure la même fonction:

portinstall -PP firefox

Les options

Dès leur première configuration, certains ports acceptent des options, voire ouvrent un menu de configuration pour vous aider à les positionner.
Seulement cette configuration ne vous est plus demandée par la suite.
Elle se trouvent dans /var/db/ports/portxyz/options.
Éditez ce fichier pour la modifier, supprimez le pour que la prochaine mise à jour du port affiche à nouveau le menu de configuration.
Vous pouvez aussi entrer, dans le répertoire du port:

# pwd
# /usr/ports/xxx/xyz
# make config

Pour effacer la configuration:

# make rmconfig

Pour consulter:

# make showconfig


Si vous ne souhaitez pas spécifier d'options et ne pas être interrompu, utilisez le mode BATCH. Soit en le spécifiant dans votre /etc/make.conf:

 BATCH=yes

Soit avec:

# portupgrade --batch
# portmaster -m 'BATCH=yes'

Portmaster offre la possibilité, au contraire, de lancer la commande pour tous les ports avant de les compiler.
Sinon, lors de la première session, ou pour être sûr de tout revoir:

# portmaster --force-config

Base locale

La liste des ports installés se trouve dans /var/db/ports et /var/db/pkg.

Vous retrouverez dans le premier, le fichier options qui décrit les options de compilations choisies lors de la dernière compilation.

Dans le second, plus complet, comprend une description complète de l'installation.

  • +COMMENT: commentaire, copie de la variable “COMMENT” du Makefile.
  • +CONTENT: Contenu du port: ses dépendances, ses fichiers, ses répertoires.
  • +DESC: Description, généralement copie de pkg-descr
  • +MTREE_DIRS: L'arborescence du port et les droits associés.
  • +REQUIRED_BY: Les ports 'enfants'.
  • +IGNOREME: ignorer ce port.

Le dernier est à ajouter vous-même, pour que les outils de mise à jour ignorent complètement le port.

Ré-installer

Un problème de lien interdit au port de se mettre à jour, il vous déclare sans cesse qu'il ne peut le supprimer ou l'installer car il existe déjà ?
Le paquetage dans /var/db/ports/ est corrompu ?
Réinstaller le:

cd /usr/ports/Catégorie/Ports 
make install -DFORCE_PKG_REGISTER

Pour en savoir plus

Outils personnels
Projets :