Customizing the package list

Personnaliser la manière d'afficher les paquets
Personnaliser la hiérarchie des paquets
Personnaliser la manière de trier les paquets

La liste de paquets peut être énormément personnalisée : la manière d'afficher les paquets, de les ranger, de les trier et même l'organisation de l'affichage sont toutes modifiables.

Personnaliser la manière d'afficher les paquets

This section describes how to configure the contents and format of the package list, status line, and header line, as well as the output of aptitude search.

Le format de chacune de ces zones est défini par une « chaîne de format ». Une chaîne de format est une chaîne de texte contenant des commandes de format débutant par % comme %p, %S, etc. L'affichage correspondant est créé en remplaçant les commandes débutant par % en fonction de leur signification (donnée ci-dessous).

Une commande de format (commençant par %) peut soit avoir une taille fixe et dans ce cas elle est toujours remplacée par la même quantité de texte (avec l'ajout d'espaces pour le compléter si nécessaire), soit elle est « étirable » ce qui signifie qu'elle prend tout l'espace laissé libre par les colonnes de texte à taille fixe. S'il y a plusieurs colonnes étirables, l'espace supplémentaire est divisé équitablement entre les colonnes.

Toutes les commandes de format possèdent une taille fixe et/ou étirable par défaut. La taille d'une commande de format peut être modifiée en insérant la valeur de la taille voulue entre le signe pourcentage (%) et le caractère identifiant le format. Par exemple, %20V produit une colonne version installable des paquets d'une largeur de 20 caractères. Placer un point d'interrogation (?) entre le signe % et le caractère identifiant la commande de format entraîne la variation de la largeur de base de la colonne en fonction de son contenu. Remarquez, néanmoins, que les colonnes de ce type risque de ne plus s'aligner verticalement.

Si vous souhaitez qu'une commande de format soit étirable, même si elle possède normalement une largeur fixe, placez un signe dièse (« # ») immédiatement après elle. Par exemple, pour afficher la version installable d'un paquet sans vous soucier de sa longueur, utilisez la commande de format %V#. Vous pouvez aussi mettre un # après autre chose qu'une commande de format ; aptitude va alors « étirer » le texte qui précède le # en insérant des espaces additionnelles après lui.

En résumé, la syntaxe des commandes de format est :

%[largeur][?]code[#]

The configuration variables Aptitude::UI::Package-Display-Format, Aptitude::UI::Package-Status-Format, and Aptitude::UI::Package-Header-Format define the default formats the package list, the header at the top of the package list, and the status line below the package list respectively. To change how the results of an aptitude search command are displayed, use the -F option.

Les commandes de format (débutant par %) suivantes sont disponibles :

[Note]Note

Plusieurs des descriptions ci-dessous font référence « au paquet ». Avec l'interface graphique, c'est soit le paquet qui est affiché, soit le paquet actuellement sélectionné. Dans la recherche avec l'interface en ligne de commande, c'est le paquet qui est affiché.

CommandeNomTaille par défautÉtirableDescription
%%% littéral1Non Ce n'est pas vraiment une commande de format, cela insère simplement un signe pourcentage dans l'affichage à l'endroit où elle est placée.
%#nombreRemplacement de paramètreVariableNon Dans certaines circonstances, une chaîne de format d'affichage comportera des « paramètres » : par exemple, dans la ligne de commande search, les groupes correspondants à la recherche sont utilisés comme paramètres lors de l'affichage du résultat. Le code de format sera remplacé par le paramètre indiqué par nombre.
%aMarque d'action1Non Caractère unique résumant l'action à exécuter sur le paquet, comme décrit dans Figure 2.10, « Valeurs de l'indicateur « d'action » ».
%AAction10Non Description plus lisible de l'action à exécuter sur le paquet.
%BComptage des cassés12Non S'il n'y a pas de paquet cassé, cela ne produit rien. Sinon, cela produit une chaîne telle que « Cassé : 10 » indiquant le nombre de paquets cassés.
%cMarqueur d'état actuel1Non Caractère unique résumant l'état actuel du paquet, comme décrit dans Figure 2.9, « Valeurs de l'indicateur de « l'état courant » ».
%CÉtat actuel11Non Description plus lisible de l'état actuel du paquet.
%dDescription40Oui Description courte du paquet.
%DTaille du paquet8Non Taille de l'archive contenant le paquet.
%HNom d'hôte15Non Nom d'hôte de l'ordinateur sur lequel aptitude fonctionne.
%iPriorité (Pin priority)4Non Affiche la priorité maximale assignée à la version du paquet. Pour les paquets, cela affiche la priorité de la version dans laquelle le paquet est forcé d'être installé (s'il y en a une).
%ITaille installée8Non Espace (estimé) que prend le paquet sur le disque.
%mResponsable30Oui Responsable du paquet.
%MMarquage automatique1Non Si le paquet a été installé automatiquement, affiche « A », sinon n'affiche rien.
%nVersion du programmeLongueur de « 0.6.6 »Non Outputs the version of aptitude that is running, currently « 0.6.6 ».
%NNom du programmeThe length of the name.Non Outputs the name of the program; usually « aptitude ».
%oTaille à télécharger17Non Si aucun paquet ne doit être installé, n'affiche rien. Sinon, affiche une chaîne indiquant la taille totale prise par les paquets à installer (c'est-à-dire une estimation de ce qu'il faut télécharger) ; par exemple, « 28,5ko à télécharger ».
%pNom du paquet30Oui Affiche le nom du paquet. Quand un paquet est affiché dans une arborescence, le nom sera indenté, si possible, en fonction de la profondeur de l'arbre.
%PPriorité9Non Affiche la priorité du paquet.
%rCompteur des dépendances inverses2Non Affiche le nombre approximatif de paquets installés qui dépendent du paquet.
%RAbréviation de la priorité3Non Affiche la description abrégée de la priorité du paquet : par exemple, « Important » devient « Imp ».
%sSection10Non Affiche la section du paquet.
%SNiveau de confiance1Non Si le paquet n'est pas certifié par une source de confiance, affiche la lettre "U".
%tArchive10Oui Archive dans laquelle se trouve le paquet.
%TÉtiqueté1Non Outputs « * » if the package is tagged, nothing otherwise.[19]
%uModification de l'utilisation du disque30Non Si l'action prévue doit modifier l'espace disque utilisé, cela indique le changement, par exemple, « Utilisera 100,0Mo d'espace disque. »
%vVersion actuelle14Non Affiche la version actuellement installée du paquet, ou <aucun> si le paquet n'est pas actuellement installé.
%VVersion installable14Non Affiche la version du paquet qui serait installée si PaquetInstaller (+) était exécuté sur le paquet, ou <aucun> si le paquet n'est pas actuellement installé.
%ZChangement de taille9Non Affiche l'espace supplémentaire utilisé ou l'espace libéré par l'installation, la mise à jour ou la suppression du paquet.

Personnaliser la hiérarchie des paquets

La hiérarchie des paquets est produite par une politique de regroupement : des règles décrivant la manière de construire la hiérarchie. La politique de regroupement décrit une « succession » de règles. Chaque règle peut retirer des paquets, créer une sous-hiérarchie dans laquelle on place des paquets ou encore manipuler l'arborescence. Les variables de configuration Aptitude::UI::Default-Grouping et Aptitude::UI::Default-Preview-Grouping définissent les politiques de regroupement lors de la création, respectivement, de nouvelles listes de paquets et de nouveaux écrans de prévisualisation. Vous pouvez définir la politique de regroupement pour la liste de paquets actuelle en appuyant sur G.

La politique de regroupement est décrite par une liste de règles séparées par des virgules : règle1,règle2,.... Chaque règle est constituée du nom de la règle, éventuellement suivi d'arguments : par exemple, versions ou section(subdir). Le fait que des arguments soient requis et le nombre d'arguments requis (ou permis) dépend du type de règle.

Une règle peut être non terminale ou terminale. Une règle non terminale va traiter un paquet en produisant une partie de la hiérarchie, puis en le passant à la règle suivante. Une règle terminale, au contraire, va aussi traiter une partie de l'arborescence (typiquement les entrées correspondant au paquet), mais ne passera pas le paquet à la règle qui suit. Si aucune règle terminale n'est spécifiée, aptitude va utiliser la règle par défaut qui crée les « entrées de paquet » standards.

action

Regroupe les paquets suivant l'action prévue sur ceux-ci. Les paquets qui ne peuvent être mis à jour ou qui sont inchangés sont ignorés. C'est le regroupement qui est utilisé dans l'arborescence d'aperçu d'installation.

architecture

Groups packages according to their architecture.

deps

C'est une règle terminale.

Crée les entrées de paquets standard qui peuvent être dépliées pour laisser apparaître les dépendances d'un paquet.

filter(motif)

N'inclut que les paquets dont au moins une version correspond à motif.

Si motif est manquant, aucun paquet n'est écarté. Ceci est une fonctionnalité de compatibilité ascendante et peut être supprimée dans le futur.

firstchar

Regroupe les paquets en fonction de la première lettre de leur nom.

hier

Regroupe les paquets en fonction d'un fichier de données annexe qui décrit une « hiérarchie » de paquets.

pattern(pattern [=> title] [{ policy }] [, ...])

A customizable grouping policy. Each version of every package is matched against the given patterns. The first match found is used to assign a title to the package; packages are then grouped by their title. Strings of the form \N that occur in title will be replaced by the Nth result of the match. If title is not present, it is assumed to be \1. Note that packages which do not match any patterns will not appear in the tree at all.

Exemple 2.7. Use of pattern to group packages by their maintainer

pattern(?maintainer() => \1)


The example above will group packages according to their Maintainer field. The policy pattern(?maintainer()) will do the same thing, as the absent title defaults to \1.

Instead of => title, an entry may end with ||. This indicates that packages matching the corresponding pattern will be inserted into the tree at the same level as the pattern grouping, rather than being placed in subtrees.

Exemple 2.8.  Use of pattern with some packages placed at the top level

pattern(?action(remove) => Packages Being Removed, ?true ||)


The example above will place packages that are being removed into a subtree, and place all the other packages at the current level, grouped according to the policies that follow pattern.

By default, all the packages that match each pattern are grouped according to the rules that follow the pattern policy. To specify a different policy for some packages, write the policy in braces ({}) after the title of the group, after the ||, or after the pattern if neither is present. For instance:

Exemple 2.9.  Use of the pattern grouping policy with sub-policies

pattern(?action(remove) => Packages Being Removed {}, ?action(install) => Packages Being Installed, ?true || {status})


The policy in the above example has the following effects:

  • Packages that are being removed are placed into a subtree labeled « Packages Being Removed »; the grouping policy for this subtree is empty, so the packages are placed into a flat list.

  • Packages that are being installed are placed into a subtree labeled Packages Being Installed and grouped according to the policies that follow pattern.

  • All remaining packages are placed at the top level of the tree, grouped according to their status.

Consultez la section la section intitulée « Search patterns » pour plus d'information sur le format de motif.

priority

Regroupe les paquets en fonction de leur priorité.

section[(mode[,passthrough])]

Regroupe les paquets en fonction de leur champ Section.

mode peut prendre les valeurs suivantes :

none

Group based on the whole Section field, so categories like « non-free/games » will be created. This is the default if no mode is specified.

topdir

Group based on the part of the Section field before the first / character; if this part of the Section is not recognized, or if there is no /, the first entry in the list Aptitude::Sections::Top-Sections will be used instead.

subdir

Group based on the part of the Section field after the first / character, if it is contained in the list Aptitude::Sections::Top-Sections. If not, or if there is no /, group based on the entire Section field instead.

subdirs

Group based on the part of the Section field after the first / character, if the portion of the field preceding it is contained in the list Aptitude::Sections::Top-Sections; if not, or if there is no /, the entire field will be used. If there are multiple / characters in the portion of the field that is used, a hierarchy of groups will be formed. For instance, if « games » is not a member of Aptitude::Sections::Top-Sections, then a package with a section of « games/arcade » will be placed under the top-level heading « games », in a sub-tree named « arcade ».

Si passthrough est présent, les paquets qui, pour une raison ou une autre, ne possèdent pas de véritable Section (par exemple, les paquets virtuels) sont passés directement au niveau de regroupement suivant sans être placés en premier dans une sous-catégorie.

status

Trie les paquets dans les catégories suivantes :

  • Mise à jour de sécurité

  • Pouvant être mis à jour

  • New

  • Installés

  • Non installés

  • Obsolete and Locally Created

  • Virtuels

source

Groups packages according to their source package name.

tag[(aspect)]

Regroupe les paquets en fonction de l'information du champ Marqueur contenu dans les fichiers de paquets Debian. Si aspect est fourni, alors seuls les marqueurs correspondants à cet aspect seront affichés. Sinon, tous les paquets seront affichés au moins une fois (les paquets sans marqueur seront placés dans une liste séparée de ceux qui en ont).

Pour plus d'informations sur debtags, consultez le site http://debtags.alioth.debian.org.

task

Crée une arborescence appelée « Tâches » qui contient les tâches disponibles (les informations sur les tâches sont lues depuis debian-tasks.desc du paquet tasksel). La règle suivant task va créer ses catégories comme des enfants de Tâches.

versions

C'est une règle terminale.

Crée des entrées de paquets standard qui peuvent être dépliées pour laisser apparaître les versions du paquet.

Personnaliser la manière de trier les paquets

By default, packages in the package list or in the output of aptitude search are sorted by name. However, it is often useful to sort them according to different criteria (for instance, package size), and aptitude allows you to do just that by modifying the sorting policy.

Comme la politique de regroupement décrite dans la section précédente, la politique de tri est une liste séparée par des virgules. Chaque entrée de la liste est le nom d'une règle de tri ; si les paquets sont identiques selon la première règle, la seconde tente de les trier, et ainsi de suite. Placer un caractère tilde (~) avant la règle inverse la signification habituelle de la règle. Par exemple, priority,~name va trier les paquets par priorité, et les paquets de même priorité seront placés dans l'ordre alphabétique inverse.

To change the sorting policy for an active package list, press S. To change the default sorting for all package lists, set the configuration option Aptitude::UI::Default-Sorting. To change the sorting policy for aptitude search, use the --sort command-line option.

Les règles disponibles sont :

installsize

Trie les paquets selon l'estimation de la taille nécessaire à l'installation.

name

Trie les paquets selon leur nom.

priority

Trie les paquets selon leur priorité.

version

Trie les paquets selon leur version.



[19] Actuellement l'étiquetage n'est pas géré, cette commande est destinée à un usage futur.