Recientemente instalé Ubuntu Server edition 13.10 (Saucy Salamander). Pero me he encontrado con un pequeño problema.
Al final de la instalación, le pide varios paquetes adicionales si los quiere 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 de verificación "host de máquina virtual". ¿Cómo verifico si mi servidor tiene los paquetes correspondientes?
¿Qué paquetes vienen con el host de la máquina virtual?

$ apt-cache policy <package-name>por ejemplo$ apt-cache policy dilloRespuestas:
¿Está buscando saber acerca de todos los comandos dpkg con opciones? Lea el siguiente enlace.
15 comandos dpkg para administrar servidores Linux basados en Debian
Para enumerar todos los paquetes instalados
Aquí "menos" es un simple lector de texto utilizado para desplazarse por la lista de paquetes en un nuevo búfer que se abre en la ventana de terminal existente. La lista no se mezclará con otros comandos de terminal y salida. Presione 'q' para volver al indicador de terminal. Ver "hombre menos" para más información.
Para verificar si un paquete está instalado o no:
Para verificar si el paquete está instalado o no (por ejemplo,
vlc). Si está instalado, inicie el paquete:Muestra la ubicación donde está instalado el paquete. La "-S" (S mayúscula) significa "búsqueda"
Para usar Grep para buscar:
fuente
dpkg -l packagename, ya que podría regresar con un código de salida 0 incluso si el paquete no está completamente instalado; consulte: github.com/bitrise-io/bitrise/issues/433dpkg -l | cut -d " " -f 3 | grep "^vlc"para mostrar todos los nombres de paquetes que comienzan convlcUtilizar
dpkgEste comando es el administrador de paquetes de Debian.
Puede enumerar todos los paquetes instalados con
Puede ver los detalles de un paquete específico con
Y para saber si está instalado, use
Puede aprender qué paquete contiene el software que desea con
En su caso, debe usar este comando para buscar el nombre del paquete que desea
fuente
apt -qq list PACKAGEtambién se puede usar para verificar si el PAQUETE está instalado.Si está instalado, imprimirá algo como (con
[installed]al final de la línea):Si no está instalado, la salida será:
fuente
-qqde? Parece funcionar de manera idéntica sin él, y esa opción no está en el manualman aptapt listcomando aún no está completamente documentado. Algunas pruebas rápidas en 16.04 parecen indicar que-qes un sinónimo de--quietopción. El primero-qevita que se imprima la palabra "Listo". El segundo también evita que se imprima "Listado ...".He encontrado una manera de verificar la instalación del paquete con solo el comando dpkg-query y sin canalizaciones.
Busqué esa solución mientras escribía una tarea para el libro de jugadas ansible.
Entonces, puedes hacer algo como esto:
Esta es solo otra forma de hacer la cosa.
fuente
shellmódulo.Estoy escribiendo una nueva respuesta como Tasksel '' Los nombres de tarea no se presenta en
dpkgoaptconsultas. Lo que significa que las otras respuestas son incompletas (o incorrectas)."No recuerdo si he marcado la casilla 'host de máquina virtual' ..."
Compruebe si hay un asterisco por el nombre después de volver a ejecutar
sudo tasksel.(o una ' i ' si se está ejecutando
tasksel --list-tasks).Si no ves esto, entonces probablemente no tiene el 'tasksel meta-paquete ' instalado.
"... ¿Cómo verifico si mi servidor tiene los paquetes correspondientes?"
Si desea averiguar qué está instalado en el metapaquete de tareas del Virtual Machine Host:
tasksel --list-tasks(en tu caso
tasksel --list-tasks | grep virtes suficiente)Esto proporciona el nombre de la tarea adecuada y una indicación de si está instalado.
En su caso, este nombre de tarea es
virt-host."¿Qué paquetes vienen con el host de la máquina virtual?"
Desde el último comando, busque el nombre de la tarea taskel.
Esto es necesario para el siguiente comando:
tasksel --task-packages virt-hostEsto enumera el metapaquete de Tasksel individual (denotado por '^' adjunto) que conforman el nombre.
En tu caso lo es
virt-host^.Una vez que encuentre el meta nombre apropiado, puede usar apt:
(o
apt-cache show...siapt showno funciona)Esto mostrará todos los paquetes que componen el metapaquete dado.
Entonces:
Esto le indicará si el paquete individual está instalado / desinstalado (indicado por la segunda letra: el estado 'i' significa instalado). Haga esto para todos los paquetes enumerados en la tarea / metapaquete.
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.descmostrará el nombre apropiado del metapaquete APT. (En tu caso esto esubuntu-virt-server). También puede usaraptcomandos con este metanombre.Si desea eliminar paquetes de taskel, esto se mete un poco en la maleza. Consulte https://askubuntu.com/a/88897/169878 o cualquier otra respuesta disponible.
Tenga en cuenta que los paquetes "meta" apt no coinciden con los nombres de los paquetes de Tasksel. Consulte la página de la comunidad de Tasksel para obtener más información.
fuente
Use taskel (
sudo apt-get install taskselsi aún no lo tiene) y corratasksel --list-tasks.taskel imprimirá una lista de las tareas, y habrá una al
ilado de cada tarea que esté instalada y una alulado de cada tarea que no esté instalada.Si desea instalar la tarea, use
tasksel install <task>. El nombre de la tarea que está buscando esvirt-host.Los elementos de selección de software se denominan "tareas".
fuente
Si alguien está interesado, creé un pequeño script con el que puede instalar automáticamente desde una lista de paquetes o aplicaciones o simplemente verificar si ya están instalados:
Espero que ayude a alguien.
fuente
Solución más simple:
Ahora hay un
apt listcomando que enumera los paquetes instalados. También puede buscar un paquete específico conVer
man aptpara más información. Si no conoce el nombre exacto del paquete, puede usarapt searchseguido de parte de él para ver una lista de paquetes relacionados.fuente