web-dev-qa-db-fra.com

Est-il possible d'obtenir une liste des derniers packages installés?

Est-il possible d'obtenir une liste des derniers paquets installés par apt-get?

153
Olivier Lalonde

Commande permettant de répertorier les packages récemment installés qui ont été installés via n’importe quelle méthode (apt-get, Software Center et al.):

grep " install " /var/log/dpkg.log

Exemple de sortie:

2010-12-08 15:48:14 install python-testtools <none> 0.9.2-1
2010-12-08 15:48:16 install quickly-widgets <none> 10.09
2010-12-08 22:21:31 install libobasis3.3-sdk <none> 3.3.0-17
2010-12-09 12:00:24 install mc <none> 3:4.7.0.6-1
2010-12-09 23:32:06 install oggconvert <none> 0.3.3-1ubuntu1
2010-12-09 23:34:50 install mpg123 <none> 1.12.1-3ubuntu1
2010-12-09 23:34:52 install dir2ogg <none> 0.11.8-1
2010-12-09 23:34:53 install faad <none> 2.7-4
2010-12-09 23:34:54 install wavpack <none> 4.60.1-1
2010-12-10 11:53:00 install playonlinux <none> 3.8.6

Vous pouvez exécuter cette commande pour répertorier uniquement les noms de packages récemment installés,

awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log

Commande pour lister l'historique de apt-get (NOTE: ceci ne liste pas les dépendances installées, il liste simplement les commandes précédentes apt-get qui ont été exécutées):

grep " install " /var/log/apt/history.log

Exemple de sortie:

Commandline: apt-get install libindicate-doc
Commandline: apt-get install googlecl
Commandline: apt-get --reinstall install ttf-mscorefonts-installer
Commandline: apt-get install valac libvala-0.10-dev
Commandline: apt-get install libgtksourceview-dev
Commandline: apt-get install python-sphinx
Commandline: apt-get install python-epydoc
Commandline: apt-get install quickly-widgets
Commandline: apt-get install libreoffice3* libobasis3.3*
Commandline: apt-get install mc
174
Isaiah

Le centre de logiciels Ubuntu affiche l'historique complet de tous les paquets installés/mis à niveau/supprimés. Cliquez simplement sur "Historique" en bas de la liste à gauche.

14
Rafał Cieślak

Pour voir aussi les anciens paquets triés par date d’installation:

grep " install " /var/log/dpkg.log.1 /var/log/dpkg.log

Et pour les paquets installés il y a très longtemps:

gunzip -c `ls -tr /var/log/dpkg.log.*.gz` | grep " install "
10
Valentas

Tous sur une seule ligne; pour commande

Sélectionnez et imprimez niquement les noms de paquet récemment installés, sur une seule ligne.

Pour ce faire, remplacez la réponse la plus votée par:

cat /var/log/dpkg.log |awk '/ install / {printf "%s ",$4}'

Cela donne une seule ligne de noms de paquets. Une telle ligne peut facilement être ajoutée à une commande Sudo apt-get purge.

Exemple de sortie

libgnome-media-profiles-3.0-0 gstreamer0.10-gconf gnome-media gnome-menus librest-0.7-0 libgoa-1.0-common libgoa-1.0-0 libwacom-common libwacom2 ubuntu-docs apg libgnome-control-center1 libgnomekbd-common libgnomekbd7 gnome-control-center-data gnome-icon-theme-symbolic gnome-settings-daemon ubuntu-system-service gnome-control-center gnome-online-accounts gnome-session-bin indicator-power mousetweaks

Liste des paquets les uns en dessous des autres

A la demande générale, voici une version légèrement adaptée pour lister les paquets les uns en dessous des autres:

cat /var/log/dpkg.log |awk '/ install / {printf "%s\n",$4}'
5
Serge Stroobandt

L'astuce suivante répond à la demande d'Aleksandr Dubinsky de limiter cela aux paquets installés manuellement:

comm -12 <(apt-mark showmanual | sort) <(grep " install " /var/log/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)
  • comm -12 liste les lignes communes à deux fichiers triés.
  • <(command) développe le nom d'un fichier contenant la sortie de command.
  • apt-mark showmanual répertorie les packages installés manuellement; c'est à dire. ceux qui ne devraient jamais être supprimés automatiquement.
  • grep " install " /var/log/dpkg.log est tiré de la réponse acceptée.

Une alternative, montrant plus d'informations, dans un ordre chronologique, et accédant à tous les journaux disponibles, est:

zcat -f /var/log/dpkg.log* | grep " install " | sort > /tmp/dpkg.log
grep -F "`comm -12 <(apt-mark showmanual | sort) <(cat /tmp/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)`" /tmp/dpkg.log | grep \<none\>

grep \<none\> limite les résultats aux nouvelles installations. Vous pouvez, par exemple, utiliser grep pour limiter la recherche à une période de trois mois en ajoutant grep 2016-0[567] au premier pipeline; c'est très flexible.

4
GKFX

Il existe un paquet appelé wajig Vérifiez la ligne de commande, c’est la première chose que j’installe maintenant. Comme avec aptitude, sauf que cela fonctionne comme si vous attendiez un répartiteur de commandes. Alors vraiment, ce n'est pas comme une aptitude. Les commandes ci-dessous ne sont qu'un petit sous-ensemble.

wajig help
Common JIG commands:

 update         Update the list of downloadable packages

 new            List packages that became available since last update
 newupgrades    List packages newly available for upgrading

 install        Install (or upgrade) one or more packages or .deb files
 remove         Remove one or more packages (see also purge)

 toupgrade      List packages with newer versions available for upgrading
 upgrade        Upgrade all of the installed packages or just those listed

 listfiles      List the files that are supplied by the named package
 listnames      List all known packages or those containing supplied string
 whatis         For each package named obtain a one line description
 whichpkg       Find the package that supplies the given command or file

Run 'wajig -v commands' for a complete list of commands.
2
chiggsy

En plus de la réponse de DoR, pour ceux qui préfèrent une interface graphique, il existe un élément de menu Fichier -> Historique dans Synaptic.

1
JanC

Voici un exemple de shell pour lister les fichiers installés par dpkg. (qui devrait inclure tous les packages installés apt/aptitude/software center/synaptic)

grep -A 1 "Package: " /var/lib/dpkg/status | \
grep -B 1 -Ee "ok installed|half-installed|unpacked|half-configured|config-files" -Ee "^Essential:yes" | \
grep "Package:" | cut -d\  -f2

Cela n'inclut pas les informations sur l'heure/la date d'installation. Mais cela peut être utile pour déterminer les différences entre les paquets installés de os install à current.

1
user2697383