Cómo hacer una lista de todos los paquetes instalados

Me gustaría generar una lista de todos los paquetes instalados en un archivo de texto para poder revisarlo e instalarlo en otro sistema. ¿Cómo lo haría?

Ubuntu 14.04 y superior

El apt la herramienta en Ubuntu 14.04 y superior hace que esto sea muy fácil.

apt list --installed

Versiones Anteriores

Para obtener una lista de paquetes instalados localmente, haga esto en su terminal:

dpkg --get-selections | grep -v deinstall

(El -v etiqueta" invierte & quot; grep para devolver líneas que no coinciden)

Para obtener una lista de un paquete específico instalado:

dpkg --get-selections | grep postgres

Para guardar esa lista en un archivo de texto llamado packages en tu escritorio haz esto en tu terminal:

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

Alternativamente, simplemente use

dpkg -l

(no es necesario ejecutar ninguno de estos comandos como superusuario, por lo que no sudo o cualquier otra variante necesaria aquí)

Para obtener solo los paquetes que se instalaron expresamente (no solo los instalados como dependencias), puede ejecutar

aptitude search '~i!~M'

Esto también incluirá una breve descripción, que es posible que desee. Si no, añada también la opción -F '%p', como menciona karthick87.


Otra opción más parece ser copiar el archivo /var/lib/apt/extended_states, que es una base de datos de archivos de texto en este formato:

Package: grub-commonArchitecture: amd64Auto-Installed: 0Package: linux-headers-2.6.35-22-genericArchitecture: amd64Auto-Installed: 1

Auto-Installed: 0 indica que el paquete se instaló expresamente y no es solo una dependencia.

Para enumerar todos los paquetes instalado intencionalmente (no como dependencias) con los comandos de apt, ejecute lo siguiente :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep '^Commandline:'

Esto proporciona una vista basada en el tiempo inverso, con los comandos más antiguos enumerados primero:

Commandline: apt-get install k3bCommandline: apt-get install jhead...

Datos de instalación que también muestran el uso sináptico, pero sin detalles(lo mismo con la fecha de instalación) :

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |  egrep '^(Start-Date:|Commandline:)' |  grep -v aptdaemon |  egrep -B1 '^Commandline:'

proporcionar lo siguiente:

Start-Date: 2012-09-23  14:02:14Commandline: apt-get install gpartedStart-Date: 2012-09-23  15:02:51Commandline: apt-get install sysstat...

Cree una copia de seguridad de los paquetes instalados actualmente:

dpkg --get-selections > list.txt

Luego (en otro sistema) restaure las instalaciones de esa lista:

dpkg --clear-selectionssudo dpkg --set-selections < list.txt

Para deshacerse de los paquetes obsoletos:

sudo apt-get autoremove

Para instalarse como en el momento de la copia de seguridad (es decir, para instalar paquetes establecidos por dpkg --set-selections):

sudo apt-get dselect-upgrade
apt-mark showmanual

estado de las páginas de manual:

imprimirá una lista de paquetes instalados manualmente

Por lo tanto, solo debe dar una lista de paquetes instalados explícitamente (aunque esto incluye paquetes que formaban parte de la instalación inicial predeterminada) sin todas las dependencias incluidas debido a la instalación de estos paquetes.

Para generar el resultado en un archivo de texto:

apt-mark showmanual > list-manually-installed.txt

dpkg-query (en lugar de dpkg --get-selections, que enumera algunos paquetes que no están instalados) de la siguiente manera:

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

O:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs

Para enumerar todos los paquetes instalados,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

o

aptitude search -F '%p' '~i' > 1.txt

o

dpkg --get-selections > 1.txt

Nota:
Obtendrá el resultado 1.archivo txt en su carpeta de inicio o puede especificar su propia ruta.

Puede usar Synaptic para guardar el estado actual de sus aplicaciones instaladas. En Synaptic, seleccione "archivo/guardar marcas", ingrese el nombre del archivo en el que desea guardar el estado y asegúrese de marcar la casilla" Guardar estado completo, no solo cambios".

El archivo guardado de esto se puede cargar en una nueva máquina usando "marcas de archivo/lectura" en Synaptic.

Recomiendo usar anteproyecto. Aunque está diseñado para servidores, también se puede usar desde computadoras de escritorio. Creará un script de shell / chef / puppet que puede usar para reinstalar todos sus paquetes.