it-swarm.com.de

Wie finde ich heraus, wie lange es her ist, dass ein Linux-System installiert wurde?

Wie kann ich die Zeit seit der Erstinstallation eines Linux-Systems ermitteln, sofern niemand versucht hat, es zu verbergen?

104
user4518
tune2fs -l /dev/sda1 **OR** /dev/sdb1*  | grep 'Filesystem created:'

Hier erfahren Sie, wann das Dateisystem erstellt wurde.

* = In der ersten Spalte von df / finden Sie die genaue zu verwendende Partition.

101
RailOcelot

Überprüfen Sie das Datum des Root-Dateisystems mit dumpe2fs. Ich kann mir nicht wirklich vorstellen, wie das etwas anderes sein könnte als das Datum, das Sie suchen:

dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'
22
pboin

Es liegen ein paar Datteln herum.

  • Alle Dateien haben Datumsangaben.
  • Protokolldateien enthalten Datumsangaben.

Zu Debian oder Ubuntu und ihren Derivaten siehe /var/log/installer/syslog für die endgültige Antwort, falls vorhanden, ist sie Teil des Instillationsprotokolls.

Beachten Sie jedoch, dass dies nicht garantiert ist. (Siehe andere Antworten/Kommentare für einige der Gründe, warum es möglicherweise nicht funktioniert.)

17
ctrl-alt-delor

Auf Red Hat-basierten Distributionen (z. B. CentOS, Scientific, Oracle usw.) können Sie Folgendes verwenden:

rpm -qi basesystem
Name        : basesystem
Version     : 10.0
Release     : 7.el7
Architecture: noarch
Install Date: Mon 02 May 2016 19:20:58 BST
Group       : System Environment/Base
Size        : 0
License     : Public Domain
Signature   : RSA/SHA256, Tue 01 Apr 2014 14:23:16 BST, Key ID     199e2f91fd431d51
Source RPM  : basesystem-10.0-7.el7.src.rpm
Build Date  : Fri 27 Dec 2013 17:22:15 GMT
Build Host  : ppc-015.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor      : Red Hat, Inc.
Summary     : The skeleton package which defines a simple Red Hat Enterprise Linux system
Description :
Basesystem defines the components of a basic Red Hat Enterprise Linux
system (for example, the package installation order to use during
bootstrapping). Basesystem should be in every installation of a system,
and it should never be removed.

oder

rpm -q basesystem --qf '%{installtime:date}\n'
Mon 02 May 2016 19:20:58 BST
14
el_viejillo

Die Lösung, die für das Dateisystem und die Verteilung am neutralsten ist (die ich mir vorstellen kann), besteht darin, die älteste von ls -lact /etc Angegebene Datei zu verwenden, in der die Metadaten jeder Datei für die Erstellungszeit untersucht werden. Dies kann zwar gespielt werden, ist jedoch nicht von touch oder Dateien betroffen, die durch Extrahieren von Archiven erstellt wurden (z. B. tar -p, Um Zeitstempel beizubehalten).

Ich denke, es ist am besten, sich Dateien und nicht Verzeichnisse anzusehen, da Verzeichnisse ihre Metadaten zur Erstellungszeit ändern , wenn sich ihr Inhalt ändert (vielleicht kann jemand Aufschluss darüber geben, warum das so ist ist?)

ls -lact --full-time /etc |tail

Systeme, denen GNU Coreutils fehlt, sollten die Option --full-time Entfernen (die Sortierreihenfolge ist weiterhin korrekt und Sie erhalten weiterhin den Tag). Sie können die Erstellungszeit aus den Metadaten einer Datei mit stat FILE |grep Change Abrufen (führen Sie diese für die älteste Datei aus, die unter ls -lact Aufgeführt ist).

Auf anderen Nicht-Linux-Systemen hat stat diese Informationen wahrscheinlich in einer etwas anderen Anordnung, was möglicherweise andere Flags erfordert. Beachten Sie, dass hierfür weiterhin die Metadaten der Datei verwendet werden und die Genauigkeit nicht garantiert werden kann.

Beachten Sie auch, dass stat from GNU Coreutils eine "Geburts" -Zeit hat, die tendenziell falsch ist (Linux mit ext4 ergibt 0 Um anzuzeigen, dass es unbekannt ist, zeigte FreeBSD mit UFS eine "Geburtszeit" an, die älter ist als das von mir abgefragte System. Der richtige Wert wurde als "Änderung" aufgeführt " Zeit.

Wenn Sie Lust haben und nur die Erstellungszeit der ältesten Datei in /etc Erhalten möchten:

ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'

Dieser Befehl funktionierte für mich auf einem alten FreeBSD-System (UFS, no GNU utils):

stat "/etc/$(ls -act /etc |tail -1)" |awk -F\" '{print $6}'

(Ja, dies analysiert ls und das ist tabu, aber es sollte keine schelmisch benannten Dateien in /etc Geben.)

Sie können auch stat verwenden, um andere Zeitformate abzurufen. Um beispielsweise die Erstellungszeit in nix Epoch : stat -c %Z FILE Abzurufen (mit GNU beachten Sie, dass %Z "Zeit der letzten Statusänderung" ist, aber das ist das richtige Flag für meine Linux- und BSD-Systeme, wie oben erwähnt; %W ist der "Zeitpunkt der Geburt der Datei") oder stat -f %c FILE (mit BSD).

10
Adam Katz

In Fedora speichert das Anaconda-Installationsprogramm die Konfigurationsdetails Ihrer Installation im Home-Ordner von root, die Ihnen eine Vorstellung geben können.

Unter Debian (zumindest neueren) werden mehrere Protokolle aus der Installation in /var/log/installer/. Ältere Versionen haben sie in /var/log/installer.*. Das ist zumindest bis 2003 zurück.

6
rajaganesh87

Wie von OP angefordert.

Wenn Sie nach der Zeit suchen, zu der das System eingerichtet wurde, gibt es keine Möglichkeit, dies festzustellen. Zum einen wurde das System möglicherweise geklont (nicht installiert), wodurch die Zeit für die Dateierstellung effektiv gefälscht würde.

Sie können das Alter schätzen, indem Sie nach den ältesten Dateien suchen.

4
Šimon Tóth

Ich habe nach einem ähnlichen Tool gesucht und das Beste, was ich finden konnte, war ls -lAhF /etc/hostname, einfach das Alter der Hostnamensdatei. Ich denke, im Allgemeinen wird der Hostname eines Systems am Anfang festgelegt und bleibt während der Lebensdauer des Systems unverändert. Das Datum der Erstellung des Dateisystems ist zwar hilfreich, kann aber irreführend sein. Ich verwende beispielsweise häufig das Image einer virtuellen Maschine, das ich vor einiger Zeit installiert habe, kopiere es, ändere den Hostnamen und erstelle daraus einen neuen Server. Daher in meinem Fall /etc/hostname ist eine bessere Anzeige als tune2fs -l /dev/sda1

4
user1968963

Ich schaue mir die älteste Datei in/boot an (oben in "ls -ltr/boot". Oft gibt es einen ursprünglichen Bootsektor von der ersten Installation an. Auf meinem ältesten System gibt dies das Datum der ursprünglichen Installation an, obwohl alles in ersetzt wurde die Maschine und kopierte den Inhalt des Dateisystems ein paar Mal :)

3
pjc50
ls -alct /|tail -1|awk '{print $6, $7, $8}'
3
altmas5

Wenn Sie während der Installation LVM verwendet haben, können Sie das Erstellungsdatum eines logischen Volumes überprüfen, das am Installationstag erstellt wurde. Beispiel:

$ Sudo lvdisplay /dev/mapper/KUbuntu_VG-rootFS | grep Creation
  LV Creation Host, time kubuntu, 2014-12-28 20:52:15 +0100
1
SebMa

ls -alct /root -> Das Stammverzeichnis wird bei der Installation erstellt

0
jet

Bitte laufen Sie wie folgt:

  1. rpm -qa | grep Basissystem

Verwenden Sie dann den folgenden Befehl.

  1. rpm -qi (Ergebnis des ersten Befehls)
0
hamid karimi

Der Umgang mit virtuellen Maschinen, einigen Dateisystemen usw., die beim Erstellen des Images erstellt wurden, kann lange vor dem Erstellen der Instanz dauern.

Der Zeitstempel auf /etc/locale.conf scheint geändert zu sein, wenn die Instanz während der Instanzerstellung gestartet wird. Dies ist möglicherweise ein guter Zeitpunkt, es sei denn, das Gebietsschema wird später geändert.

Das /etc/hostname ist ähnlich, außer dass wir es in bestimmten Situationen ändern.

Haben Sie eine Idee zu anderen Dateien, die beim Erstellen einer Instanz geändert, danach jedoch nicht mehr geändert werden?

0
user9114372

Seit einiger Zeit installiere ich normalerweise zur gleichen Zeit, dass die Linux-Distribution ein Paket namens Tuptime enthält, das nützliche Statistiken über die Laufzeit, Starts, Abschaltungen ...

Für Ihre Fragen enthält die Zeile "Systemlebensdauer" diese Informationen. Zum Beispiel:

System startups:    110   since   10:15:27 08/08/15
System shutdowns:   107 ok   -   2 bad
System uptime:      4.04 %   -   1 days, 22 hours, 4 minutes and 44 seconds
System downtime:    95.96 %   -   45 days, 13 hours, 57 minutes and 30 seconds
System life:        47 days, 12 hours, 2 minutes and 15 seconds

Largest uptime:     2 hours, 10 minutes and 44 seconds   from   20:49:17 09/08/15
Shortest uptime:    9 seconds   from   10:23:36 08/08/15
Average uptime:     25 minutes and 8 seconds

Largest downtime:   7 days, 10 hours, 17 minutes and 26 seconds   from   06:09:45 10/08/15
Shortest downtime:  15 seconds   from   19:27:24 19/09/15
Average downtime:   9 hours, 56 minutes and 42 seconds

Current uptime:     23 minutes and 33 seconds   since   21:54:09 24/09/15

Weitere Informationen: https://github.com/rfrail3/tuptime/

0
Rfraile

Dies ist ein anderer Weg

# rpm -q -last basesystem
basesystem-10.0-7.el7.noarch                  Tue 11 Jul 2017 03:57:52 PM UTC
0
Shirish Shukla