Provided by: dctrl-tools_2.24-3build3_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
       -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 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.

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

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

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