szukaj tylko zainstalowanych pakietów za pomocą apt


16

Za pomocą aptitudemogę wykonać wyszukiwanie takie jak:

aptitude search '~i bash'

Wydaje się, że jest to wyrażenie specyficzne dla umiejętności. Czy można zrobić to samo za pomocą dodatkowych poleceń aptlub apt-cachebez nich?

apt search '~i bash'

nie działa.


3
Nie, funkcje wyszukiwania specyficzne dla aptitude nie zostały zaimplementowane w apt.
jordanm,

Czy jest jakaś inna funkcja w apt dająca ten sam wynik?
Exostor,

4
dpkg -l|grep bash
Ipor Sircer,

dpkg to kolejne polecenie
Exostor

Interfejs użytkownika do zarządzania pakietami Debiana jest wzorowy.
Rolf

Odpowiedzi:


18

Możesz spróbować:

apt list --installed bash

Spróbuje to wyświetlić listę zainstalowanych packages z nazwąbash

Jeśli jednak chcesz wyszukać konkretny plik, użyj apt-file

Następujące polecenie wyświetli listę wszystkich pakietów, które mają ciąg znaków bashw swojej nazwie:

apt list -a --installed bash

Jak sugeruje @Exostor, apt list -a --installed bashnie zawsze jest tak, aby wyświetlić listę pakietów rozpoczynających się od określonego ciągu, zamiast tego użyj:

apt list -a --installed bash*

Jeśli szukasz globbingu, proszę wyrazić komentarz @Exostor poniżej.


2
Ach! ale to nie zrobi tego, ponieważ nie wyświetli wbudowanych bashów, bash-doc itp. Ale apt list --installed bash*jest dla mnie wystarczająco blisko.
Exostor

Zamiast globowania, -amożna użyć do wyświetlenia listy wszystkich pasujących pakietów
VanagaS

2
Nie działa dla mnie. Ubuntu 16.04-machine: apt list -a --installed bashwyświetla listę bash / xenial-updates i bash / xenial, ale apt list --installed bash*zawiera listę bash, bash- complete i bash-doc, czyli trzech pakietów bash zainstalowanych na komputerze.
Exostor

@Exostor co właściwie robi -a?
ysth

@ysth Wyświetla wszystkie wersje pakietu. Bez -a wyświetla tylko najnowszą wersję.
Exostor

6

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

lub:

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

gdzie PKGjest pożądana nazwa pakietu / reg-ex.


2

Jeśli ktoś zastanawia się, jak to zrobić, skorzystam z następującej metody.

apt list --installed | grep [XYZ]

Ta metoda pokazuje również różne zainstalowane pakiety zawierające szukany ciąg. Na przykład, jeśli szukam vlc, pokazuję wiele innych pakietów, które również mają w nazwie „vlc”. Oto dane wejściowe i wyjściowe:

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]

Jeśli okaże się, że nie masz zainstalowanego pakietu, polecenie po prostu zakończy działanie.


Ze wszystkich powyższych elementów jest to jedyna rzecz, która działała dla mnie na Mint 18.3
JoeManiaci
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.