apt-cache dump --installed
no funciona, también enumera los paquetes desinstalados.
Quiero enumerar los paquetes de instalación cada uno por una línea, con el número de versión instalado.
apt-cache dump --installed
no funciona, también enumera los paquetes desinstalados.
Quiero enumerar los paquetes de instalación cada uno por una línea, con el número de versión instalado.
Respuestas:
La forma más simple es usar dpkg
, pero puede mostrar algunos paquetes extraños y truncar los nombres de paquetes largos y los números de versión:
dpkg -l
Para enumerar solo los paquetes instalados correctamente y no truncar nombres:
dpkg -l | grep '^ii'
Para obtener más control sobre el formato de salida, puede usar dpkg-query
:
dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'
Otro comando puede ser:
apt-show-versions
También le brinda información sobre el estado del paquete (actualizado, actualizable, ...) y sobre la distribución de origen (wheezy, jessie, ...). Uno puede filtrar fácilmente los paquetes que provienen de puertos u otros depósitos exóticos.
Este programa se empaqueta por separado. Instálelo primero con:
apt-get install apt-show-versions
apt-mark showmanual
esto le brinda una manera agradable y fácil de recuperar versiones de todos los paquetes instalados manualmente, consulte también esta respuesta de Askubuntu apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
El siguiente comando enumera los paquetes con sus versiones y , además, le permite configurar un sistema con los mismos paquetes y versiones más adelante, utilizando el pkg-selections.txt
archivo generado aquí:
aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt
Cada línea contendrá el nombre del paquete, la versión y una "A" opcional si el paquete se instaló automáticamente.
Fuente: " Clonación de un sistema Debian - paquetes y versiones idénticos ". También contiene el script que configura un sistema desde pkg-selections.txt
.
Para enumerar los nombres de cada paquete instalado, escriba como cualquier usuario:
dpkg --get-selections
Obtendrá una salida como esta:
accountsservice install
aclinstall install
acpi-supportinstall install
acpidinstall install
...
Para eliminar la cadena de caracteres "instalar" innecesaria, puede usar sed :
dpkg --get-selections | sed 's:install$::'
Y si desea guardarlo en un archivo llamado InstalledPackages , escriba esto:
dpkg --get-selections | sed 's:install$::' > InstalledPackages
Si no tiene acceso al sistema en vivo y tiene una copia de seguridad de la /
partición raíz , puede:
root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app
¡Ahora esto /root/installed_app
contiene todos los paquetes instalados!