it-swarm.com.de

Wie kann ich den Verlauf von apt-get install anzeigen?

Wie kann ich den Verlauf von apt-get install Befehlen anzeigen, die ich manuell ausgeführt habe?

Mir scheint, dass alle verfügbaren Methoden alles zeigen, was von Beginn der Ubuntu-Installation an installiert wurde.

Wie kann ich den Verlauf von apt-get install seit Abschluss meines Systeminstallationsprozesses anzeigen?

17
TellMeWhy

Ich denke, die Antwort hier von kos ist der beste Weg, den ich bisher gesehen habe. Da das Software Center apt verwendet, wird auch alles aufgeführt, was es installiert hat.

Der Befehl lautet:

zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'
20
Arronical

Geben Sie einfach den folgenden Befehl in Ihr Terminal ein, um alle Installationsprotokolle anzuzeigen.

grep " install " /var/log/dpkg.log
9
Vikas Chaudhary

Ein guter Trick, den ich kürzlich gelernt habe, ist, dass Sie zcat -qf verwenden können, um sowohl txt- als auch txt-gzipped-Dateien zu kategorisieren.

zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'

wird

zcat -qf /var/log/apt/history.log* | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'

Vom mann zcat:

   -q --quiet
          Suppress all warnings.
   -f --force
          Force  compression  or  decompression  even if the file has multiple links or the corre‐
          sponding file already exists, or if the compressed data is read from  or  written  to  a
          terminal.  If  the  input  data is not in a format recognized by gzip, and if the option
          --stdout is also given, copy the input data without change to the standard  output:  let
          zcat  behave  as  cat.  If -f is not given, and when not running in the background, gzip
          prompts to verify whether an existing file should be overwritten.
3
jjcf89

Hier ist ein Skript, das nur das aktuell installierte ausgibt top-Level-Pakete, wobei "Top-Level-Pakete" als atp-Pakete definiert sind, von denen keine anderen atp-Pakete abhängen. Wenn solche Top-Level-Programme von atp oder einem Paketmanager wie synaptic installiert wurden, wurden sie vom Benutzer manuell ausgewählt.

_#!/bin/sh
NumDaysAgo=18
find /var/lib/dpkg/info -name "*.list" -mtime -$NumDaysAgo \
    -exec stat -c $'%y\t%n' {} \; | \
sed -e 's,/var/lib/dpkg/info/,,' -e 's,\.list,,' | \
sort -r | \
while read Date Time Xxx Pkg
do 
    lncnt=$(apt-cache --installed rdepends $Pkg | wc -l)
    if [ $lncnt -eq "2" ]
        then echo "$Date $Time $Pkg"
    fi
done
echo "JOB COMPLETED: $BASH_SOURCE"
_

Die Pakete werden in umgekehrter Reihenfolge gedruckt, unter der Annahme, dass der Benutzer die neueren Informationen eher möchte und das Programm langsam ist.

Programmablauf:

  • Das Programm sammelt zuerst alle installierten Pakete in einer Liste, indem es die Dateinamen unter _/var/lib/dpkg/info/_ liest. Die Datei-Mod-Zeiten sind die Installationszeiten.
  • Diese Liste ist in umgekehrter Reihenfolge sortiert.
  • Für jedes installierte Paket _$Pkg_ fordert ein Aufruf von _apt-cache rdepends $Pkg_ die umgekehrten Abhängigkeiten von _$Pkg_ an. Wenn keine Abhängigkeiten vorhanden sind, handelt es sich um ein Paket der obersten Ebene, und die Paketinformationen werden gedruckt: Datum Uhrzeit Paketname

Anmerkungen:

  • Das Skript hängt vom Ausgabeformat von _apt-cache rdepends $Pkg_ ab, das für das menschliche Auge bestimmt war und sich in zukünftigen Versionen von apt ändern könnte.
  • Der Code für den Teil, der die Dateinamen unter/var/lib/dpkg/info/sammelt, stammt aus dieser Beitrag von unix.stackexchange . Wie dieses Poster 'mikel' hervorhob, sind die dpgk Verlaufsprotokolldateien nicht zuverlässig, da sie nach Erreichen eines bestimmten Volumens herausgedreht werden.
  • Manpage für apt-chache
  • Der Aufruf _apt-cache rdepends ..._ ist vermutlich sehr langsam, da jeder Aufruf durch Iteration aller Abhängigkeiten berechnet wird. Daher beginnt das obige Skript mit den neuesten Installationen, um dem Benutzer so viel sofortige Befriedigung wie möglich zu bieten.
  • Das _--installed_ -Flag nach _apt-cache_ prüft, ob die von dpkg installierten Pakete auch apt-installiert sind. Wenn der Benutzer oder eine andere Installationssoftware apt umgeht und dpkg direkt verwendet, ist dies möglich. DIESER FALL WURDE NICHT GETESTET, aber ich denke, dass etwas Auffälliges entweder in der Standard- oder in der Fehlerausgabe gedruckt wird
  • Die Ausgabe enthält keine manuell ausgewählten Pakete, die später von einem höheren Paket abhängig wurden. Die Ausgabe kann auch Pakete enthalten, die über apt von einer anderen Installationssoftware eines Drittanbieters installiert wurden und daher nicht wirklich manuell installiert werden. Wenn der Zweck der Ausgabe jedoch darin besteht, ein wiederhergestelltes Linux aus einem Sicherungsverzeichnis _/home_ zu erstellen, in dem die Software von Drittanbietern enthalten ist, ist diese Ausgabe geeignet.
  • Einige der Paketnamen enthalten Versionsnummern, andere nicht. Erwähnt nur, um das Bewusstsein für die Tatsache zu bringen.
2
Craig Hicks

Wenn Sie den Verlauf von apt-get install -Befehlen wünschen, verwenden Sie den folgenden Befehl:

grep "apt-get install" .bash_history

Ausgabe:

[email protected]:~$ grep "apt-get install" .bash_history

Sudo apt-get install --no-install-recommends ubuntu-mate-core ubuntu-mate-desktop
Sudo apt-get install xfce4
Sudo apt-get install xfce4.12
Sudo apt-get install pgadmin
Sudo apt-get install touchegg
Sudo apt-get install aptitude
Sudo apt-get install aptitude
Sudo gedit .bash_history | grep "apt-get install" 
Sudo apt-get installvim
grep "apt-get install" .bash_history
cat .bash_history | grep "apt-get install" 

Weitere Informationen finden Sie unter Zusätzliche Informationen .

Ausführlichere Informationen zur Installation finden Sie auch in /var/log/apt/ in den history.log - und history.log.X.gz -Dateien und term.log- und term.log.X.gz -Dateien

Wenn Sie den Verlauf nur von apt-get eingeschlossenen Befehlen möchten, dann

history | grep apt-get

1
Ravan

Wenn Sie alle Dinge sehen möchten, die Sie installiert haben, indem Sie Folgendes ausführen:

Sudo apt-get install [package]

Und Sie haben weder den Bash-Verlauf durcheinander gebracht, noch möchten Sie den Verlauf dieser Art von Installation für einen anderen Benutzer (oder für alle Benutzer) anzeigen. Dann können Sie einfach Folgendes ausführen:

history | grep "apt-get install"

Und das sollte Ihnen meist relevante Ergebnisse bringen.

1
user364819

Beachten Sie, dass einige Argumente vor der Installation gesetzt werden können, wie dies das virtualmin-Skript während der Installation tut: apt-get -y install packagename.

Wenn Sie also alle Installationsbefehle erfassen möchten, müssen Sie die Regex-Abfrage ändern.

zcat -qf /var/log/apt/history.log* | grep -Po '^Commandline: apt-get.*install (?!.*--reinstall)\K.*'
0
Yann Papouin

Um zu sehen, was Sie installiert und entfernt, neu installiert usw. haben. Weitere Informationen zu journey von apt-get-Installationen.

Die Antwort kann in einen Alias ​​geändert werden:

alias apted='zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | fgrep Commandline: | cut -d " " -f 2- | grep -P "^|install"'
0
Mike