Provided by: dctrl-tools_2.23ubuntu1_amd64 bug

NOM

       grep-dctrl, grep-status, grep-available, grep-aptavail, grep-debtags - Rechercher dans des
       fichiers de contrôle Debian

SYNOPSIS

       commande --copying|-C | --help|-h | --version|-V

       commande [options] filtre [ fichier... ]

       où commande est grep-dctrl, grep-status, grep-available, grep-aptavail ou grep-debtags.

DESCRIPTION

       Le programme grep-dctrl peut répondre à des questions  comme  « Qu'est-ce  que  le  paquet
       Debian  bidule ? »,  « Quelle est la dernière version du paquet Debian machin ? », « Quels
       sont les paquets Debian maintenus par Anne Onyme ? »,  « Quels  sont  les  paquets  Debian
       ayant  un  quelconque rapport avec le language de programmation Scheme ? » et, avec un peu
       d'aide, « Qui sont les responsables des  paquets  essentiels  d'un  système  Debian ? »  à
       partir d'un fichier utile donné.

       Les  programmes  grep-available, grep-status, grep-aptavail et grep-debtags sont des alias
       de (en réalité, des liens symboliques vers) grep-dctrl.  Ces  alias  utilisent  en  entrée
       respectivement  les  fichiers  available  et  status  de  dpkg(1),  la sortie de apt-cache
       dumpavail, et celle de debtags dumpavail.

       grep-dctrl est un programme à la grep spécifique pour traiter n'importe  quel  fichier  au
       format  des fichiers control de paquet Debian, décrit dans la Charte Debian. Cela comprend
       les fichiers available et status de  dpkg,  et  les  fichiers  Packages  d'un  support  de
       distribution (comme un CD Debian ou un site FTP de dépôt Debian).

       Il  faut  donner  une  expression de filtre sur la ligne de commande. Le filtre définit le
       type de paragraphes (c'est-à-dire les enregistrements de paquet) qui seront  affichés.  Un
       filtre  élémentaire  est  un motif de recherche accompagné d'options pour le modifier. Les
       modificateurs possibles sont --eregex, --field, --ignore-case, --regex  et  --exact-match,
       ainsi  que  les  options  courtes équivalentes. Par défaut, une portion figée de chaîne de
       caractères qui respecte la casse est recherchée dans  chaque  paragraphe  (autrement  dit,
       chaque  enregistrement  de  paquet)  de  l'entrée.  Avec  les  modificateurs  adéquats, ce
       comportement peut être modifié : la recherche peut être indépendante de  la  casse  et  le
       motif peut être considéré comme une expression rationnelle étendue POSIX.

       Les  filtres  peuvent  être combinés en filtres plus compliqués avec les opérateurs --and,
       --or et --not. Les parenthèses (qui doivent normalement être protégées pour l'interpréteur
       de commandes) peuvent servir à grouper les filtres.

       Par défaut, les paragraphes correspondants sont affichés en entier sur la sortie standard.
       Des champs particuliers peuvent être choisis pour l'affichage avec l'option -s.

       L'expression filtre est suivie de zéro ou plusieurs noms de fichier. Le nom de  fichier  -
       est  utilisé  pour  désigner  le  flux d'entrée standard. Les fichiers sont parcourus dans
       l'ordre, mais un par un : ils ne sont pas concaténés. Autrement dit, la fin  d'un  fichier
       indique toujours la fin d'un paragraphe.

       Si  aucun nom de fichier n'est précisé, le nom de programme est utilisé pour identifier le
       fichier d'entrée par défaut. Les noms de programme correspondent à  la  forme  du  nom  de
       programme actuel (l'argument zéro de la ligne de commande si vous préférez).

OPTIONS

   Indication du motif de recherche
       --pattern=motif
              Indiquer un motif à rechercher. Cette option n'est généralement pas nécessaire, car
              le motif peut être donné directement. Cependant, les motifs qui commencent  par  un
              tiret (-) doivent être donnés en utilisant cette option, pour ne pas être confondus
              avec des options.

   Modificateurs de filtres élémentaires
       -F champ,champ, ... | --field=champ,champ, ...
              Réduire le motif correspondant aux champs donnés. Plusieurs noms de champ dans  une
              option  -F  et  plusieurs  options -F dans un seul filtre sont permis. La recherche
              désignée par le filtre sera réalisée parmi tous les champs  désignés,  et  dès  que
              l'un  d'entre  eux  correspond,  l'intégralité du filtre élémentaire sera considéré
              comme correspondant.

              Une spécification de champ peut contenir un deux-points (:). Dans ce cas, la partie
              précédant  le  deux-points est considérée comme le nom du champ dans lequel il faut
              chercher, et la partie après le deux-points est considérée comme le  nom  du  champ
              dont le contenu sera utilisé si le champ à chercher est vide.

       -P     Raccourci pour -FPackage.

       -S     Raccourci pour -FSource:Package.

       -e, --eregex
              Considérer  le  motif du filtre élémentaire actuel comme une expression rationnelle
              étendue POSIX.

       -r, --regex
              Considérer le motif du filtre élémentaire actuel comme une  expression  rationnelle
              standard POSIX.

       -i, --ignore-case
              Ignorer  la  casse  lors  de  la  recherche  d'une  correspondance  dans  le filtre
              élémentaire actuel.

       -X, --exact-match
              Faire une correspondance exacte (contrairement à une correspondance de  portion  de
              chaîne) dans le filtre élémentaire actuel.

       -w, --whole-pkg
              Faire  correspondre  une  expression rationnelle étendue sur l'ensemble des noms de
              paquet, en supposant que la syntaxe  des  champs  reliant  les  paquets  est  comme
              Depends,  Recommends,  etc. Quand cette option est donnée, ce n'est pas la peine de
              se  préoccuper  des  noms  de  sous-paquets  comme  par  exemple  « libpcre3 »  qui
              correspond  aussi  à  « libpcre3-dev ».  Cette option implique (et est incompatible
              avec) -e.

       --eq   Faire un test d'égalité dans le système de numérotation de version  Debian.  Si  le
              motif  ou  le  champ  dans  lequel  il faut chercher n'est pas un numéro de version
              Debian  valable,  le  paragraphe  est  considéré  comme   non   correspondant.   En
              particulier, le test d'égalité entre simples entiers positifs est possible.

       --lt   Faire  une  comparaison  de  stricte infériorité dans le système de numérotation de
              version Debian. Si le motif ou le champ dans lequel il faut chercher n'est  pas  un
              numéro   de   version  Debian  valable,  le  paragraphe  est  considéré  comme  non
              correspondant. En particulier, la  comparaison  de  simples  entiers  positifs  est
              possible.

       --le   Faire une comparaison d'infériorité ou d'égalité dans le système de numérotation de
              version Debian. Si le motif ou le champ dans lequel il faut chercher n'est  pas  un
              numéro   de   version  Debian  valable,  le  paragraphe  est  considéré  comme  non
              correspondant. En particulier, la  comparaison  de  simples  entiers  positifs  est
              possible.

       --gt   Faire  une  comparaison  de  stricte supériorité dans le système de numérotation de
              version Debian. Si le motif ou le champ dans lequel il faut chercher n'est  pas  un
              numéro   de   version  Debian  valable,  le  paragraphe  est  considéré  comme  non
              correspondant. En particulier, la  comparaison  de  simples  entiers  positifs  est
              possible.

       --ge   Faire  une  comparaison de supériorité ou d'égalité dans le système de numérotation
              de version Debian. Si le motif ou le champ dans lequel il faut chercher  n'est  pas
              un  numéro  de  version  Debian  valable,  le  paragraphe  est  considéré comme non
              correspondant. En particulier, la  comparaison  de  simples  entiers  positifs  est
              possible.

   Combinaison de filtres
       -!, --not, !
              Correspondre si le filtre suivant ne correspond pas.

       -o, --or
              Correspondre si l'un des deux filtres (précédent et suivant) correspond.

       -a, --and
              Correspondre si les deux filtres (précédent et suivant) correspondent.

       ( ... )
              Les  parenthèses  peuvent  être  utilisées  pour  grouper. Remarquez qu'il faut les
              protéger dans la plupart des  interpréteurs  de  commandes.  Des  modificateurs  de
              filtres  peuvent  être  donnés avant les parenthèses ouvrantes ; ils seront traités
              comme s'ils avaient été répétés pour chaque filtre élémentaire entre parenthèses.

   Modificateurs de format de sortie
       -s champ,champ, ... | --show-field=champ,champ, ...
              Montrer seulement le corps de ces champs pour les paragraphes  correspondants.  Les
              noms  de  champ  ne doivent pas contenir de deux-points ou de virgule. Les virgules
              sont utilisées pour délimiter les noms de champ dans l'argument  de  cette  option.
              Les  champs sont montrés dans l'ordre donné. Consultez aussi l'option -I. Remarquez
              qu'en absence de l'option --ensure--dctrl, si un seul champ est sélectionné,  aucun
              séparateur de paragraphe n'est affiché.

       -I, --invert-show
              Inverser  le  sens  de l'option -s : montrer seulement les champs qui n'ont pas été
              nommés en utilisant l'option -s. À cause de l'implémentation, l'ordre des champs du
              paragraphe d'origine n'est pas conservé.

       Une  spécification  de  champ  peut  contenir  un  deux-points. Dans ce cas, la partie qui
       précède le deux-points est considérée comme le nom du champ à montrer, et  la  partie  qui
       suit  le  deux-points est considérée comme le nom du champ dont le contenu sera utilisé si
       le champ à montrer est vide.

       -d     Montrer  seulement  la  première  ligne  du  champ  Description   des   paragraphes
              correspondants. Si l'option -s n'est pas indiquée, -s Description est implicitement
              ajouté ; si une option -s est indiquée sans champ  Description,  il  est  ajouté  à
              l'option.  Ainsi l'emplacement du champ Description dépend de l'option -s, c'est le
              dernier par défaut.

       -n, --no-field-names
              Supprimer les noms de champ à l'affichage : seul les corps  sont  affichés.  Chaque
              champ  est  affiché dans sa forme d'origine sans nom de champ ni les deux points ni
              les espaces qui précèdent le début du corps.

       -v, --invert-match
              Au lieu de montrer tous les paragraphes qui correspondent,  afficher  ceux  qui  ne
              correspondent pas.

       -c, --count
              Au lieu de montrer tous les paragraphes qui correspondent (ou, avec -v, ceux qui ne
              correspondent pas), afficher le décompte de ces paragraphes.

       -q, --quiet, --silent
              Ne rien afficher sur le flux de sortie standard. À la  place,  quitter  directement
              après avoir trouvé la première correspondance.

   Divers
       --ensure-dctrl
              S'assurer  que la sortie est au format dctrl, en particulier qu'il y a toujours une
              ligne vide pour séparer les  paragraphes.  Cette  option  n'est  pas  respectée  si
              l'option  -n  a  été sélectionnée, puisque cette option exige intentionnellement un
              format non dctrl en sortie. Dans  une  prochaine  version,  cette  option  pourrait
              devenir le comportement par défaut.

       --compat
              Écraser toute option --ensure-dctrl précédemment fournie sur la ligne de commande.

       --ignore-parse-errors
              Ignorer  les  erreurs  dans l'analyse en entrée. Un paragraphe qui ne peut pas être
              analysé est intégralement ignoré. Le paragraphe suivant est supposé commencer après
              le premier changement de ligne qui suit l'erreur.

       --debug-optparse
              Afficher la façon dont la ligne de commande actuelle a été analysée.

       -l niveau, --errorlevel=niveau
              Configurer   le   niveau   de  journalisation,  où  niveau  est  fatal,  important,
              informational  ou  debug.  La  disponibilité  de  debug  depend  des   options   de
              compilation.  Ces catégories sont ici données dans l'ordre : tous les messages émis
              lorsque fatal est choisi seront affichés pour un niveau  d'erreur  important,  etc.
              Par défaut, important est sélectionné.

       -V, --version
              Afficher les informations de version.

       -C, --copying
              Afficher  la  licence. La sortie est particulièrement longue, veuillez la rediriger
              quelque part, ou utiliser un tube  (vers  votre  afficheur  de  texte  préféré  par
              exemple).

       -h, --help
              Afficher une courte aide.

EXEMPLES

       L'utilisation  la plus simple de ce programme, ou presque, est d'afficher l'enregistrement
       d'état ou de disponibilité d'un paquet. À cet égard, grep-dctrl ressemble  à  dpkg  -s  ou
       dpkg --print-avail. Pour afficher l'enregistrement d'état du paquet « mixal », faire
       % grep-status -PX mixal
       et pour obtenir l'enregistrement de disponibilité, utiliser
       % grep-available -PX mixal
       En  fait,  vous  pouvez  demander l'enregistrement du paquet « mixal » dans n'importe quel
       fichier de contrôle Debian. Si par exemple vous possédez les fichiers Packages des  CD  de
       Debian 6.0 dans le répertoire actuel, vous pouvez faire
       % grep-dctrl -PX mixal Packages

       Mais  grep-dctrl  peut  faire  bien  plus  qu'émuler seulement dpkg. Il peut plus ou moins
       émuler apt-cache !  Ce  programme  contient  une  fonctionnalité  de  recherche  dans  les
       descriptions de paquets. Mais on peut aussi faire
       % grep-available -F Description bidule
       qui  recherche  la chaîne « bidule » sensible à la casse dans les descriptions de tous les
       paquets disponibles. Pour une recherche insensible à la casse, utiliser
       % grep-available -F Description -i bidule
       À vrai dire, apt-cache recherche aussi les noms de paquet. La recherche dans les noms peut
       être faite séparément, à l'aide de
       % grep-available -F Package bidule
       ou
       % grep-available -P bidule
       ce  qui  revient  à  peu  près  au  même.  On  peut  aussi  rechercher  à la fois dans les
       descriptions et  les  noms.  Si  une  correspondance  est  trouvée  dans  l'un  des  deux,
       l'enregistrement du paquet est affiché avec
       % grep-available -P -F Description bidule
       ou
       % grep-available -F Package -F Description bidule
       Ce genre de recherche est identique à celle d'apt-cache.

       Voici  quelque  chose  que  ne  font  ni  dpkg ni apt-cache. Rechercher une chaîne dans le
       fichier status ou  available  complet  (ou  n'importe  quel  fichier  de  contrôle  Debian
       d'ailleurs) et afficher tous les enregistrements de paquet correspondants. Essayer
       % grep-available dpkg
       de  temps  en  temps  pour  observer  à  quel point dpkg s'est infiltré en profondeur dans
       Debian.

       Toutes les requêtes précédentes sont basées sur de  simples  recherches  de  sous-chaînes.
       Mais  grep-dctrl peut gérer des expressions rationnelles dans les motifs de recherche. Par
       exemple, pour voir les enregistrements d'état de tous les paquets ayant soit « apt »  soit
       « dpkg » dans leurs noms, utiliser
       % grep-status -P -e 'apt|dpkg'

       Après  avoir  vu  toutes ces requêtes qui fonctionnent bien, vous devez vous demander s'il
       est nécessaire de toujours voir l'intégralité du paragraphe. Vous pourriez,  par  exemple,
       n'être  intéressé  que  par  les  informations  de dépendances des paquets concernés. Pour
       montrer les lignes de dépendances de tous les paquets que je maintiens, faire
       % grep-available -F Maintainer -s Depends 'ajk@debian.org'
       Pour voir aussi les noms de paquet, utiliser
       % grep-available -F Maintainer -s Package,Depends \
         'ajk@debian.org'
       Remarquez qu'il ne peut pas y avoir d'espace dans l'argument de l'option -s.

       On peut aussi faire des requêtes plus compliquées. Par exemple, pour  voir  la  liste  des
       paquets que je maintiens et qui dépendent de libc6, faire
       % grep-available -F Maintainer 'ajk@debian.org' \
          -a -F Depends libc6 -s Package,Depends
       Rappelez-vous  que  d'autres  filtres UNIX peuvent également être utilisés. Vous-êtes vous
       déjà demandé qui est le développeur Debian le plus actif  d'après  le  nombre  de  paquets
       source  maintenus ?  Il  suffit  d'avoir une copie du dernier fichier Sources de n'importe
       quel miroir Debian.
       % grep-dctrl -n -s Maintainer '' Sources | sort | \
         uniq -c | sort -nr
       Cet exemple montre une astuce : si  vous  voulez  montrer  de  façon  selective  seulement
       certains champs de tous les paquets, il suffit de fournir un motif vide.

       Le  terme  « bogopaquet »  signifie  le  décompte  de  paquets  qu'un  développeur  Debian
       maintient. Pour obtenir par exemple le décompte  de  bogopaquet  pour  le  responsable  de
       dctrl-tools, exécuter
       % grep-available -c -FMaintainer \
         "`grep-available -sMaintainer -n -PX dctrl-tools`"

       Parfois,  afficher  les  données de plusieurs champs sur une seule ligne est pratique. Par
       exemple, la commande suivante affiche la liste des paquets installés, triés en fonction de
       Installed-Size.
       % grep-status -FStatus -sInstalled-Size,Package -n \
         "install ok installed" -a -FInstalled-Size --gt 0 \
         | paste -sd "  \n" | sort -n
       Remarquez qu'il y a exactement deux espaces dans la chaîne "  \n".

       Un  autre cas d'utilisation classique est de chercher les paquets qui en ont un autre dans
       leurs dépendances de construction.
       % grep-dctrl -s Package -F Build-Depends,Build-Depends-Indep \
         quilt /var/lib/apt/lists/*Sources

       Ces exemples couvrent  beaucoup  d'utilisations  typiques  de  cet  utilitaire,  mais  pas
       l'ensemble des utilisations possibles. Soyez imaginatifs ! Les fondations sont là, et s'il
       manque quelque chose, faites-le moi savoir.

DIAGNOSTICS

       En absence d'erreurs, le code de retour 0 est utilisé si au moins une correspondance a été
       trouvée,  et  le code de retour 1 est utilisé si aucune correspondance n'a été trouvée. En
       cas d'erreur, le code de retour est 2, à une exception. Si  les  options  -q,  --quiet  ou
       --silent  sont  utilisées,  le  code  de retour 0 est utilisé quand une correspondance est
       trouvée même s'il y a eu des erreurs non fatales.

       Ces messages sont émis dans les niveaux de journalisation fatal et important. Des messages
       complémentaires  peuvent  être  fournis  par les bibliothèques du système. Cette liste est
       incomplète.

       Un motif est obligatoire
              Vous devez indiquer un motif à rechercher.

       filtre mal formé
              Aucun filtre n'a été indiqué, alors que c'est nécessaire.

       impossible de trouver suffisamment de mémoire
              Plus de mémoire que disponible était nécessaire. Ce peut être une erreur passagère,
              ainsi, en recommençant, elle peut ne pas réapparaître.

       impossible de supprimer les noms de champs lors de l'affichage complet des paragraphes
              Si  vous n'utilisez pas l'option -s, grep-dctrl transmet simplement les paragraphes
              correspondants, sans les modifier du tout. Cela signifie, par exemple, que vous  ne
              pouvez utiliser l'option -n qu'avec l'option -s.

       modificateurs de filtres élémentaires incohérents
              Des  modificateurs  de  filtres  élémentaires  incompatibles  ont été utilisés. Par
              exemple, peut-être que -X et -e ont été indiqués pour le même filtre élémentaire.

       « ) » manquante sur la ligne de commande
              Il y avait plus de parenthèses ouvrantes que fermantes dans le filtre donné.

       niveau de journalisation « %s » inexistant
              L'argument de -l n'était pas valable.

       trop de noms de fichiers
              Le nombre de fichiers indiqués sur la ligne de  commande  dépasse  les  limites  de
              compilation.

       trop de champs de sortie
              L'argument de -s contenait trop de noms de fichier. Ce nombre est limité à 256.

       « ) » inattendue sur la ligne de commande
              Il  n'y  avait  pas  de  parenthèse  ouvrante  correspondant  à une des parenthèses
              fermantes de la ligne de commande.

FICHIERS

       /var/lib/dpkg/available
              Le fichier d'entrée par défaut de grep-available.

       /var/lib/dpkg/status
              Le fichier d'entrée par défaut de grep-status.

AUTEUR

       Le  programme  et  cette  page  de  manuel  ont  été  écrits  par  Antti-Juhani  Kaijanaho
       <gaia@iki.fi>. Bill Allombert <ballombe@debian.org> a fourni un des exemples de la page de
       manuel.

VOIR AUSSI

       La Charte Debian. Publiée dans le paquet Debian debian-policy. Également disponible sur le
       site de Debian.

       apt-cache(1), ara(1), dpkg-awk(1), sgrep(1), dpkg(8)

TRADUCTION

       Cette      traduction      est      maintenue     à     l'aide     de     l'outil     po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe francophone de traduction de Debian.

       Elle est maintenue par David Prévot david@tilapin.org et les membres de la  liste  debian-
       l10n-french@lists.debian.org depuis mars 2011.

       Veuillez    signaler   toute   erreur   de   traduction   en   écrivant   à   debian-l10n-
       french@lists.debian.org ou par un rapport de bogue sur le paquet dctrl-tools.

       Vous pouvez toujours accéder à la version anglaise de ce document en utilisant la commande
       « man -L C section page_de_man ».