Provided by: dctrl-tools_2.23ubuntu1_amd64 bug

BEZEICHNUNG

       grep-dctrl,    grep-status,    grep-available,    grep-aptavail,   grep-debtags   -   grep
       Debian-Steuerdateien

ÜBERSICHT

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

       Befehl [Optionen] Filter [ Datei …]

       wobei  Befehl  entweder  grep-dctrl,  grep-status,  grep-available,   grep-aptavail   oder
       grep-debtags ist.

BESCHREIBUNG

       Das  Programm grep-dctrl kann Fragen beantworten wie Was ist das Debian-Paket Foo?, Welche
       Version des Pakets Bar ist nun aktuell?, Welche Pakete  betreut  Max  Mustermann?,  Welche
       Pakete  gehören  irgendwie  zur Programmiersprache Scheme? und mit etwas Hilfe Wer betreut
       die erforderlichen Pakete eines Debian-Systems?, wenn eine nützliche Eingabedatei  gegeben
       ist.

       Die  Programme grep-available, grep-status, grep-aptavail und grep-debtags sind Aliase für
       (tatsächlich  symbolische  Verweise  auf)  grep-dctrl.  Diese  Aliase  benutzen  als  ihre
       Standardeingabe  die  Dateien available und status von dpkg(1) beziehungsweise die Ausgabe
       von apt-cache dumpavail und debtags dumpavail.

       grep-dctrl ist ein spezialisiertes grep-Programm, das für  die  Verarbeitung  jeder  Datei
       gedacht  ist,  die  das  Format  einer  Steuerdatei von Debian-Paketen hat, wie es von der
       Debian-Richtlinie beschrieben wird. Dies beinhaltet die  status-Datei  von  dpkg  und  die
       Packages-Dateien auf einem Weitergabe-Medium (wie einer Debian-CD-ROM oder einer FTP-Site,
       die Debian bereitstellt).

       Sie müssen auf der Befehlszeile einen Filter angeben. Der Filter definiert, welche Art von
       Absätzen  (auch  bekannt als Paket-Datensätze) ausgegeben werden. Ein einfacher Filter ist
       ein Suchmuster zusammen mit einigen Optionen, die es  ändern.  Mögliche  Bestimmungswörter
       sind  --eregex,  --field,  --ignore-case,  --regex  und --exact-match beziehungsweise ihre
       Gegenstücke aus einem einzelnen Buchstaben. Die  Suche  ist  standardmäßig  ein  Vergleich
       fester Teilzeichenketten unter Berücksichtigung der Groß-/Kleinschreibung mit jedem Absatz
       (in anderen Worten, Paket-Datensatz) in der  Eingabe.  Mit  geeigneten  Bestimmungswörtern
       kann  dies  geändert  werden: Die Suche kann unabhängig von der Groß-/Kleinschreibung sein
       und das Muster kann als erweiterter regulärer POSIX-Ausdruck betrachtet werden.

       Filter können mit den Bindewörtern --and, --or und --not zu komplexeren Filtern kombiniert
       werden.  Klammern  (die  normalerweise  für  die  Shell maskiert werden müssen) können zur
       Gruppierung benutzt werden.

       Standardmäßig werden die vollständig passenden Absätze auf der Standardausgabe ausgegeben;
       spezielle Felder können mit der Option -s für die Ausgabe ausgewählt werden.

       Nach  dem  Filterausdruck  kommen  keine  oder  mehr  Dateinamen. Der Dateiname - wird als
       Synonym für den Standardeingabe-Datenstrom benutzt. Die Dateien werden nacheinander,  aber
       einzeln  durchsucht;  sie  werden nicht zusammengehängt. In anderen Worten, impliziert das
       Ende einer Datei immer das Ende des aktuellen Absatzes.

       Falls  keine  Dateinamen  angegeben  wurden,  wird  der  Programmname  benutzt,  um   eine
       Standardeingabedatei  zu  identifizieren.  Die  Programmnamen werden mit der Basisform des
       Namens des aktuellen Programms verglichen (das nullte Befehlszeilenargument, wenn  Sie  so
       wollen).

OPTIONEN

   Angabe des Suchmusters
       --pattern=Muster
              gibt  das  Muster  an,  nach  dem gesucht wird. Dieser Schalter wird im Allgemeinen
              nicht benötigt, da das Muster selbst angegeben werden kann. Muster, die  mit  einem
              Bindestrich  (-)  beginnen,  müssen  diesen  Schalter jedoch benutzen, da sie sonst
              irrtümlich für Schalter gehalten würden.

   Bestimmungswörter von einfachen Filtern
       -F Feld,Feld, … | --field=Feld,Feld, …
              beschränkt den Mustervergleich auf die angegebenen  Felder.  Mehrere  Feldnamen  in
              einer  -F-Option  oder  mehrere -F-Optionen in einem einfachen Filter sind erlaubt.
              Die durch den  Filter  benannte  Suche  wird  inmitten  all  der  genannten  Felder
              durchgeführt  und  sobald eines von ihnen passt, wird der ganze einfache Filter als
              passend angesehen.

              Eine Feldangabe kann einen Doppelpunkt (:) enthalten. In einem  solchen  Fall  wird
              der  Teil bis zum Doppelpunkt als Name des Feldes genommen, das angezeigt wird, und
              der Teil nach dem Doppelpunkt als Name des  Feldes,  dessen  Inhalt  benutzt  wird,
              falls das Feld leer ist, das angezeigt werden soll.

       -P     Kürzel für -FPackage

       -S     Kürzel für -FSource:Package

       -e, --eregex
              betrachtet  das  Muster  des  aktuellen  einfachen  Filters  als  einen erweiterten
              regulären POSIX-Ausdruck.

       -r, --regex
              betrachtet  das  Muster  des  aktuellen  einfachen  Filters  als  einen   regulären
              Standard-POSIX-Ausdruck.

       -i, --ignore-case
              ignoriert  bei der Suche nach einer Entsprechung zum aktuellen einfachen Filter die
              Groß-/Kleinschreibung.

       -X, --exact-match
              sucht   eine   exakte   Entsprechung   (im   Gegensatz   zur   Entsprechung   einer
              Teilzeichenkette) zum aktuellen einfachen Filter.

       -w, --whole-pkg
              sucht  eine  Entsprechung  eines  erweiterten regulären Ausdrucks zum vollständigen
              Paketnamen und schätzt  die  Syntax  für  Beziehungsfelder  zwischen  Paketen,  wie
              Depends,  Recommends,  … Wenn dieser Schalter angegeben ist, sollten Sie sich keine
              Gedanken  darüber  machen,  ob  Unterpaketnamen  wie   »libpcre3«   ebenfalls   auf
              »libpcre3-dev« passen. Dieser Schalter impliziert (und ist inkompatibel mit) -e.

       --eq   vergleicht, ob unter dem Debian-Versionsnummernsystem Gleichheit besteht. Falls das
              Muster oder das zu durchsuchende Feld keine gültige Debian-Versionsnummer ist, wird
              der Absatz als nicht passend angesehen. Als Sonderfall ist dies imstande, einzelne,
              nicht negative Ganzzahlen auf Gleichheit zu prüfen.

       --lt   führt einen »strikt-weniger-als«-Vergleich unter  dem  Debian-Versionsnummernsystem
              durch.   Falls   das   Muster   oder   das  zu  durchsuchende  Feld  keine  gültige
              Debian-Versionsnummer ist,  wird  der  Absatz  als  nicht  passend  angesehen.  Als
              Sonderfall  ist dies imstande, einzelne nicht negative Ganzzahlen auf Gleichheit zu
              prüfen.

       --le   führt einen »weniger-oder-gleich«-Vergleich unter dem  Debian-Versionsnummernsystem
              durch.   Falls   das   Muster   oder   das  zu  durchsuchende  Feld  keine  gültige
              Debian-Versionsnummer ist,  wird  der  Absatz  als  nicht  passend  angesehen.  Als
              Sonderfall  ist dies imstande, einzelne nicht negative Ganzzahlen auf Gleichheit zu
              prüfen.

       --gt   führt einen »strikt-größer-als«-Vergleich  unter  dem  Debian-Versionsnummernsystem
              durch.   Falls   das   Muster   oder   das  zu  durchsuchende  Feld  keine  gültige
              Debian-Versionsnummer ist,  wird  der  Absatz  als  nicht  passend  angesehen.  Als
              Sonderfall  ist dies imstande, einzelne nicht negative Ganzzahlen auf Gleichheit zu
              prüfen.

       --ge   führt einen »größer-oder-gleich«-Vergleich unter  dem  Debian-Versionsnummernsystem
              durch.   Falls   das   Muster   oder   das  zu  durchsuchende  Feld  keine  gültige
              Debian-Versionsnummer ist,  wird  der  Absatz  als  nicht  passend  angesehen.  Als
              Sonderfall  ist dies imstande, einzelne nicht negative Ganzzahlen auf Gleichheit zu
              prüfen.

   Filter kombinieren
       -!, --not, !
              passt, falls der folgende Filter nicht passt.

       -o, --or
              passt, wenn entweder der vorhergehende, der folgende oder beide Filter passen.

       -a, --and
              passt, wenn sowohl der vorhergehende als auch der folgende Filter passt.

       ()  Klammern können zum Gruppieren benutzt werden.  Beachten  Sie,  dass  sie  für  die
              meisten  Shells  maskiert  werden  müssen.  Filterbestimmungswörter  können vor der
              öffnenden Klammern angegeben werden; sie werden so behandelt,  als  wären  sie  für
              jeden einfachen Filter innerhalb der Klammern wiederholt worden.

   Ausgabeformat-Bestimmungswörter
       -s Feld,Feld, … | --show-field=Feld,Feld, …
              zeigt  nur  den  Rumpf  dieser  Felder von passenden Absätzen. Die Feldnamen dürfen
              keine Doppelpunkte oder Kommas enthalten. Kommas werden zum Begrenzen von Feldnamen
              im  Argument  dieser  Option  benutzt.  Die  Felder  werden in der hier angegebenen
              Reihenfolge angezeigt. Siehe auch die Option -I. Beachten Sie, dass beim Fehlen der
              Option  --ensure--dctrl,  falls  nur  ein Feld ausgewählt wurde, kein Absatztrenner
              ausgegeben wird.

       -I, --invert-show
              kehrt die Bedeutung der Option -s  um:  zeigt  nur  die  Felder,  die  nicht  unter
              Benutzung  der  Option -s benannt wurden. Als ein Artefakt der Implementierung wird
              die Reihenfolge der Felder in den Originalabsätzen nicht aufbewahrt.

       Eine Feldangabe kann einen Doppelpunkt enthalten. In einem solchen Fall wird der Teil  bis
       zum  Doppelpunkt  als  Name des Feldes genommen, das angezeigt wird, und der Teil nach dem
       Doppelpunkt als Name des Feldes, dessen Inhalt benutzt wird, falls das Feld, das angezeigt
       werden soll, leer ist.

       -d     zeigt  nur  die  erste  Zeile  des Feldes Beschreibung der passenden Absätze. Falls
              keine -s-Option angegeben ist, bewirkt diese Option außerdem -s Beschreibung; falls
              es dort eine -s-Option gibt, sie aber nicht den Feldnamen der Beschreibung enthält,
              wird der Option einer angehängt. Daher wird die Lage des Feldes Beschreibung in der
              Ausgabe  durch  die  Option  -s bestimmt, falls eine angegeben ist. Vorgabe ist das
              letzte Feld.

       -n, --no-field-names
              unterdrückt Feldnamen, wenn die angegebenen Felder angezeigt werden, nur ihr Inhalt
              wird  angezeigt.  Jedes  Feld  wird  in seiner Originalform ohne den Feldnamen, den
              Doppelpunkt dahinter und ohne irgendwelche Leerräume vor  dem  Anfang  des  Inhalts
              ausgegeben.

       -v, --invert-match
              zeigt anstelle aller passende Absätze nur jene, die nicht passen.

       -c, --count
              zeigt  anstelle  aller  passenden  (oder  mit  -v nicht passenden) Absätze nur ihre
              Anzahl.

       -q, --quiet, --silent
              gibt nichts auf dem Standardausgabe-Datenstrom aus; wird  stattdessen  sofort  nach
              den ersten Treffer beendet

   Verschiedenes
       --ensure-dctrl
              stellt  sicher,  dass  die  Ausgabe im Dctrl-Format vorliegt und insbesondere, dass
              immer eine leere Zeile dort ist, um die Absätze zu trennen. Diese Option wird nicht
              berücksichtigt,  falls  die Option -n ausgewählt wurde, da diese Option absichtlich
              für die Ausgabe kein Dctrl-Format verlangt. In  zukünftigen  Versionen  könnte  die
              Verwendung dieser Option zum Standardverhalten werden.

       --compat
              setzt  jede  vorher  auf  der  Befehlszeile  angegebene --ensure-dctrl-Option außer
              Kraft.

       --ignore-parse-errors
              ignoriert Fehler beim Auswerten der Eingabe.  Ein  Absatz,  der  nicht  ausgewertet
              werden kann, wird im Ganzen ignoriert und vom nächsten Absatz wird angenommen, dass
              er nach dem ersten Zeilenumbruch nach der fehlerhaften Stelle beginnt.

       --debug-optparse
              zeigt, wie die aktuelle Befehlszeile ausgewertet wurde.

       -l Stufe, --errorlevel=Stufe
              setzt die Protokollierungsstufe auf Stufe. Stufe  ist  entweder  fatal,  important,
              informational  oder  debug,  aber  Letzteres  ist,  abhängig  von  den Optionen zur
              Kompilierzeit, möglicherweise nicht verfügbar. Diese Kategorien sind hier in  ihrer
              Reihenfolge  angegeben; jede Nachricht, die ausgegeben wird, während fatal in Kraft
              ist, wird in der Fehlerstufe  important  ausgegeben  und  so  weiter.  Vorgabe  ist
              important.

       -V, --version
              gibt Versionsinformationen aus.

       -C, --copying
              gibt  die  Copyright-Lizenz  aus.  Dies  produziert eine große Ausgabe; stellen Sie
              sicher, dass Sie sie irgendwohin um- oder weiterleiten (wie etwa Ihren  bevorzugten
              Dateibetrachter).

       -h, --help
              gibt eine Zusammenfassung von Hilfetexten aus.

BEISPIELE

       Die  nahezu  einfachste  Benutzung  dieses  Programms  ist die Ausgabe des Status oder der
       verfügbaren Datensätze eines Pakets. In dieser Hinsicht ist grep-dctrl wie  dpkg  -s  oder
       dpkg --print-avail. Um den Status-Datensatz des Pakets »mixal« anzuzeigen, geben Sie
       % grep-status -PX mixal
       ein und um seinen Verfügbarkeitsdatensatz zu erhalten, benutzen Sie
       % grep-available -PX mixal
       Eigentlich  können  Sie  den  Datensatz  des  Pakets  »mixal« von jeder Debian-Steuerdatei
       abfragen. Angenommen, Sie haben die Datei Packages von der Debian-6.0-CD-ROM im  aktuellen
       Verzeichnis; nun können Sie Folgendes ausführen:
       % grep-dctrl -PX mixal Packages

       Aber  grep-dctrl  kann  mehr als nur dpkg nachzuahmen. Es kann mehr oder weniger apt-cache
       nachbilden! Dieses Programm hat eine  Suchfunktion,  die  Paketbeschreibungen  durchsucht.
       Aber Sie können auch dies tun:
       % grep-available -F Description foo
       sucht  die  Zeichenkette  »foo«  unter Berücksichtigung der Groß-/Kleinschreibung in allen
       verfügbaren Paketen. Falls Sie die Groß-/Kleinschreibung  nicht  berücksichtigen  möchten,
       führen Sie Folgendes aus:
       % grep-available -F Description -i foo
       Ehrlich  gesagt,  sucht  apt-cache  auch  Paketnamen. Es kann separat in den Namen suchen.
       Führen Sie Folgendes aus, um dies zu tun:
       % grep-available -F Paket foo
       oder
       % grep-available -P foo
       was so ungefähr das Gleiche ist. Es kann außerdem sowohl in  Beschreibungen  als  auch  in
       Namen   gesucht  werden;  falls  in  einem  von  beiden  etwas  gefunden  wird,  wird  der
       Paketdatendatz ausgegeben:
       % grep-available -P -F Description foo
       oder
       % grep-available -F Package -F Description foo
       Diese Art der Suche entspricht exakt dem, was apt-cache tut.

       Hier nun etwas, was weder dpkg noch apt-cache kann: Suche nach einer Zeichenkette  in  der
       ganzen status- oder available-Datei (oder auch irgendeiner Debian-Steuerdatei) und Ausgabe
       aller Paketdatensätze, bei denen es einen Treffer gibt. Versuchen Sie
       % grep-available dpkg
       und beobachten Sie, wie gründlich dpkg Debian unterwandert hat.

       Alle vorhergehenden Abfragen basieren auf der einfachen Suche nach Teilzeichenketten. Aber
       grep-dctrl  kann  reguläre  Ausdrücke  in  Suchmustern  handhaben.  Um  zum  Beispiel  die
       Statusdatensätze alle Pakete zu sehen, die entweder  »apt«  oder  »dpkg«  in  ihrem  Namen
       haben, benutzen Sie
       % grep-status -P -e 'apt|dpkg'

       Nun,  nachdem  all diese feinen und tollen Anfragen betrachtet wurden, sind Sie vielleicht
       gespannt, warum es nötig ist, immer den ganzen Absatz zu  sehen.  Sie  interessieren  sich
       möglicherweise  nur für die Abhängigkeitsinformationen der beteiligten Pakete. Gut. Um die
       Abhängigkeitszeilen aller vom Verfasser betreuten Pakete anzuzeigen, geben  Sie  Folgendes
       ein:
       % grep-available -F Maintainer -s Depends 'ajk@debian.org'
       Falls Sie auch die Paketnamen sehen möchten, benutzen Sie
       % grep-available -F Maintainer -s Package,Depends \
         'ajk@debian.org'
       Beachten Sie, dass im Argument für den Schalter -s keine Leerzeichen sein dürfen.

       Es  sind  auch komplexere Abfragen möglich. Um zum Beispiel die Liste der Pakete zu sehen,
       die vom Verfasser betreut werden und von libc6 abhängen, geben Sie Folgendes ein:
       % grep-available -F Maintainer 'ajk@debian.org' \
          -a -F Depends libc6 -s Package,Depends
       Vergessen Sie nicht, dass Sie auch andere UNIX-Filter  benutzen  können.  Haben  Sie  sich
       schon  einmal  gefragt,  wer der aktivste Debian-Entwickler auf Basis der betreuten Pakete
       ist? Das ist einfach. Sie benötigen nur  eine  Kopie  der  aktuellsten  Sources-Datei  von
       irgendeinem Debian-Spiegelserver.
       % grep-dctrl -n -s Maintainer ” Sources | sort | \
         uniq -c | sort -nr
       Dieses  Beispiel  zeigt einen eleganten Trick: Falls Sie nur einige ausgewählte Felder von
       allen Paketen anzeigen möchten, geben Sie nur ein leeres Muster an.

       Der Begriff »bogopackage« bedeutet  die  Anzahl  der  Pakete,  die  ein  Debian-Entwickler
       betreut.  Um  die Anzahl der Bogopackages für den Betreuer von dctrl-tools erhalten, geben
       Sie Folgendes ein:
       % grep-available -c -FMaintainer \
         "`grep-available -sMaintainer -n -PX dctrl-tools`"

       Manchmal ist es nützlich, die Daten mehrerer Felder in der gleichen Zeile auszugeben.  Der
       folgende  Befehl  gibt zum Beispiel die Liste der installierten Pakete sortiert nach ihrer
       installierten Größe (Installed-Size) aus.
       % grep-status -FStatus -sInstalled-Size,Package -n \
         "install ok installed" -a -FInstalled-Size --gt 0 \
         | paste -sd "  \n" | sort -n
       Beachten Sie, dass in der Zeichenkette » \n« genau zwei Leerzeichen sein sollten.

       Ein anderer häufiger Anwendungsfall ist die Suche  nach  Paketen,  die  noch  eine  andere
       Bauabhängigkeit haben:
       % grep-dctrl -s Package -F Build-Depends,Build-Depends-Indep \
         quilt /var/lib/apt/lists/*Sources

       Diese  Beispiele  decken viele typische Verwendungsmöglichkeiten dieses Hilfswerkzeugs ab,
       aber nicht alle möglichen Anwendungen. Benutzen Sie Ihre Fantasie! Die Teile  des  Puzzles
       sind da und wenn sie etwas vermissen, melden Sie es.

DIAGNOSE

       Wenn  es  keine  Fehler  gibt,  wird  der  Rückgabewert  0 verwandt, falls mindestens eine
       Entsprechung gefunden wurde. Falls nichts gefunden wurde, wird der Rückgabewert 1 benutzt.
       Falls  es  Fehler  gab,  wird  der  Rückgabewert 1 genommen, mit einer Ausnahme. Falls die
       Optionen -q, --quiet oder --silent eingesetzt werden, wird der  Rückgabewert  0  verwandt,
       wenn es einen Treffer gab, unabhängig davon, ob es schwerwiegende Fehler gab.

       Diese  Nachrichten  werden  in  den Protokollierungsstufen fatal und important ausgegeben.
       Zusätzliche Nachrichten werden von den Systembibliotheken bereitgestellt. Diese Liste  ist
       unvollständig.

       Ein Muster ist zwingend notwendig.
              Sie müssen ein Muster angeben, nach dem gesucht wird.

       missgestalteter Filter
              Es wurde kein Filter angegeben, es ist aber einer erforderlich.

       Speicher reicht nicht aus
              Es wird mehr Speicher benötigt, als vorhanden ist. Dieser Fehler ist vorübergehend,
              das heißt, falls Sie es erneut versuchen, könnte alles klappen.

       Bei der Anzeige ganzer Absätze können Feldnamen nicht unterdrückt werden
              Wenn Sie nicht den Schalter -s nutzen, reicht grep-dctrl nur die passenden  Absätze
              durch,  ohne  sie  auf irgendeine Art anzufassen. Dies heißt zum Beispiel, dass Sie
              nur -n verwenden können, wenn Sie Gebrauch von -s machen.

       unstimmige Bestimmungswörter von einfachen Filtern
              Widersprüchliche Bestimmungswörter von einfachen Filtern wurden benutzt; vielleicht
              wurden beispielsweise -X und -e für den gleichen einfachen Filter angegeben.

       fehlende »)« in der Befehlszeile
              Im angegebenen Filter waren mehr öffnende als schließende Klammern.

       keine derartige Protokollierungsstufe
              Das Argument für -l war ungültig.

       zu viele Dateinamen
              Die  Anzahl  der  auf  der  Befehlszeile  angegebenen  Dateinamen  überschritt eine
              Beschränkung zur Kompilierzeit.

       zu viele Ausgabefelder
              Das Argument -s enthielt zu viele Dateinamen. Diese Anzahl ist auf 256 begrenzt.

       unerwartete »)« in der Befehlszeile
              Es  gab  keine  öffnenden  Klammern,  die  zu  den  schließenden  Klammern  in  der
              Befehlszeile passten.

DATEIEN

       /var/lib/dpkg/available
              die vorgegebene Eingabedatei von grep-available

       /var/lib/dpkg/status
              die vorgegebene Eingabedatei von grep-status

AUTOR

       Das  Programm  und  diese  Handbuchseite  wurden  von Antti-Juhani Kaijanaho <gaia@iki.fi>
       geschrieben. Bill Allombert <ballombe@debian.org>  stellte  eines  der  Beispiele  in  der
       Handbuchseite bereit.

SIEHE AUCH

       Debian-Richtlinien-Handbuch  (Debian  Policy  Manual)  –  herausgegeben  als  Debian-Paket
       debian-policy – außerdem auf der Debian-Website verfügbar

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

TRADUCTION

       Diese Übersetzung wurde mit dem Werkzeug po4a  <URL:http://po4a.alioth.debian.org/>  durch
       Chris  Leick  c.leick@vollbio.de  und das deutsche Debian-Übersetzer-Team im Dezember 2011
       erstellt.

       Bitte melden Sie alle Fehler in  der  Übersetzung  an  debian-l10n-german@lists.debian.org
       oder als Fehlerbericht an das Paket dctrl-tools.

       Sie  können  mit  dem folgenden Befehl das englische Original anzeigen »man -L C Abschnitt
       deutsche_Handbuchseite«.