buscar solo paquetes instalados usando apt

16

Usando aptitudepuedo hacer una búsqueda como:

aptitude search '~i bash'

Esto parece ser una expresión regular de aptitud específica. ¿Es posible hacer lo mismo con apto apt-cachesin comandos adicionales?

apt search '~i bash'

no está trabajando.

Exostor
fuente
3
No, no se han implementado funciones de búsqueda específicas de aptitud apt.
jordanm
¿Hay alguna otra función en apt dando el mismo resultado?
Exostor
44
dpkg -l|grep bash
Ipor Sircer
dpkg es otro comando
Exostor el
La interfaz de usuario de la gestión de paquetes de Debian es ejemplar.
Rolf el

Respuestas:

18

Puedes probar:

apt list --installed bash

Esto intentará enumerar los packages instalados con el nombrebash

Sin embargo, si desea buscar un archivo en particular, use apt-file

El siguiente comando enumerará todos los paquetes que tienen una cadena bashdentro de su nombre:

apt list -a --installed bash

Como lo sugiere @Exostor, apt list -a --installed bashno siempre es el caso enumerar aquellos paquetes que comienzan con una cadena en particular, en su lugar use:

apt list -a --installed bash*

Si lo que estás buscando es globbing, vota a favor @Exostor comenta a continuación.

VanagaS
fuente
2
Ah! pero eso no lo hará, porque no incluirá bash-builtins, bash-doc, etc. Pero apt list --installed bash*está lo suficientemente cerca para mí.
Exostor
En lugar de globbing, -apodría usarse para enumerar todos los paquetes coincidentes
VanagaS
2
No funciona para mi Ubuntu 16.04-machine: apt list -a --installed bashenumera bash / xenial-updates y bash / xenial pero apt list --installed bash*enumera bash, bash-complete y bash-doc, que son los tres paquetes bash instalados en la máquina.
Exostor
@Exostor, ¿qué hace -a realmente?
ysth
@ysth Lista todas las versiones del paquete. Sin -a solo enumera la última versión.
Exostor
6

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

o:

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

donde PKGestá el nombre del paquete deseado / un reg-ex.

eleg
fuente
2

Si alguien más se pregunta cómo hacer esto, utilizo el siguiente método.

apt list --installed | grep [XYZ]

Este método también muestra diferentes paquetes que están instalados que contienen la cadena que estaba buscando. Por ejemplo, si estoy buscando vlc, me muestran muchos otros paquetes que también tienen 'vlc' en su nombre. Aquí hay entrada y salida:

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]

Si resulta que no tiene el paquete instalado, el comando simplemente saldrá.

Ev-
fuente
De todo lo anterior, esto es lo único que funcionó para mí en Mint 18.3
JoeManiaci