Suche nur nach installierten Paketen mit apt

14

Mit aptitudekann ich suchen wie:

aptitude search '~i bash'

Dies scheint eine Eignungsspezifische Regex zu sein. Ist es möglich, dasselbe mit aptoder apt-cacheohne zusätzliche Befehle zu tun ?

apt search '~i bash'

funktioniert nicht.

Exostor
quelle
3
Nein, Eignungsspezifische Suchfunktionen wurden in nicht implementiert apt.
Jordanien
Gibt es eine andere Funktion in apt, die das gleiche Ergebnis liefert?
Exostor
4
dpkg -l|grep bash
Ipor Sircer
dpkg ist ein weiterer Befehl
Exostor
Die Benutzeroberfläche der Debian-Paketverwaltung ist vorbildlich.
Rolf

Antworten:

15

Du kannst es versuchen:

apt list --installed bash

Dadurch wird versucht, die installierten packages mit dem Namen aufzulistenbash

Wenn Sie jedoch nach einer bestimmten Datei suchen möchten, verwenden Sie apt-file

Der folgende Befehl listet alle Pakete auf, bashderen Name einen String enthält :

apt list -a --installed bash

Wie von @Exostor vorgeschlagen, apt list -a --installed bashist es nicht immer der Fall, die Pakete aufzulisten , die mit einer bestimmten Zeichenfolge beginnen. Verwenden Sie stattdessen:

apt list -a --installed bash*

Wenn Globbing das ist, wonach Sie suchen, stimmen Sie bitte dem @Exostor-Kommentar unten zu.

VanagaS
quelle
2
Ah! Aber das wird es nicht tun, weil es nicht Bash-Builtins, Bash-Doc usw. auflistet. Aber es apt list --installed bash*ist nah genug für mich.
Exostor
Anstelle von Globbing -akönnten auch alle passenden Pakete
aufgelistet
2
Funktioniert bei mir nicht. Ubuntu 16.04-machine: apt list -a --installed bashListet bash / xenial-updates und bash / xenial auf, apt list --installed bash*listet jedoch bash, bash-completion und bash-doc auf, die die drei auf der Maschine installierten bash-Pakete sind.
Exostor
@Exostor was macht -a eigentlich?
Ysth
@ysth Listet alle Versionen des Pakets auf. Ohne -a wird nur die neueste Version aufgelistet.
Exostor
5

dpkg-query --list | grep '^.i\s*PKG'

oder:

dpkg-query --list PKG\* | grep '^.i'

wo PKGist der gewünschte paketname / eine reg-ex.

elig
quelle
2

Wenn sich jemand anderes fragt, wie er das machen soll, verwende ich die folgende Methode.

apt list --installed | grep [XYZ]

Diese Methode zeigt auch verschiedene Pakete an, die installiert sind und die Zeichenfolge enthalten, nach der Sie gesucht haben. Wenn ich zum Beispiel nach vlc suche, werden mir viele andere Pakete angezeigt, deren Name ebenfalls 'vlc' enthält. Hier ist Input und Output:

apt list --installed | grep vlc

WARNING: apt.divert does not have a stable CLI interface. Use with caution in scripts.

browser-plugin-vlc/stable,now 2.0.6-4 amd64 [installed]
libvlc-bin/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
libvlc5/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
libvlccore8/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
phonon4qt5-backend-vlc/stable,now 0.9.0-2 amd64 [installed,automatic]
vlc/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-bin/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-data/stable,stable,stable,stable,now 2.2.7-1~deb9u1 all [installed]
vlc-l10n/stable,stable,stable,stable,now 2.2.7-1~deb9u1 all [installed]
vlc-plugin-base/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-notify/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-qt/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-samba/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-skins2/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-video-output/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-video-splitter/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]
vlc-plugin-visualization/stable,stable,now 2.2.7-1~deb9u1 amd64 [installed]

Wenn sich herausstellt, dass Sie das Paket nicht installiert haben, wird der Befehl einfach beendet.

Ev-
quelle
Von alledem ist dies das einzige, was für mich bei Mint 18.3
JoeManiaci