it-swarm.it

Come faccio a sapere da quanto tempo è stato installato un sistema Linux?

Come posso trovare il tempo dalla prima installazione di un sistema Linux, a condizione che nessuno abbia tentato di nasconderlo?

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

Questo ti dirà quando è stato creato il file system.

* = Nella prima colonna di df / puoi trovare la partizione esatta da usare.

101
RailOcelot

Controlla la data del filesystem di root con dumpe2fs. Non riesco davvero a pensare a come potrebbe essere nient'altro che la data che stai cercando:

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

Ci sono alcune date in giro.

  • Tutti i file hanno date.
  • I file di registro contengono date.

Su Debian o Ubuntu e i loro derivati, vedi /var/log/installer/syslog per la risposta definitiva, se esiste, fa parte del registro dell'instillazione.

Ma attenzione, questo non è garantito. (vedi altre risposte/commenti per alcuni dei motivi per cui potrebbe non funzionare.)

17
ctrl-alt-delor

Nelle distribuzioni basate su Red Hat (ad es. CentOS, Scientific, Oracle ecc.) È possibile utilizzare:

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.

o

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

La soluzione più neutrale per il filesystem e la distribuzione (che posso trovare) è usare il file più vecchio dato da ls -lact /etc, che esamina i metadati di ciascun file al momento della creazione. Anche se questo può essere giocato, non è influenzato da touch o dai file creati estraendo archivi (ad esempio tar -p per conservare i timestamp).

Penso che sia meglio guardare i file piuttosto che le directory poiché le directory cambiano i metadati dei tempi di creazione quando cambiano i loro contenuti (forse qualcuno può far luce sul perché è?)

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

I sistemi che non hanno GNU Coreutils dovrebbero rimuovere --full-time opzione (l'ordinamento sarà comunque corretto e otterrai comunque il giorno). Puoi ottenere il tempo di creazione dai metadati di un file con stat FILE |grep Change (eseguilo sul file più vecchio elencato da ls -lact).

Su altri sistemi non Linux, stat probabilmente ha queste informazioni in una disposizione leggermente diversa, che potrebbe richiedere flag diversi. Nota che questo utilizza ancora i metadati del file e l'accuratezza non è garantita.

Si noti inoltre che stat da GNU Coreutils ha un tempo di "Nascita" che tende ad essere sbagliato (Linux con ext4 produce 0 per indicare che è sconosciuto, FreeBSD con UFS ha mostrato un tempo di "Nascita" più vecchio del sistema su cui ho eseguito una query). Il valore corretto è stato elencato come ora "Modifica".

Se vuoi divertirti e ottenere solo l'ora di creazione del file più vecchio in/etc:

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

Questo comando ha funzionato per me su un vecchio sistema FreeBSD (UFS, no GNU utils):

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

(Sì, questo analizza ls e questo è un tabù, ma non ci dovrebbero essere file maliziosamente nominati in /etc.)

Puoi anche usare stat per ottenere altri formati di ora. Ad esempio, per ottenere il tempo di creazione in nix Epoch : stat -c %Z FILE (con GNU, nota che %Z è "l'ora dell'ultimo cambio di stato" ma è il flag corretto per i miei sistemi Linux e BSD, come notato sopra; %W è il "momento della nascita del file") o stat -f %c FILE (con BSD).

10
Adam Katz

In Fedora, il programma di installazione di anaconda memorizza i dettagli di configurazione dell'installazione nella cartella principale di root, che può darti un'idea.

Su Debian (almeno quelli più recenti), diversi log dall'installazione sono memorizzati in /var/log/installer/. Le versioni precedenti le hanno archiviate in /var/log/installer.*. Questo è almeno il 2003.

6
rajaganesh87

Come richiesto dall'OP.

Se stai cercando l'ora, quando il sistema è stato installato, non c'è modo di determinarlo. Per uno, il sistema potrebbe essere stato clonato (non installato), il che falserebbe effettivamente il tempo di creazione del file.

È possibile stimare l'età cercando i file più vecchi.

4
Šimon Tóth

Ho cercato uno strumento simile e il meglio che potevo inventare era ls -lAhF /etc/hostname, semplicemente l'età del file del nome host. Penso, in generale, il nome host di un sistema sia impostato all'inizio e lasciato invariato durante la vita del sistema. La data di creazione del filesystem è sicuramente utile, ma può essere fuorviante. Ad esempio, utilizzo spesso l'immagine di macchine virtuali, che ho installato qualche tempo fa, la copio, cambio il nome host e ne ricavo un nuovo server. Pertanto, nel mio caso /etc/hostname è un'indicazione migliore di tune2fs -l /dev/sda1

4
user1968963

Guardo il file più vecchio in/boot (all'inizio di "ls -ltr/boot". Spesso c'è un settore di avvio originale dalla prima installazione lì. Sul mio sistema più vecchio questo dà la data dell'installazione originale, nonostante abbia sostituito tutto in la macchina e copiato il contenuto del file system alcune volte :)

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

Se hai utilizzato LVM durante l'installazione, puoi controllare la data di creazione di un volume logico eseguita il giorno dell'installazione, ad esempio:

$ 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 -> la home directory principale viene creata al momento dell'installazione

0
jet

Si prega di eseguire come segue:

  1. rpm -qa | grep basesystem

E quindi usa il comando seguente.

  1. rpm -qi (risultato del primo comando)
0
hamid karimi

La gestione delle macchine virtuali, alcuni file system ecc. Sono stati creati durante la creazione dell'immagine, può richiedere molto tempo prima che l'istanza venga creata.

Il timestamp su /etc/locale.conf sembra modificato all'avvio dell'istanza durante la creazione dell'istanza. Questo potrebbe essere un buon momento da usare a meno che la locale non venga modificata in seguito.

Il /etc/hostname è simile, tranne per il fatto che lo modificiamo in determinate situazioni.

Qualche idea su altri file che vengono modificati quando viene creata un'istanza ma non modificati successivamente?

0
user9114372

Da tempo, di solito installo al tempo stesso che la distribuzione di Linux un pacchetto chiamato Tuptime , che mantiene utili statistiche sul tempo di esecuzione, l'avvio, arresti ...

Per le tue domande, la riga "Durata del sistema" contiene tali informazioni. Per esempio:

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

Ulteriori informazioni: https://github.com/rfrail3/tuptime/

0
Rfraile

Questo è un altro modo

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