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?
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.*'
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
.
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.
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.
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:
.
Ubuntu 14.04 et supérieur utilisent apt list --installed
pour les anciennes versions, utilisez dpkg --get-selections | grep -v deinstall
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