mencari hanya paket yang diinstal menggunakan apt

15

Menggunakan aptitudesaya dapat melakukan pencarian seperti:

aptitude search '~i bash'

Ini tampaknya merupakan regex khusus bakat. Apakah mungkin untuk melakukan hal yang sama menggunakan aptatau apt-cachetanpa perintah tambahan?

apt search '~i bash'

tidak bekerja.

Exostor
sumber
3
Tidak, fitur pencarian khusus-bakat belum diterapkan di apt.
jordanm
Apakah ada fungsi lain untuk memberikan hasil yang sama?
Exostor
4
dpkg -l|grep bash
Ipor Sircer
dpkg adalah perintah lain
Exostor
Antarmuka pengguna manajemen paket Debian patut dicontoh.
Rolf

Jawaban:

18

Anda dapat mencoba:

apt list --installed bash

Ini akan mencoba daftar yang diinstal packagedengan namabash

Namun, jika Anda ingin mencari file tertentu, gunakan apt-file

Perintah berikut akan mencantumkan semua paket yang memiliki string di bashdalam namanya:

apt list -a --installed bash

Seperti yang disarankan oleh @Exostor apt list -a --installed bashtidak selalu merupakan kasus untuk mendaftar paket-paket yang dimulai dengan string tertentu, sebaliknya gunakan:

apt list -a --installed bash*

Jika Anda mencari globbing, harap beri komentar @Exostor di bawah ini.

Vanaga
sumber
2
Ah! tapi itu tidak akan melakukannya, karena itu tidak akan mencantumkan bash-builtin, bash-doc dll. Tetapi apt list --installed bash*cukup dekat untuk saya.
Exostor
Alih-alih globbing, -adapat digunakan untuk mendaftar semua paket yang cocok
VanagaS
2
Tidak bekerja untuk saya. Ubuntu 16.04-machine: apt list -a --installed bashdaftar bash / xenial-updates dan bash / xenial tetapi apt list --installed bash*daftar bash, bash-completion dan bash-doc, yang merupakan tiga paket bash yang diinstal pada mesin.
Exostor
@Exostor apa yang sebenarnya -a lakukan?
ysth
@ysth Mencantumkan semua versi paket. Tanpa -a hanya mencantumkan rilis terbaru.
Exostor
5

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

atau:

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

di mana PKGnama paket yang diinginkan / reg-ex.

memenuhi syarat
sumber
2

Jika ada yang bertanya-tanya bagaimana cara melakukan ini, saya menggunakan metode berikut.

apt list --installed | grep [XYZ]

Metode ini juga menunjukkan paket berbeda yang diinstal berisi string yang Anda cari. Sebagai contoh, jika saya mencari vlc, saya ditunjukkan banyak paket lain yang juga memiliki 'vlc' di namanya. Inilah input dan 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]

Jika ternyata Anda tidak memiliki paket yang diinstal, perintah itu hanya akan keluar.

Ev-
sumber
Dari semuanya di atas ini adalah satu-satunya hal yang bekerja untuk saya di Mint 18.3
JoeManiaci