Question Est-il possible d'obtenir une liste des paquets les plus récemment installés?


Est-il possible d'obtenir une liste des paquets récemment installés via apt-get?


141
2017-12-11 22:41


origine


serverfault.com/questions/175504/… - Ciro Santilli 新疆改造中心 六四事件 法轮功
Maintenant, si seulement quelqu'un me disait comment lister les installé manuellement paquets qui Je ne l'ai pas déjà enlevé Soupir, Linux. - Aleksandr Dubinsky
@ AleksandrDubinsky apt-mark showmanual | less ne le fait pas? - GKFX
@GKFX Je voulais dire dans le contexte des paquets récemment installés. - Aleksandr Dubinsky
@ AleksandrDubinsky Vous devriez utiliser comm -12 a b avec a une copie triée de apt-mark showmanual et b une liste triée d'une des réponses ci-dessous. - GKFX


Réponses:


Commande pour lister les paquets 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 package récemment installés,

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

Commande pour lister l'histoire de apt-get (NOTE: cela ne répertorie pas les dépendances installées, il répertorie simplement les précédentes apt-get commandes 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

154
2017-12-11 22:45



le problème avec synaptic est qu'il ne montre pas ce que vous faites avec aptitude, apt-get et dpkg, pour cette raison +1 pour cette option - hhlp
Cette commande n'affichera pas les mises à jour. Utilisez le centre logiciel pour tout voir. - HDave
Il serait peut-être préférable de sauvegarder un fichier texte comme celui-ci cat /var/log/apt/history.log | grep "\ install\ " > install.log - CrandellWS
grep " install " /var/log/dpkg.log suffira. Il n'y a pas besoin d'utiliser cat. Voir également ce. - augurar
Notez que cela semble seulement pour trouver des paquets qui ont été récemment installés. Les packages pour lesquels une nouvelle version a été installée apparaissent comme upgrade dans dpkg.log - Andre Holzner


Le centre logiciel d'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.


13
2017-12-12 13:09



Ce bouton d'historique est maintenant en haut de l'interface graphique et peut afficher les packages et les mises à jour installés. Cela devrait être la réponse acceptée à la question car c'est la seule réponse qui fonctionne pour les mises à jour. - HDave
Cette question ne spécifie pas un environnement de bureau (GUI), mais la réponse acceptée est valide dans les scénarios d'interface graphique et non graphique. - msanford
@HDave Certainement pas vrai, dpkg.log enregistre les mises à jour. - GKFX


Pour voir également 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 "

9
2018-06-05 07:29



J'ai trouvé un paquet installé il y a 2 jours dans /var/log/dpkg.log, mais pas dans /var/log/apt/history.log. Je ne sais toujours pas pourquoi ... - Samuel Li


Tout sur une ligne pour utilisation de commande

Sélectionner et imprimer uniquement les noms de package récemment installés, tous sur une seule ligne.

Pour ce faire, modifiez la réponse la plus votée à:

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

Cela se traduit par une seule ligne de noms de package. Une telle ligne peut facilement être ajoutée à un sudo apt-get purge commander.

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 forfaits les uns sous les autres

À la demande générale, voici une version légèrement adaptée pour lister les paquets les uns sous les autres:

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

5
2018-05-26 01:43



Ne pas analyser la sortie de cat commander. Et que diriez-vous de cela awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log? - Avinash Raj
@AvinashRaj Votre awk commande imprime celle des paquets au dessous de un autre; le mien un prochain un autre. C'est pourquoi un exemple de sortie peut être utile de temps en temps. - Serge Stroobandt


Il y a un paquet appelé wajig Check it out pour la ligne de commande, c'est la première chose que j'installe maintenant. Comme aptitude, sauf que cela fonctionne comme si un répartiteur de commandes fonctionnait. Donc, 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
2017-12-12 02:04



Je ne sais pas comment wajig aide à lister les derniers packages. Je ne vois pas de commande pour cela après un examen superficiel des commandes. Savez-vous ce que le commandement est? - Ehtesh Choudhury


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 répertorie les lignes communes à deux fichiers triés.
  • <(command) se développe au 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, afficher plus d'informations, dans l'ordre chronologique et accéder à 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.


2
2017-07-16 12:56



Cela se rapproche. Les choses qui pourraient être améliorées: 1) afficher les paquets dans l'ordre chronologique, 2) afficher plus de détails comme la date et l'heure d'installation, la version, voire la taille 3) afficher tous les paquets installés depuis l'installation du système d'exploitation. - Aleksandr Dubinsky
Incroyable! Est-ce que ça vous dérange si je nettoie votre réponse pour être plus concise avec plus d'explications sur chaque commande? - Aleksandr Dubinsky
@ AleksandrDubinsky Merci pour cette modification; J'ai corrigé la description pour qu'elle corresponde aux modifications que vous avez apportées. - GKFX
Cela vous dérange si je supprime le "truc suivant répond à la demande de Aleksandr Dubinsky" bruit, la première commande qui n'est pas utile, place un bon titre, place la commande principale en haut, ajoute un exemple de sortie impliqué? - Aleksandr Dubinsky
Il y a un bug dans la dernière commande, car grep -F trouver des correspondances partielles. Par exemple, si python3 est installé, il correspondra également à toutes les bibliothèques python3 (python3-click-package) y compris ceux qui ne sont plus installés. De plus, grep -Fw n'aide pas parce que - est une limite de mot. - Aleksandr Dubinsky


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
2017-12-12 00:51



Et comme rafalcieslak souligne que cette fonction est également disponible dans Software Center. - belacqua
L'histoire synaptique ne montre que ce que vous avez installé via Synaptic ... totalement inutile. - HDave