Guide utilisateur - 6. Utilisation de l'outil fink en ligne de commande
6.1 Utilisation de l'outil fink
L'outil fink
possède lui-même plusieurs commandes qui lui permettent de travailler sur les paquets de la distribution source. Certaines nécessitent au moins un nom de paquet, mais peuvent gérer plusieurs noms à la fois. Vous pouvez n'indiquer que le nom du paquet (par exemple gimp), le nom et la version (par exemple gimp-1.2.1), ou le nom, la version et la révision (par exemple gimp-1.2.1-3). Fink choisira automatiquement la version et la révision la plus récente si elles ne sont pas spécifiées. D'autres commandes possèdent des options.
Voici la liste des commandes de l'outil fink
:
6.2 Options globales
Ce sont des options qui s'appliquent à toutes les commandes fink
à partir de la version 0.26
. Pour obtenir la liste des options, exécutez fink --help
:
-h, --help : affiche ce message d'aide.
-q, --quiet : diminue le niveau de verbosité de fink
, effet contraire à celui de --verbose. Prend le pas sur l'option Verbose du fichier fink.conf
.
-V, --version : affiche les informations de version.
-v, --verbose : augmente le niveau de verbosité de fink
, effet contraire à celui de --quiet. Prend le pas sur l'option Verbose du fichier fink.conf
.
-y, --yes : applique la réponse par défaut à toutes les questions interactives.
-K, --keep-root-dir : force fink
à ne pas supprimer le sous-répertoire root-[nom]-[version]-[révision]
du répertoire Buildpath à la fin du processus de compilation d'un paquet. Correspond au champ KeepRootDir de fink.conf
.
-k, --keep-build-dir : force fink
à ne pas supprimer le sous-répertoire [nom]-[version]-[révision]
du répertoire Buildpath à la fin du processus de compilation d'un paquet. Correspond au champ KeepBuildDir de fink.conf
.
-b, --use-binary-dist : télécharge les paquets pré-compilés de la distribution binaire s'ils sont disponibles (pour réduire le temps de compilation ou l'encombrement du disque par exemple). Notez que, dans ce mode, fink
télécharge la version requise d'un paquet, si elle est disponible, mais ne force pas fink
à choisir la version en fonction de sa disponibilité binaire. Correspond à l'option UseBinaryDist de fink.conf
.
--no-use-binary-dist : n'utilise pas les paquets pré-compilés de la distribution binaire (inverse de l'option --use-binary-dist). C'est l'option par défaut, à moins qu'elle ait été changée dans le fichier de configuration fink.conf
via une ligne UseBinaryDist: true
.
--build-as-nobody : utilise un utilisateur n'ayant pas de super privilèges pendant les phases de décompression, rustine, compilation et installation. Notez que les paquets avec cette option peuvent ne pas fonctionner. Vous ne devez utiliser ce mode que pour le développement ou le débogage des paquets.
-m, --maintainer : permet aux mainteneurs de paquets d'effectuer certaines opérations, telle la validation des fichiers .info
avant la compilation et des fichiers .deb
après la construction d'un paquet. Certains messages d'attention deviennent alors des messages d'erreur. Disponible à partir de la version 0.25 de fink
. À partir de la version 0.26.0 de fink
, cette option active également les options --tests et --validate, ce qui entraîne l'exécution des séries de tests spécifiés dans le champ correspondant.
--tests[=on|off|warn] : entraîne l'activation des champs InfoTest
et l'exécution des séries de tests spécifiés dans le script TestScript
. Voir Guide de création de paquets de Fink). Si l'option ne comporte aucun argument ou si son argument est on
, alors les erreurs sur la série de tests seront considérées comme des erreurs fatales de construction du paquet. Si l'argument est warn
, les erreurs sur la série de tests seront traités comme des messages d'attention. Disponible à partir de la version 0.26 de fink
.
--validate[=on|off|warn] : permet de valider le paquet pendant sa construction. Si l'option ne comporte aucun argument ou si son argument est on
, alors les erreurs de validation seront considérées comme des erreurs fatales de construction du paquet. Si l'argument est warn
, les erreurs sur la validation seront traités comme des messages d'attention.
-l, --log-output : sauvegarde une copie de la sortie terminal lors de la compilation de paquets. Par défaut, le fichier est enregistré sous le nom de /tmp/fink-build-log_[nom]-[version]-[révision]_[date]-[heure]
, avec la date sous la forme année.mois.jour et l'heure sous la forme heure.minutes.secondes. Vous pouvez utiliser l'option --logfile pour changer le nom de la sauvegarde.
--no-log-output : ne sauvegarde pas la copie de la sortie terminal lors de la compilation de paquets. Inverse de l'option --log-output. C'est l'option par défaut.
--logfile=nomdefichier : sauvegarde les logs de compilation dans le fichier nomdefichier
au lieu de les sauvegarder dans le fichier par défaut (voir l'option --log-output, qui attribue implicitement une valeur par défaut à l'option --logfile). On peut utiliser les raccourcis pour inclure automatiquement des données spécifiques aux paquets. Voir la liste complète des raccourcis dans Création de paquets Fink. Voici quelques raccourcis couramment utilisés :
- %n : nom du paquet
- %v : numéro de version du paquet
- %r : numéro de révision du paquet
-t, --trees=expr : ne tient compte que des paquets des arborescences qui correspondent à expr. expr est une liste d'arborescences séparées par des virgules. fink
compare les arborescences existantes dans le fichier fink.conf
à celles de expr. Seules les arborescences existantes dans les deux sources sont prises en compte. L'ordre de prise en compte dépend du résultat de la comparaison. Si aucune option --trees n'est utilisée, toutes les arborescences existantes dans le fichier fink.conf
sont prises en compte dans l'ordre où elles existent dans ce fichier. Si l'arborescence dans expr contient une barre inclinée (/), la comparaison est faite de façon stricte. Dans le cas contraire, la comparaison a lieu sur le premier élément du chemin de l'arborescence. Par exemple, --trees=unstable/main correspond strictement à l'arborescence unstable/main, mais --trees=unstable correspond aux deux arborescences unstable/main et unstable/crypto. Certaines spécifications spéciales peuvent être incluses dans expr :
- status : inclut les paquets de la base de données de statut dpkg.
- virtual : inclut les paquets virtuels qui reflète les capacités du système.
L'exclusion (ou l'échec d'inclusion) de ces spécifications spéciales n'est actuellement gérée que pour les opérations qui n'installent pas ou ne suppriment pas de paquets.
-T, --exclude-trees=expr : ne prend en compte que les paquets des arborescences qui ne correspondent pas à expr. La syntaxe est la même que celle de l'option --trees, y compris les spécifications spéciales. Néanmoins, ici les arborescences sont exclues au lieu d'être incluses. Notez que les arborescences correspondant à la fois à --trees et --exclude-trees sont exclues.
Exemples d'options --trees et --exclude-trees :
fink --trees=stable,virtual,status install toto
Installe toto comme si
fink
utilisait l'arborescence stable, même si l'arborescence unstable est activée dans le fichierfink.conf
.fink --exclude-trees=local install toto
Installe la version Fink de toto, et non la version modifiée localement.
fink --trees=local/main list -i
Donne la liste des paquets modifiés localement qui sont installés.
La plupart de ces options ne nécessite pas d'explication supplémentaire. La plupart d'entre elles peuvent être configurées dans le fichier de configuration de Fink (fink.conf
) si vous souhaitez les rendre permanentes et non pas restreindre leur effet à une seule invocation de fink
.
6.3 install - installation
La commande install est utilisée pour installer des paquets. Elle télécharge, configure, compile et installe les paquets désirés. Elle installe aussi automatiquement les dépendances requises, mais vous demande confirmation avant de le faire. Exemple :
fink install nedit Reading package info... Information about 131 packages read. The following additional package will be installed: lesstif Do you want to continue? [Y/n]
Ici fink lit les fichiers d'information des paquets, donne le nombre de fichiers lus, signale que le paquet lesstif sera téléchargé si vous donnez votre accord.
L'utilisation de l'option --use-binary-dist avec la commande fink install
permet de gagner un temps considérable lors de la construction de paquets complexes.
Les alias de la commande install sont : update, enable, activate, us (la plupart du temps pour des raisons historiques).
6.4 remove - suppression
La commande remove supprime les paquets du système en appelant la commande 'dpkg --remove
'. L'implantation actuelle de cette commande a un défaut : elle ne vérifie pas elle-même les dépendances, mais délègue ce travail à l'outil dpkg (en général, cela ne pose pas de problèmes).
La commande remove ne supprime que le paquet lui-même (à l'exclusion des fichiers de configuration). Le paquet compressé .deb
reste sur le système. Ceci signifie que vous pouvez réinstaller le paquet plus tard, sans avoir à le recompiler. Si vous avez besoin de libérer de l'espace disque, vous pouvez supprimer les fichiers .deb
de l'arborescence /opt/sw/fink/dists
.
Les options suivantes peuvent être utilisées avec la command fink remove
:
-h, --help Affiche les options disponibles. -r, --recursive Supprime aussi les paquets qui dépendent du paquet à supprimer (c'est-à-dire résout le défaut signalé ci-dessus).
Alias : disable, deactivate, unuse, delete.
6.5 purge
La commande purge supprime les paquets du système. Elle agit de la même façon que la commande remove, mais elle supprime en plus les fichiers de configuration.
Cette commande accepte les options suivantes :
-h, --help -r, --recursive
6.6 update-all - tout mettre à jour
Cette commande met à jour tous les paquets installés. Elle n'utilise pas de liste de paquets, il suffit de lancer :
fink update-all
L'option --use-binary-dist peut s'avérer utile avec cette commande.
6.7 list - liste
Cette commande donne la liste des paquets disponibles, leur statut d'installation, la dernière version disponible et une courte description. Appelée sans paramètres, elle affiche tous les paquets disponibles. Vous pouvez aussi l'utiliser avec un nom ou une expression régulière acceptée par le shell, Fink donnera alors la liste de tous les paquets correspondants.
La première colonne affiche le statut d'installation qui s'interprète de la façon suivante :
non installé i dernière version installée (i) installé, mais une version plus récente est disponible p paquet virtuel fourni par un paquet installé
La colonne version affiche toujours la dernière version connue du paquet, quelque soit la version installée éventuellement. Pour connaître toutes les versions d'un paquet disponible sur votre système, utilisez la commande dumpinfo.
Voici quelques-unes des options de la commande fink list
:
-h, --help Affiche les options disponibles. -t, --tab Affiche la liste en séparant les divers éléments d'une ligne par une tabulation, utile en cas d'utilisation à l'intérieur d'un script. -i, --installed N'affiche que les paquets installés. -o, --outdated N'affiche que les paquets obsolètes. -u, --uptodate N'affiche que les paquets à jour. -n, --notinstalled Affiche les paquets qui ne sont pas installés. -s expr, --section=expr Affiche les paquets dans les sections correspondant à l'expression régulière fournie. -m expr, --maintainer=expr Affiche les paquets dont le mainteneur correspond à l'expression régulière fournie. -w=xyz, --width=xyz Fixe la largeur de l'affichage. xyz est soit une valeur numérique, soit auto. auto correspond à la largeur du terminal. La valeur par défaut est auto.
Quelques exemples d'utilisation :
fink list Affiche tous les paquets. fink list bash Vérifie si bash est installé et affiche la version installée. fink list --tab --outdated | cut -f 2 Affiche le nom des paquets obsolètes. fink list --section=kde Affiche les paquets de la section kde. fink list --maintainer=fink-devel Affiche les paquets sans mainteneur. fink --trees=unstable list --maintainer=fink-devel Affiche les paquets sans mainteneur de l'arborescence unstable. fink list "gnome*" Affiche tous les paquets dont le nom commence par 'gnome'.
Dans le dernier exemple, les guillemets sont nécessaires pour empêcher le shell d'interpréter le modèle lui-même.
6.8 apropos - à propos
Cette commande est presque identique à la commande fink list. La différence la plus notable est que fink apropos
recherche aussi dans les fichiers de descriptions de paquets pour trouver les paquets. La seconde différence est que la chaîne de recherche n'est pas optionnelle, elle doit être fournie.
fink apropos irc Affiche tous les paquets où 'irc' apparaît soit dans le nom, soit dans la description. fink apropos -s=kde irc Identique au précèdent, mais restreint aux paquets de la section kde.
6.9 describe - description
Cette commande affiche la description du paquet nommé sur la ligne de commande. Notez, qu'à l'heure actuelle, seule une faible part des paquets ont une description.
Alias : desc, description, info
6.10 plugins
Afficher les plugins supplémentaires disponible pour le programme fink
. À l'heure actuelle affiche les mécanismes de notification et les algorithmes de vérification de somme des archives sources.
6.11 fetch - téléchargement
Télécharge les paquets nommés, mais ne les installe pas. Cette commande télécharge les archives tar, même si elles ont déjà été téléchargées.
Vous pouvez utiliser les options suivantes avec la commande fetch
:
-h, --help Affiche les options disponibles. -i, --ignore-restrictive Ne télécharge pas les paquets dont la licence est "Restrictive". Intéressant pour les miroirs, car certains paquets interdisent le miroir source. -d, --dry-run Affiche simplement des informations sur les fichiers à télécharger. Ne télécharge rien. -r, --recursive Télécharge également les paquets dépendants des paquets à télécharger.
6.12 fetch-all - tout télécharger
Télécharge tous les paquets sous forme source. Comme fetch, cette commande télécharge les archives tar, même si elle ont déjà été téléchargées.
Les options suivantes peuvent être utilisées avec la commande fink fetch-all
:
-h, --help -i, --ignore-restrictive -d, --dry-run
6.13 fetch-missing - télécharger paquets manquants
Télécharge tous les paquets manquants sous forme source. Cette commande ne télécharge que les paquets qui ne sont pas présents sur le système.
Les options suivantes peuvent être utilisées avec la commande fink fetch-missing
:
-h, --help -i, --ignore-restrictive -d, --dry-run
6.14 build - compiler
Construit un paquet, mais ne l'installe pas. Les archives tar source sont téléchargées si elles ne sont pas présentes sur le système. La commande construit un paquet .deb que vous pourrez installer ultérieurement avec la commande install. Cette commande n'a aucun effet si le fichier .deb existe déjà. Notez que, contrairement au paquet, les dépendances sont, elles, installées.
L'option --use-binary-dist peut être utilisée ici.
6.15 rebuild - recompiler
Construit un paquet (tout comme la commande build), mais ignore et écrase le fichier .deb existant. Si le paquet est installé, le nouveau fichier .deb sera lui aussi installé dans le système via dpkg
. Très utile pendant la phase de développement du paquet.
6.16 reinstall - réinstaller
Identique à install, mais installe le paquet via dpkg
, même s'il est déjà installé. Vous pouvez utiliser cette commande si vous supprimez involontairement des paquets, ou bien si vous changez les fichiers de configuration et que vous voulez retrouver la configuration par défaut.
6.17 configure - configurer
Réexécute le processus de configuration de fink
. Cela vous permet de changer les sites miroirs et les configurations proxy, entre autres.
À partir de la version 0.26 de fink
, cette commande vous permet aussi d'activer les arborescences instables.
6.18 selfupdate - mise à jour automatique
Cette commande automatise le processus de mise à jour de Fink. Elle vérifie si une nouvelle version existe sur le site web de Fink, télécharge ensuite les descriptions de paquets et met à jour les paquets fondamentaux, y compris fink
. Cette commande met à jour les versions standards, mais peut aussi configurer votre arborescence /opt/sw/fink/dists
de telle sorte qu'elle soit mise à jour directement via Git, ou avec rsync, si vous choisissez l'une de ces options lors de la première utilisation de cette commande. Vous avez alors accès aux toutes dernières versions des paquets.
Si l'option --use-binary-dist option est activée, la liste des paquets disponibles dans la distribution binaire est, elle aussi, mise à jour.
6.19 selfupdate-rsync
Utilisez cette commande pour faire en sorte que la commande fink selfupdate
utilise rsync pour mettre à jour la liste des paquets de fink.
Nous vous recommandons d'utiliser cette méthode quand vous compilez à partir des sources.
Note : les mises à jour via rsync ne mettent à jour que les arborescences (par exemple, si instable n'est pas activé dans le fichier fink.conf
, la liste des paquets instables ne sera pas mise à jour).
6.20 selfupdate-git
Use this command to make fink selfupdate
use Git access to update its package list.
Rsync updating is preferred, except for developers and those people who are behind firewalls that disallow rsync.
6.21 index - indexer
Reconstruit le cache des paquets. Normalement, vous n'avez pas besoin d'exécuter cette commande manuellement, car fink
est censé détecter automatiquement s'il est besoin de reconstruire le cache.
6.22 validate - valider
Cette commande exécute différents contrôles sur les fichiers .info
et .deb
. Les mainteneurs de paquets doivent l'exécuter sur leurs descriptions de paquets et sur les paquets construits avant de les soumettre.
Les options suivantes peuvent être utilisées :
-h, --help Affiche les options disponibles. -p, --prefix Simule un autre préfixe de chemin de base de Fink (%p) pour les fichiers à valider. --pedantic, --no-pedantic Contrôle l'affichage des messages d'attention. --pedantic est l'option par défaut.
Alias : check
6.23 scanpackages - création de fichiers Packages
Met à jour la base de données des paquets de apt-get
. Par défaut, met à jour toutes les arborescences, mais peut être restreinte à un jeu d'une ou plusieurs arborescences données comme arguments de cette commande.
6.24 cleanup - épuration
Supprime les fichiers obsolètes et temporaires. Cela peut libérer une grande portion d'espace disque. On peut spécifier un ou plusieurs modes :
--debs Supprime les fichiers .deb (archives de paquets binaires compilés) correspondant aux versions de paquets qui ne sont ni décrits dans un fichier de description de paquets (fichier .info) dans les arborescences actives ni installés. --sources,--srcs Supprime les sources (archives tarballs, etc...) qui ne sont utilisés par aucun fichier de description de paquets (fichier .info) dans les arborescences activées. --buildlocks, --bl Supprime les anciens paquets de verrouillage de compilation. --dpkg-status Supprime dans la base de données "status" de dpkg les paquets qui ne sont pas installés. --obsolete-packages Tenre de désinstaller tous les paquets obsolètes installés. À partir de la version 0.26.0 de fink. --all Active tous les modes. À partir de la version 0.26.0 de fink.
Si aucun mode n'est spécifié, les modes par défaut utilisés sont --debs --sources
.
De plus, on peut utiliser les options suivantes :
-k,--keep-src Déplace les anciens fichiers sources dans le répertoire /opt/sw/src/old/ au lieu de les supprimer. -d,--dry-run Affiche le nom des fichiers à supprimer, mais ne les supprime pas. -h,--help Affiche les modes et options existantes.
Si l'option --use-binary-dist est activée, les paquets binaires téléchargés obsolètes sont supprimés et la commande fink scanpackages
est exécutée.
6.25 dumpinfo - analyse des fichiers info
Note : disponible dans une version de fink
postérieure à la version 0.21.0.
Affiche l'analyse syntaxique des différentes parties d'un fichier .info
d'un paquet. Les options suivantes permettent de moduler l'affichage des champs et l'interprétation des raccourcis :
-h, --help Affiche les options disponibles. -a, --all Affiche tous les champs de description du paquet. C'est le mode par défaut quand aucune option --field ou --percent n'est utilisée. -f nomchamp, --field=nomchamp Affiche le contenu des champs indiqués dans leur ordre d'apparition après l'option -f. -p clé, --percent=clé Affiche l'interprétation des clés fournies dans leur ordre d'apparition après l'option -p.
6.26 show-deps - affiche les dépendances
Disponible uniquement à partir de la version 0.23.6 de fink
.
Affiche, sous une forme compréhensible, la liste des dépendances à la compilation (construction du paquet) et à l'exécution (installation du paquet).