Ich weiß, dass der Befehl zum Aktualisieren der Repository-Listen lautet apt-get update
.
Wie kann ich überprüfen, ob es heute oder in den letzten 24 Stunden ausgeführt wurde?
Ich weiß nicht, ob ich einen Datei-Zeitstempel überprüfen soll. Oder setzen Sie einen anderen apt-Befehl ab. Oder verwenden Sie das Dienstprogramm dpkg.
Auf Manpages konnte nichts Nützliches gefunden werden.
history | grep 'apt-get update'
:)HISTTIMEFORMAT
nicht gesetzt.bashrc
ist, hat dieser Befehl nur die korrekten Zeitstempel für die Befehle, die tatsächlich aus der aktuellen Shell-Sitzung ausgeführt wurden . Für alle anderen Befehle, die nicht aus der aktuellen Sitzung stammen, zeigt der Zeitstempel nur den Änderungszeitstempel der~/.bash_history
Datei an. Die Zeitstempel für Befehle aus anderen Sitzungen können nicht angezeigt werden, da diese Zeitstempel nicht in der~/.bash_history
Datei gespeichert werden. Es kann Zeitstempel für die aktuelle Sitzung anzeigen, da sich diese Stempel noch im Speicher befinden.apt
oder wenn Ihr.bash_history
gekürzt wurde.Überprüfen Sie den Zeitstempel von
/var/lib/apt/periodic/update-success-stamp
.Hier ist die Zeit ,
Jan 25 01:41
alsapt-get
letzten ausgeführt. Verwenden Sie den folgenden Befehl im Terminal, um nur die Uhrzeit abzurufen:Dies ist der beste Ort, um die letzte Aktualisierungszeit zu überprüfen. Wenn Sie gefunden haben
/var/lib/apt/periodic/
, leer zu sein, können Sie versuchen,Aktualisieren
Es wurde festgestellt, dass aus den oben genannten Gründen Dateien
update-success-stamp
oderhistory.log
in einigen Systemen nicht verfügbar bleiben. Es gibt einen neuen Vorschlag von derobert , in die Akte zu schauen/var/cache/apt/pkgcache.bin
.pkgcache.bin
ist der Speicherort des Apt-Speicherpakets. Es wird nach jedem Update erneuert. Es ist also der perfekte Kandidat, um zu wissen, wann das letzte Malapt
aktualisiert wurde.Man kann den folgenden Befehl verwenden, um die genaue Zeit zu kennen,
oder
quelle
/var/lib/apt/periodic/
Verzeichnis ist leer/var/cache/apt/pkgcache.bin
. Bitte analysieren Sie auch nicht die Ausgabe vonls
; Verwenden Siestat
stattdessen. Denken Sie daran, dass diels
Ausgabe von der Ländereinstellung, dem Alter der Datei usw. abhängt. (Ich denke, Sie erhalten nur die erste Datei, die Sie vorschlagen, wenn Sie Update-Notifier-Common installiert haben.)/var/cache/apt/pkgcache.bin
auch die Paketinstallation zu berühren, so dass es keine zuverlässige Möglichkeit ist, nach dem letztenapt-get update
Durchlauf zu suchen .apt-get clean
es kürzlich lief, keine haben wird/var/cache/apt/pkgcache.bin
. Ich werde/var/lib/apt/lists
stattdessen versuchen, mtime from zu verwenden, da dies die rohen, nicht zwischengespeicherten Daten zu sein scheinen, dieapt-get update
tatsächlich manipuliert werden.Ich benutze,
/var/cache/apt
um festzustellen, ob ich laufen mussapt-get update
. Wenn der Unterschied zwischen der aktuellen Zeit und der Cache-Zeit/var/cache/apt
weniger als 24 Stunden beträgt, muss ich standardmäßig nicht ausgeführt werdenapt-get update
. Das Standardaktualisierungsintervall kann überschrieben werden, indem eine Zahl an function übergeben wirdrunAptGetUpdate()
Beispielausgabe:
Ich habe diese Funktionen aus meinem persönlichen Github extrahiert: https://github.com/gdbtek/ubuntu-cookbooks/blob/master/libraries/util.bash
quelle
Möglicherweise interessieren Sie sich auch für die Datei:
Öffne es mit less oder cat als root .
quelle
apt-get update
, und das ist offensichtlich nicht protokolliert.Ich benutze diesen Befehl
stat /var/cache/apt/ | grep -i -e access -e modify
um anzuzeigen, wann das letzte Mal darauf zugegriffen wurde, dh. Ausführen von 'apt-get update' auch beim letzten Mal, als es tatsächlich aktualisiert wurde.
Beachten Sie, dass bei abweichenden Zeiten möglicherweise kein Update verfügbar ist. Da meine Updates und Upgrades zu bestimmten Zeiten von crontab ausgeführt werden, kann ich feststellen, ob meine Updates ausgeführt wurden oder nicht.
quelle
Wenn Sie den letzten Kommentar von @ ssokolow mit der Antwort von hier kombinieren , wird dieser Befehl ausgeführt,
apt-get update
wenn er in den letzten 7 Tagen nicht ausgeführt wurde:Erläuterung:
-mtime -7
findet Dateien, deren Änderungszeit in den letzten 7 Tagen liegt. Sie können verwenden-mmin
wenn Sie kürzere Zeiten interessieren.-maxdepth 0
Stellt sicher, dass find nicht in den Inhalt des Verzeichnisses eingeht.-H
Dereferenzen/var/lib/apt/lists
wenn es eine weiche Verbindung istfind
Fehler auftritt, wird der Befehl ausgeführt. Dies scheint mir die sichere Voreinstellung zu sein. Wenn Sie die Standardeinstellung umkehren möchten, verwenden Sie den Befehl-n
test und-mtime +7
find.quelle
Ich habe gerade eine Antwort auf diese Frage zu folgendem Thema gepostet
Wo kann ich meinen Update-Verlauf nachschlagen?
Die Antwort ist für dieses Thema möglicherweise weniger geeignet, da speziell nach "apt-get upgrade" gesucht wird. Hier ist eine Beispielausgabe.
Im anderen Thema finden Sie den Quellcode und weitere Erklärungen.
quelle
quelle