web-dev-qa-db-fra.com

Comment obtenir une liste des packages que j'ai installés à l'aide d'apt-get?

Je souhaite obtenir une liste des packages que j'ai installés à l'aide de apt-get.

c'est-à-dire tous les packages que j'ai installés depuis la création de mon Linode (Debian).

Est-ce possible?

28
user598200

Vous pouvez répertorier le package installé à l'aide de apt à l'aide de la commande suivante:

apt --installed list

Modifier

Utilisez la commande suivante pour répertorier le package installé via apt-get:

zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'

Source: Askubunt

26
GAD3R
zgrep -h ' install ' /var/log/dpkg.log* | sort | awk '{print $4}'

Cela vous donnera une liste des packages qui ont été installés, dans l'ordre où ils ont été installés.

Selon mon commentaire, seuls les 12 derniers mois valent de/var/log/dpkg.log* les fichiers sont conservés par défaut. Pour changer cela, modifiez /etc/logrotate.d/dpkg. Par exemple, modifiez rotate 12 à rotate 1200 pour conserver la valeur des 1 200 derniers mois (100 ans) - pour toujours, ne supprimez jamais les anciens journaux.

BTW, si vous voulez voir quand les packages ont été mis à niveau, remplacez install par upgrade. par exemple.

zgrep -h ' upgrade ' /var/log/dpkg.log* | sort

idem pour remove et purge.

7
cas

Cela repose sur aptitude, mais ce qui suit vous donnera une liste des packages qui sont installés manuellement, c'est-à-dire qui ne sont pas installés uniquement en raison de la dépendance:

aptitude search -F %p '~i!~M'

En fonction de la configuration de l'image, elle inclura probablement également une partie installée par le système de base. Vous pouvez vous en débarrasser en les installant automatiquement, puis marquez comme manuels les quelques que vous souhaitez conserver malgré le fait que rien ne dépend d'eux. C'est facile à faire avec M dans aptitude sur un système nu.

2
olau

Si vous souhaitez afficher uniquement une liste avec les packages que vous avez installé manuellement vous pouvez exécuter:

apt --installed list | grep -v automatic

pour ne pas répertorier les packages marqués comme installés automatiquement

-v, --invert-match   Invert the sense of matching, to select non-matching lines.
2
nath

Utilisez dpkg pour répertorier tous les packages installés sur un système: dpkg --get-selections

Pour répertorier tous les packages installés à l'aide de apt-get Regarder /var/log/apt/history.log. Ce journal contient également les packages que vous avez supprimés. Vous pouvez grep pour les lignes commençant par Install:.

1
Peschke

Ubuntu 14.04 et supérieur utilisent apt list --installed pour les anciennes versions, utilisez dpkg --get-selections | grep -v deinstall

1
SACn

Un peu plus court et trié

gunzip -c /var/log/apt/history.log.*.gz | grep 'apt-get install' | cut -f4- -d" " | tr ' ' $'\n' | sort -u
1
jedi