¿Cómo puedo verificar si un paquete está instalado en mi servidor?

125

Recientemente instalé Ubuntu Server edition 13.10 (Saucy Salamander). Pero me encontré con un poco de problema.

Al final de la instalación, le pide varios paquetes adicionales, los quiera o no, como el servidor OpenSSH y el host de la máquina virtual. Esto es lo que estoy viendo:

Ahora, mi problema es que no puedo recordar si he marcado la casilla "host de la máquina virtual". ¿Cómo puedo verificar si mi servidor tiene los paquetes correspondientes?

¿Qué paquetes vienen con el host de la máquina virtual?

    
pregunta D.Zou 19.02.2014 - 22:12

6 respuestas

175

Para enumerar todos los paquetes instalados

Aquí "menos" es un simple lector de texto que se utiliza para desplazarse por la lista de paquetes en un nuevo búfer que se abre en la ventana del terminal existente. La lista no se mezclará con otros comandos de terminal y salida. Presione 'q' para regresar al indicador de terminal. Consulte "hombre menos" para obtener más información.

dpkg -l | less

Para verificar si un paquete está instalado o no:

dpkg -l {package_name}
dpkg -l vlc

Para comprobar si el paquete está instalado o no (por ejemplo, vlc ). Si está instalado, inicie el paquete:

dpkg -l | grep vlc

Mostrar la ubicación donde está instalado el paquete. La "S" (mayúscula S) significa "búsqueda"

sudo dpkg -S {package_name}
sudo dpkg -S skype

Para usar Grep para buscar:

dpkg -l | grep {keywords}
dpkg -l | grep pdf
    
respondido por el Lonston 20.02.2014 - 10:12
24

Usar dpkg

Este comando es el administrador de paquetes de Debian.

Puede enumerar todos los paquetes instalados con

dpkg -l

Puede ver detalles de un paquete específico con

dpkg -p packagename

Y para saber si está instalado, use

dpkg -s packagename | grep Status

Puede saber qué paquete contiene el software que desea con

apt-cache search name*  

En su caso, debe usar este comando para buscar el nombre del paquete que desea

apt-cache search virtual machine host 
    
respondido por el onurbekiroglu 20.02.2014 - 10:10
20

apt -qq list PACKAGE también se puede usar para verificar si el PAQUETE está instalado.

Si está instalado, imprimirá algo así como (con [installed] al final de la línea):

$ apt -qq list awscli
awscli/stable,now 1.4.2-1 all [installed]

Si no está instalado, la salida será:

$ apt -qq list awscli
awscli/stable 1.4.2-1 all
    
respondido por el Viktor Benei 11.09.2016 - 15:54
12

Encontré una forma de verificar la instalación del paquete con solo el comando dpkg-query y sin derivaciones.

Busqué esa solución mientras escribía una tarea para el libro de jugadas ansible.

Entonces, puedes hacer algo como esto:

/usr/bin/dpkg-query --show --showformat='${db:Status-Status}\n' '<your package name>'

Esta es solo otra forma de hacer las cosas.

    
respondido por el DenKoren 01.09.2015 - 21:47
4

Estoy escribiendo una nueva respuesta como Tasksel 'Los nombres de las tareas' NO aparecen en dpkg o apt consultas. Lo que significa que las otras respuestas están incompletas (o equivocadas).

"No recuerdo si marqué la casilla de verificación 'máquina virtual' ..."

Verifique si hay un asterisco después de volver a ejecutar sudo tasksel .
(o un ' i ' si ejecuta tasksel --list-tasks ).

Si no ves esto, entonces probablemente no tengas el meta-paquete "tasksel 'instalado.

"... ¿Cómo puedo verificar si mi servidor tiene los paquetes correspondientes?"

Si desea saber qué está instalado en el metapaquete Tareasel de host de máquina virtual:

tasksel --list-tasks

(en su caso tasksel --list-tasks | grep virt es suficiente)

Esto le da a la tarea apropiada nombre y una indicación de si está instalado.

En su caso, este nombre de tasksel es virt-host .

"¿Qué paquetes vienen con el host de la máquina virtual?"

Desde el último comando, busque el nombre de tarea tasksel.
Esto es necesario para el siguiente comando:

tasksel --task-packages virt-host

Esto enumera el metapaquete de Tasksel individual (indicado por '^') que forma el nombre.
En su caso es virt-host^ .

Una vez que encuentre el nombre meta apropiado, puede usar apt:

 apt show virt-host^ | grep "Package:"

(o apt-cache show ... si apt show no funciona).

Esto mostrará todos los paquetes que componen el meta paquete dado.

Entonces:

 dpkg -l {each individual pkg name listed above}

Esto le dirá si el paquete individual está instalado / desinstalado (señalado por la 2da letra: el estado 'i' significa instalado). Haga esto para todos los paquetes enumerados en el paquete task / meta.

Esto debería responder a las preguntas originales.

Nota al margen: /usr/share/tasksel/descs/ubuntu-tasks.desc también contiene descripciones de los metapaquetes de Tasksel. Si usted: grep "virt" /usr/share/tasksel/descs/ubuntu-tasks.desc mostrará el nombre apropiado del metapaquete APT. (En tu caso esto es ubuntu-virt-server ). También puede usar los comandos apt con este meta nombre.

Si quiere eliminar paquetes tasksel, esto se complica un poco. Consulte enlace o cualquier cantidad de respuestas disponibles.

Tenga en cuenta que los paquetes apt "meta" no coinciden con los nombres de los paquetes de Tasksel. Consulte Página de la comunidad de Tasksel para obtener más información.

    
respondido por el bshea 19.10.2016 - 17:17
2

Usa tasksel ( sudo apt-get install tasksel si aún no lo tienes) y ejecuta tasksel --list-tasks .

tasksel imprimirá una lista de las tareas, y habrá un i al lado de cada tarea que esté instalada, y un u al lado de cada tarea que no esté instalada.

Si desea instalar la tarea, use tasksel install <task> . El nombre de la tarea que está buscando es virt-host .

Los elementos de selección de software se llaman "tareas".

    
respondido por el Blake R 19.02.2014 - 22:31

Lea otras preguntas en las etiquetas