Comment afficher l'historique des apt-get install
commandes que j'ai exécutées manuellement?
Il me semble que toutes les méthodes disponibles montrent tout ce qui a été installé dès le début de l'installation d'Ubuntu.
Comment puis-je consulter l'historique apt-get install
depuis la fin de mon processus d'installation du système?
system-installation
software-installation
history
Dis moi pourquoi
la source
la source
dpkg
dans/var/log/dpkg.log*
.apt-get install
commande pour installer un package, et j'ai fourni une solution qui donne ces informations à moins que le fichier historique n'ait été modifié de certaines manières (par exemple: les entrées ont été supprimé).Réponses:
Je pense que la réponse donnée ici par kos est la meilleure façon que j'ai vue jusqu'à présent. Bien que le Software Center l'utilise
apt
, tout ce qu'il a installé serait également répertorié.La commande est:
la source
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline:(?=.* install ) \K.*' | sed '1,4d'
:grep -Po '^Commandline:(?=.* install ) \K.*'
ne filtre que lesapt-get
commandes contenantinstall
un espace avant et arrière,sed '1,4d'
pourrait dépendre de l'installation spécifique; in mine1,4
supprime exactement le nombre d'entrées provenant d'Ubiquity, qui sont celles que vous souhaitez supprimer. Faites-moi savoir si le nombre est le même sur votre installation, de cette façon au moins nous avons une base de référence: |apt-get -o APT::Status-Fd=4 -o APT::Keep-Fds::=5 -o APT::Keep-Fds::=6 -q -y --no-remove install linux-generic
avec la nouvelle commande. S'agit-il des lignes Ubiquity?apt-get
frontal, à part Ubiquity qui ne s'exécute qu'une seule fois (par exemple, lesaptdaemon
entrées seront également affichées par cette commande). Le meilleur pari est cependant d'utiliser cette commande, qui exclut au moins les entrées Ubiquity.Tapez simplement la commande suivante dans votre terminal pour afficher tous les journaux d'installation.
la source
Pour simplifier la réponse @Arronical, une astuce intéressante que j'ai apprise récemment est que vous pouvez utiliser
zcat -qf
pour capturer les fichiers txt et txt gzippés.devient
De l'homme zcat:
la source
Voici un script qui imprime uniquement les packages de niveau supérieur actuellement installés , où les "packages de niveau supérieur" sont définis comme des packages atp dont aucun autre package atp ne dépend. Si ces programmes de haut niveau ont été installés par atp ou un gestionnaire de packages tel que synaptic, ils ont été choisis manuellement par l'utilisateur.
Les packages sont imprimés dans l'ordre inverse en supposant que l'utilisateur est plus susceptible de vouloir les informations les plus récentes plus tôt et parce que le programme est lent.
Flux du programme:
/var/lib/dpkg/info/
. Les heures de modification des fichiers sont les heures d'installation.$Pkg
, un appel àapt-cache rdepends $Pkg
demande les dépendances inverses de$Pkg
. S'il n'y a pas de dépendances, il s'agit d'un package de niveau supérieur et les informations sur le package sont imprimées: date time packagenameRemarques:
apt-cache rdepends $Pkg
qui était destiné aux yeux humains et pourrait changer dans les futures versions d'apt.dpgk
fichiers journaux d'historique ne sont pas fiables car ils seront pivotés après avoir atteint un certain volume.apt-chache
apt-cache rdepends ...
est très lent probablement parce que chaque appel est calculé en itérant à travers toutes les dépendances. Par conséquent, le script ci-dessus commence à partir des installations les plus récentes pour offrir à l'utilisateur autant de gratification instantanée que possible.--installed
indicateur aprèsapt-cache
vérifie que les packages installés par dpkg sont également apt-installés. Si l'utilisateur ou un autre logiciel d'installation contournait apt et utilisait directement dpkg, ce serait possible. CE CAS N'A PAS ÉTÉ TESTÉ, mais je pense que quelque chose de notable serait imprimé dans la sortie standard ou d'erreur/home
répertoire de sauvegarde qui comprenait ledit logiciel tiers, cette sortie conviendrait.la source
Si vous voulez voir toutes les choses que vous avez installées en exécutant:
Et vous n'avez pas gâché l'historique de bash, et vous ne souhaitez pas afficher l'historique de ce type de type d'installation pour un autre utilisateur (ou tous les utilisateurs), vous pouvez simplement exécuter:
Et cela devrait vous donner des résultats principalement pertinents.
la source
apt-get install
dans le.bash_history
fichier ou supprimé ce fichier, la commande vous montrera toutes les instances lorsque vous avez exécuté une commande avec la chaîneapt-get install
qu'il contient sur votre compte d'utilisateur (même si vous exécutez la commande en tant que root et donc pas exactement comme votre compte d'utilisateur - c'est-à-dire en exécutant une commande avecsudo
).Si vous voulez l'historique des
apt-get install
commandes, utilisez la commande suivante:Production:
Pour plus d'informations, reportez-vous à Informations supplémentaires .
Il y a aussi des informations plus détaillées dans
/var/log/apt/
leshistory.log
et leshistory.log.X.gz
fichiers etterm.log
etterm.log.X.gz
fichiersSi vous souhaitez uniquement l'historique des
apt-get
commandes incluses,la source
apt-mark showmanual
affiche également tous les packages installés lorsque le système d'exploitation a été installé, plutôt que ceux réellement installés manuellement. C'est une drôle de façon de se comporter!/var/log/apt/history.log
des fichiers similaires. Vous obtenez uniquement la liste des packages sélectionnés et sélectionnés automatiquement. Vous ne donnez aucun historique chronologique de ce qui a été installé, ce qui a été supprimé, ce qui a été mis à niveau, etc. à partir de cette réponse.apt -mark showmanual
? Je ne le vois pas sur la page de manuel Ubuntu 16.04 LTS pourapt
: < manpages.ubuntu.com/manpages/xenial/en/man8/apt.8.html >.Afin de voir ce que vous avez installé et supprimé, réinstallé, etc. Plus d'informations sur le parcours des installations apt-get.
La réponse peut être modifiée en un alias:
la source
Notez que certains arguments peuvent être définis avant l'installation, comme le fait le script virtualmin pendant l'installation: apt-get -y install packagename.
Donc, si vous souhaitez capturer toutes les commandes d'installation, vous devez modifier la requête d'expression régulière.
la source