Ich sehe, dass dpkg ein "Provides" -Feld für Pakete hat.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
Woher weiß ich, welche Pakete dh "Editor" bieten?
quelle
Ich sehe, dass dpkg ein "Provides" -Feld für Pakete hat.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
Woher weiß ich, welche Pakete dh "Editor" bieten?
Sie können den gewünschten Effekt ohne aptitude
(was heutzutage entmutigt zu sein scheint) erzielen, indem Sie apt-cache showpkg
eine Liste von verwenden Reverse Provides
. Wenn Sie es durch ein kleines sed
Skript leiten, werden die anderen Dinge entfernt:
apt-cache showpkg <package> | sed '/Reverse Provides/,$!d'
Ein etwas hübscheres (aber länger zu tippendes) Beispiel (listet nur Paketnamen auf, keine Versionen, und sortiert sie alphabetisch) kann erreicht werden mit awk
:
apt-cache showpkg httpd | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}'
... und dies kann weitergeleitet werden uniq
, um Duplikate zu entfernen (die möglicherweise vorhanden sind, weil mehrere Versionen des Pakets umgekehrt bereitgestellt werden). Beachten Sie, dass die Verwendung von uniq
bei der ersten Version nicht hilft, da uniq
Duplikate nur entfernt werden, wenn sie sich in benachbarten Zeilen befinden und die sed
Version die Ausgabe nicht sortiert.
Schließlich kann man eine Funktion zur einfacheren Verwendung wie folgt definieren:
provides () { apt-cache showpkg $1 | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}' | uniq;}
Stecken Sie dies (zum Beispiel) ein .bashrc
, damit es geladen wird, wenn die Shell dies tut, und es wird möglich, es auszuführen provides <package>
, um die Reverse-Provides eines Pakets zu erhalten.
sort -u
entfernt die Duplikate, sodass der Aufruf vonuniq
nicht benötigt wird. Aber was auch immer, schöne Lösung, es ist viel schneller.aptitude
wird auch übereinstimmendoom-wad-editor
, so dass sie nicht völlig gleichwertig sind.sort -u
. Wusste das nicht. Ich frage mich, warum es nicht aufhörtdoom-wad-editor
...? Das ist besonders interessant, da esapt-cache showpkg
zeigt, dass es überhaupt nicht darauf ankommt.aptitude
die Suche mit Teilzeichenfolgen imProvides:
Feld übereinstimmt (und somit aufnimmtdeutex
), wobei dieapt-cache showpkg
Methode genaue Paketnamen verwendet. Beide haben also vermutlich ihren Platz.<package>
hier um ein virtuelles Paket handelt. Wie ,editor
.Provides:
Zeile im Repository vorhanden ist. Genauso wieapt-cache search
das richtige Ergebnis, wenn es keine gibt, ein Mangel an Ausgabe ist - was diese Optionen bieten. Es kann konkrete und virtuelle Versionen desselben Pakets geben, und ich nehme an, wir könnten diese verbessern, um die konkrete Version dort anzuzeigen, wo sie existiert, aber das ist alles.Aptitude bietet auch diese Funktionalität. Ein Befehl wie dieser zeigt also alle Pakete an, die einen Editor bereitstellen.
Sie können sogar andere Einschränkungen hinzufügen. Wie nur installierte Editoren anzeigen.
quelle
quelle
Datenbank direkt lesen:
Verwendungszweck:
quelle
stützen Sie sich auf Ihr Beispiel. Ich kann Paket zur Verfügung stellen Liste
editor
durch Verwendungapropos
quelle
apropos
Durchsuchen Sie die Handbuchseiten, damit nur die installierten Befehle aufgelistet werden. Außerdem möchte OP eine Liste der Pakete .