Wie kann das Installationsdatum des Betriebssystems distributionsunabhängig ermittelt werden?

Wie kann das Installationsdatum des Betriebssystems distributionsunabhängig ermittelt werden?

Ich arbeite an einer CrunchBang-Maschine und versuche, ein Skript zu schreiben, das das Installationsdatum des Betriebssystems als Referenz benötigt.

Ich habe gesucht und diesen Befehl gefunden:

ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'

Es druckt

Mar 31 21:24

Ich habe den Teil nicht verstanden tail -1, konnte aber herausfinden, dass $6, $7, $8 das 6., 7. und 8. Vorkommen der letzten Zeile sind, auf die der Befehl verweist.

Mir wurde jedoch klar, dass das Jahr nicht einbezogen werden kann, da das Jahr im ls -ltcBefehl nicht angezeigt wurde.

Manche Leute schlugen vor, das Erstellungsdatum herauszufinden /etcund andere das /var/log/syslogusw. zu überprüfen. Ich dachte, dass diese möglicherweise etwas spezifisch für die Distribution sind.

Was empfehlen Sie für eine wirklich distributionsunabhängige Methode zum Ermitteln des Installationsdatums des Betriebssystems?

Antwort1

Wenn davon ausgegangen wird, dass Sie ein ext{2,3,4}-Dateisystem haben und das Root-Dateisystem bei der Installation des Betriebssystems formatiert haben (und keine Upgrades von einem anderen Betriebssystem ohne Löschen durchgeführt haben), können Sie dumpe2fs verwenden:

% dumpe2fs -h /dev/mapper/vg_desktop-lv_root 2>&1 |grep 'Filesystem created'
Filesystem created:       Sat Jul 23 04:28:07 2011

Antwort2

Ich kenne hierfür keine formale Methode.

Was ich immer getan habe, ist:

touch /install-`date +"%F"` && chattr +i /install-20*

Dadurch wird eine Datei mit dem Namen „install-“ erstellt, gefolgt vom aktuellen Datum (bei Ausführung heute wäre dies „install-2012-04-03“), und die Datei wird als unveränderlich festgelegt, sodass sie nicht versehentlich gelöscht werden kann.

Dann müssen Sie nur noch einen Blick auf die Datei werfen, um festzustellen, wann das Betriebssystem installiert wurde.

verwandte Informationen