rechercher uniquement les packages installés à l'aide d'apt

16

En utilisant aptitudeje peux faire une recherche comme:

aptitude search '~i bash'

Cela semble être une expression rationnelle spécifique aux aptitudes. Est-il possible de faire la même chose en utilisant aptou apt-cachesans commandes supplémentaires?

apt search '~i bash'

ne fonctionne pas.

Exostor
la source
3
Non, les fonctionnalités de recherche spécifiques à aptitude n'ont pas été implémentées dans apt.
jordanm
Y a-t-il une autre fonction dans apt donnant le même résultat?
Exostor
4
dpkg -l|grep bash
Ipor Sircer
dpkg est une autre commande
Exostor
L'interface utilisateur de la gestion des paquets Debian est exemplaire.
Rolf

Réponses:

18

Tu peux essayer:

apt list --installed bash

Cela va essayer de lister les packages installés avec le nombash

Cependant, si vous souhaitez rechercher un fichier particulier, utilisez apt-file

La commande suivante répertorie tous les packages contenant une chaîne bashdans leur nom:

apt list -a --installed bash

Comme suggéré par @Exostor, il apt list -a --installed bashn'est pas toujours possible de répertorier les packages qui commencent par une chaîne particulière, utilisez plutôt:

apt list -a --installed bash*

Si le globbing est ce que vous recherchez, veuillez voter pour le commentaire @Exostor ci-dessous.

VanagaS
la source
2
Ah! mais cela ne le fera pas, car il ne listera pas bash-builtins, bash-doc etc. Mais apt list --installed bash*c'est assez proche pour moi.
Exostor
Au lieu de globbing, -apourrait être utilisé pour répertorier tous les packages correspondants
VanagaS
2
Ça ne marche pas pour moi. Ubuntu 16.04-machine: apt list -a --installed bashrépertorie bash / xenial-updates et bash / xenial mais apt list --installed bash*répertorie bash, bash-complètement et bash-doc, qui sont les trois packages bash installés sur la machine.
Exostor
@Exostor que fait -a?
ysth
@ysth Répertorie toutes les versions du package. Sans -a, il répertorie uniquement la dernière version.
Exostor du
6

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

ou:

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

PKGest le nom de package souhaité / un reg-ex.

elig
la source
2

Si quelqu'un d'autre se demande comment procéder, j'utilise la méthode suivante.

apt list --installed | grep [XYZ]

Cette méthode affiche également différents packages installés contenant la chaîne que vous recherchez. Par exemple, si je recherche vlc, on me montre de nombreux autres packages qui ont également «vlc» dans leur nom. Voici les entrées et sorties:

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]

S'il s'avère que vous n'avez pas installé le package, la commande se terminera simplement.

Ev-
la source
De tout ce qui précède, c'est la seule chose qui a fonctionné pour moi sur Mint 18.3
JoeManiaci