NAME¶
apt-patterns - Syntax und Semantik von APT-Suchmustern
BESCHREIBUNG¶
Beginnend mit Version 2.0 bietet APT Unterstützung
für Muster, die benutzt werden können, um Pakete aus dem
APT-Zwischenspeicher abzufragen.
LOGISCHE MUSTER¶
Diese Muster stellen die grundlegenden Mittel zur
Verfügung, um andere Muster zu komplexeren Ausdrücken zu
kombinieren, sowohl zu ?true- als auch zu ?false-Mustern.
?and(MUSTER, MUSTER, ...), MUSTER MUSTER ...
wählt Objekte aus, auf die alle angegebenen Muster
passen.
?false, ~F
wählt nichts aus.
?not(MUSTER), !MUSTER
wählt Objekte aus, auf die MUSTER nicht
passt.
?or(MUSTER, MUSTER, ...), MUSTER | MUSTER | ...
wählt Objekte aus, auf die mindestens eines der
angegebenen Muster passt.
?true, ~T
wählt alle Objekte aus.
(MUSTER)
wählt dasselbe aus wie MUSTER, kann benutzt
werden, um Prioritäten zu umgehen, zum Beispiel
(~ramd64|~ri386)~nfoo
EINSCHRÄNKENDE MUSTER¶
?all-versions(MUSTER)
wählt Pakete aus, bei denen alle Versionen auf
MUSTER passen. Wenn stattdessen Versionen verglichen werden, entspricht es
MUSTER.
?any-version(MUSTER)
wählt alle Versionen aus, bei denen das Muster auf
die Version passt.
Während beispielsweise ?and(?version(1),?version(2)) auf
Pakete passt, die eine Version haben, die 1 enthält und eine Version,
die 2 enthält, beschränkt
?any-version(?and(?version(1),?version(2))) das ?and auf dieselbe
Version.
?narrow(MUSTER...)
wählt jede Version aus, die auf alle MUSTER passt,
Kurzschreibweise für ?any-version(?and(MUSTER...)).
PAKETMUSTER¶
Diese Muster wählen bestimmte Pakete aus.
?architecture(PLATZHALTER), ~rPLATZHALTER
wählt Pakete aus, die auf die angegebene
Architektur passen, darf Platzhalter mit »any« enthalten.
?automatic, ~M
wählt Pakete aus, die automatisch installiert
wurden.
?broken, ~b
wählt Pakete aus, die kaputte
Abhängigkeiten haben.
?config-files, ~c
wählt Pakete aus, die nicht vollständig
installiert sind, von denen aber ausschließlich Reste von
Konfigurationsdateien übriggeblieben sind.
?essential, ~E
wählt Pakete aus, die in deren control-Datei
»Essential: yes« gesetzt ist.
?exact-name(NAME)
wählt Pakete mit exakt dem angegebenen Namen
aus.
?garbage, ~g
wählt Pakete aus, die automatisch entfernt werden
können.
?installed, ~i
Wählt derzeit installierte Pakete aus. Seit
Version 2.5.4 führt das Einschränken dieses Musters (siehe
Einschränkende Muster oben) dazu, dass es nur auf installierte
Versionen (siehe Versionsmuster unten) passt.
?name(REGULÄRER_AUSDRUCK), ~nREGULÄRER_AUSDRUCK
wählt Pakete aus, deren Name auf den angegebenen
regulären Ausdruck passt.
?obsolete, ~o
wählt Pakete aus, die in keinen Depots mehr
existieren.
?phasing
wählt Pakete aus, die bei Upgrades aufgrund der
abgestuften Aktualisierungen zurückgehalten werden.
?upgradable, ~U
wählt Pakete aus, bei denen ein Upgrade
durchgeführt werden kann (die einen neueren Kandidaten haben).
?virtual, ~v
wählt alle virtuellen Pakete aus. Dies sind Pakete
ohne eine Version. Diese existieren, wenn sie von irgendwo im Archiv
referenziert werden, zum Beispiel, weil etwas von diesem Namen
abhängt.
VERSIONSMUSTER¶
Diese Muster wählen bestimmte Versionen eines Pakets
aus.
?archive(REGULÄRER_AUSDRUCK),
~AREGULÄRER_AUSDRUCK
wählt Versionen aus, die aus dem Archiv stammen,
auf das der reguläre Ausdruck passt. Archiv bedeutet hier, die Werte
nach a= in apt-cache policy.
?codename(REGULÄRER_AUSDRUCK)
wählt Versionen aus, deren Codename auf den
regulären Ausdruck passt. Codename bedeutet hier, die Werte nach n= in
apt-cache policy.
?installed, ~i
Wählt derzeit installierte Paketversionen aus. In
Versionen vor 2.5.4 erfolgte der Vergleich nur auf Paketebene, daher passte
?any-version(?installed?version(2.0)) selbst wenn nicht Version 2.0 sondern
nur eine andere Version installiert war.
?origin(REGULÄRER_AUSDRUCK),
~OREGULÄRER_AUSDRUCK
wählt Versionen aus, deren Ursprung auf den
regulären Ausdruck passt. Ursprung bedeutet hier, die Werte nach o= in
apt-cache policy.
?section(REGULÄRER_AUSDRUCK),
~sREGULÄRER_AUSDRUCK
wählt Versionen aus, bei denen der Abschnitt auf
den regulären Ausdruck passt.
?source-package(REGULÄRER_AUSDRUCK),
~eREGULÄRER_AUSDRUCK
wählt Versionen aus, bei denen der Name des
Quellpakets auf den angegebenen regulären Ausdruck passt.
?source-version(REGULÄRER_AUSDRUCK)
wählt Versionen aus, bei denen die Version des
Quellpakets auf den angegebenen regulären Ausdruck passt.
?version(REGULÄRER_AUSDRUCK),
~VREGULÄRER_AUSDRUCK
wählt Versionen aus, bei denen die
Versionszeichenkette auf den angegebenen regulären Ausdruck
passt.
?priorität(NAME), ~pNAME
wählt Versionen aus, bei denen die
Prioritätszeichenkette identisch zu dem angegebenen Namen ist.
?security
wählt Pakete aus, die eine
Sicherheitsaktualisierung sind oder auf eine Sicherheitsaktualisierung
folgen.
PAKETBEZIEHUNGSMUSTER¶
Diese Muster passen auf bestimmte Versionen, die von bestimmten
anderen Paketen abhängen bzw. mit diesen in Konflikt stehen.
?depends(MUSTER), ~DMUSTER, ?pre-depends(MUSTER),
~DPre-Depends:MUSTER, ?suggests(MUSTER), ~DSuggests:MUSTER,
?recommends(MUSTER), ~DRecommends:MUSTER, ?conflicts(MUSTER),
~DConflicts:MUSTER, ?replaces(MUSTER), ~DReplaces:MUSTER,
?obsoletes(MUSTER), ~DObsoletes:MUSTER, ?breaks(MUSTER), ~DBreaks:MUSTER,
?enhances(MUSTER), ~DEnhances:MUSTER
Wählt Versionen aus, die von Paketen, die auf
MUSTER passen abhängen, vorabhängen, diese vorschlagen,
empfehlen, in Konflikt zu diesen stehen usw.
?reverse-abhTyp(MUSTER), ~RabhTyp:MUSTER
Gegenteil von ?depends und ähnlichen -
wählt alle Pakete, die ein passendes MUSTER auf eine inverse
Abhängigkeit haben.
abhTyp ist einer der Abhängigkeitstypen wie depends,
so dass nicht die gesamte Liste aus dem ersten Absatz hier wiederholt werden
muss.
BEISPIELE¶
apt remove ?garbage
entfernt alle Pakete, die automatisch installiert wurden
und nicht mehr benötigt werden – entspricht »apt
autoremove«.
apt purge ?config-files
entfernt vollständig alle Pakete, von denen nur
noch Konfigurationsdateien übrig sind.
apt list '~i !~M (~slibs|~sperl|~spython)'
führt alle manuell installierten Pakete in
Abschnitten auf, auf die libs, perl oder python passen.
MIGRATION VON APTITUDE¶
APT-Muster wurden stark von Aptitude inspiriert, mit einigen
Anpassungen:
•Die Syntax ist einheitlich: Falls es nach einem
Begriff eine öffnende Klammer gibt, wird immer vom Anfang einer
Argumentenliste ausgegangen.
In Aptitude kann eine syntaktische Form »?foo(bar)«
»?and(?foo,bar)« bedeuten, falls es kein Argument entgegen
nimmt. In APT verursacht dies einen Fehler.
•Nicht alle Muster werden
unterstützt.
•Es sind einige zusätzliche Muster
verfügbar, zum Beispiel zum Suchen von Gstreamer-Codecs.
•Maskieren von Begriffen mit ~ wird nicht
unterstützt.
•In Argumentenlisten ist ein abschließendes
Komma erlaubt.
•?narrow akzeptiert unendliche Argumente
•foo kann nicht als Kurzschreibweise für
?name(foo) benutzt werden, da dies unbemerkte Tippfehler verursachen kann.
Betrachten Sie ?and(...,~poptional): Dies erfordert, dass das Paket die
Priorität required hat, wenn Sie jedoch nicht das ~ eintippen,
würde es erfordern, dass der Paketname poptional enthält.
•Abhängigkeitstypen für ~D und
ähnliche Operatoren müssen im kanonischen Fall festgelegt
werden.
FEHLER¶
APT-Fehlerseite[1]. Wenn Sie einen Fehler in APT berichten
möchten, lesen Sie bitte /usr/share/doc/debian/bug-reporting.txt oder
den reportbug(1)-Befehl. Verfassen Sie Fehlerberichte bitte auf
Englisch.
AUTOR¶
APT wurde vom APT-Team geschrieben
<apt@packages.debian.org>.
ÜBERSETZUNG¶
Die deutsche Übersetzung wurde 2009ff. von Chris Leick
<c.leick@vollbio.de> sowie 2025 von Helge Kreutzmann
<debian@helgefjell.de> in Zusammenarbeit mit dem deutschen l10n-Team
von Debian <debian-l10n-german@lists.debian.org> angefertigt.
Beachten Sie, dass diese Übersetzung Teile enthalten kann,
die nicht übersetzt wurden. Dies ist so, damit kein Inhalt verloren
geht, wenn die Übersetzung hinter dem Originalinhalt
hinterherhängt.
AUTOREN¶
Jason Gunthorpe
APT-Team
FUßNOTEN¶
- 1.
- APT-Fehlerseite