Les distributions basées sur RPM telles que Red Hat sont simples:
rpm -qa --last
Sur Debian et d’autres distributions basées sur dpkg, votre problème spécifique est également simple:
grep install /var/log/dpkg.log
À moins que le fichier journal ait été pivoté, dans ce cas, vous devriez essayer:
grep install /var/log/dpkg.log /var/log/dpkg.log.1
En général, dpkg
et apt
ne semble pas suivre la date d’installation, cela s’appuie sur l’absence d’un tel champ dans la dpkg-query
page de manuel.
Et éventuellement, les anciens /var/log/dpkg.log.*
fichiers seront supprimés par la rotation des journaux, de sorte que ce moyen ne vous garantisse pas l’historique complet de votre système.
Une suggestion qui apparaît quelques fois (par exemple ce fil ) est de regarder le /var/lib/dpkg/info
répertoire. Les fichiers suggèrent que vous pourriez essayer quelque chose comme:
ls -t /var/lib/dpkg/info/*.list | sed -e 's/\.list$//' | head -n 50
Pour répondre à votre question sur les sélections, voici un premier passage.
construire la liste des paquets par dates
$ find /var/lib/dpkg/info -name "*.list" -exec stat -c $'%n\t%y' {} \; | \
sed -e 's,/var/lib/dpkg/info/,,' -e 's,\.list\t,\t,' | \
sort > ~/dpkglist.dates
construire la liste des paquets installés
$ dpkg --get-selections | sed -ne '/\tinstall$/{s/[[:space:]].*//;p}' | \
sort > ~/dpkglist.selections
rejoindre les 2 listes
$ join -1 1 -2 1 -t $'\t' ~/dpkglist.selections ~/dpkglist.dates \
> ~/dpkglist.selectiondates
Pour une raison quelconque, cela n’imprime que très peu de différences pour moi. Il peut donc y avoir un bogue ou une hypothèse invalide concernant la signification --get-selections
.
Vous pouvez évidemment limiter les paquets en utilisant find . -mtime -<days>
ou head -n <lines>
, et changer le format de sortie à votre guise, par exemple
$ find /var/lib/dpkg/info -name "*.list" -mtime -4 | \
sed -e 's,/var/lib/dpkg/info/,,' -e 's,\.list$,,' | \
sort > ~/dpkglist.recent
$ join -1 1 -2 1 -t $'\t' ~/dpkglist.selections ~/dpkglist.recent \
> ~/dpkglist.recentselections
pour répertorier uniquement les sélections installées (modifiées?) au cours des 4 derniers jours.
Vous pouvez probablement aussi supprimer les sort
commandes après avoir vérifié l'ordre de tri utilisé dpkg --get-selections
et rendre la find
commande plus efficace.