Provided by: dctrl-tools_2.24-3build3_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
       -l, --files-with-matches
              Output  only  the  file  names,  each  on  its  own line, of those files that contain at least one
              matching paragraph. This is incompatible with the -v and -L options, and all other  output  format
              modifiers will be ignored.

       -L, --files-without-matches
              Output  only the file names, each on its own line, of those files that do not contain any matching
              paragraphs. This is incompatible with the -v and -l options, and all other output format modifiers
              will be ignored.

       -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.

       --errorlevel=level
              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
              The argument to --errorlevel was invalid.

       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 ».

Projet Debian                                      2013-11-26                                      GREP-DCTRL(1)