Ho pensato di poter facilmente controllare il timestamp di determinati file. Poi ho capito che non sarebbe stato così facile quando ho visto i timestamp come 1991
.
Ho pensato di poter facilmente controllare il timestamp di determinati file. Poi ho capito che non sarebbe stato così facile quando ho visto i timestamp come 1991
.
Risposte:
Il modo più semplice sarebbe probabilmente (presumendo che sda1 sia il tuo / root /):
tune2fs -l / dev / sda1 | grep creato
Questo dovrebbe mostrare la data in cui è stato creato il file system. Confermato di funzionare da ext2 a ext4, non sono sicuro di altri file system!
cp -a
dati. Quindi in breve: non è possibile determinare l'età del sistema in tutti i casi.
/dev/root
è un po 'più generale.
Un meccanismo che uso spesso è controllare il tempo di modifica (ctime) sui file all'interno della directory principale di root. Poiché la /root
directory home viene creata al momento dell'installazione e viene spesso utilizzata di rado, ciò può fornire un'approssimazione relativamente buona. Come chiarito da Kyle nei commenti, poiché ctime si riferisce all'inode, e non ai dati, la modifica del contenuto del file non cambierà il ctime.
Per impostazione predefinita, il ls
comando stampa il tempo di modifica (mtime) del file. Quindi se sostituisci l'opzione ctime in questo modo,
ls -alct /root
Questo stamperà tutti i file, visualizzerà l'ora di creazione e ordinerà per ora.
Ad esempio, ecco un esempio dei 3 file più vecchi nella /root
directory di uno dei miei sistemi.
ls -alt install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root 10238 Feb 18 2010 install.log.syslog
-rw-r--r--. 1 root 129 Dec 3 2004 .tcshrc
-rw-r--r--. 1 root 100 Sep 22 2004 .cshrc
E poi controllando il tempo di cambio
ls -alct install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root 100 Feb 18 2010 .cshrc
-rw-r--r--. 1 root 10238 Feb 18 2010 install.log.syslog
-rw-r--r--. 1 root 129 Feb 18 2010 .tcshrc
La data del 18 febbraio 2010 segue sicuramente il tempo approssimativo in cui avrei installato il sistema per la prima volta.
provare
ls -alp /etc/ssh/ssh_host_dsa_key.pub | cut -d " " -f6
le chiavi vengono generate quando si installa il sistema operativo.
ls
mostra la data in modo diverso (almeno sulla mia macchina), quindi il cut
comando non funziona correttamente. Vorrei ora usare stat -c %y /etc/ssh/ssh_host*pub
. Inoltre, mi chiedo perché i tempi di creazione dei file non abbiano avuto più amore su Linux ...
Controllare l'hardware sarebbe una buona scommessa, se si ha accesso ad esso. È possibile ispezionare i componenti di sistema e / o hardware per avere una buona idea di quando è stato assemblato.
In alternativa, se riesci ad accedere alla schermata del BIOS ci sono spesso informazioni sulla data che possono essere utilizzate per determinare quanti anni ha una macchina.
Se riesci ad accedere alle informazioni SMART sul disco rigido ( smartctl -a /dev/sda
), potrebbe esserci qualcosa da fare. Non vedo un timestamp specifico in SMART ma c'è almeno un'ora di contatore dell'utilizzo. Ciò fornirebbe un limite inferiore sull'età della macchina (poiché se il disco rigido è in funzione da 100 ore, il sistema non può essere più giovane di 100 ore).
Per quanto riguarda i controlli del filesystem, puoi guardare le informazioni sulla data per /lost+found
- quella directory è stata creata quando è stato creato il filesystem. La data su di essa dovrebbe concordare con le informazioni sui brani della risposta precedente.
/lost+found
suggerimento, poiché queste informazioni sono disponibili per gli utenti non privilegiati. Eseguire un'operazione batch come tune2fs sui filesystem di root in quanto il superutente è un po 'preoccupante. Inoltre, questa soluzione funziona su file system FreeBSD e non ext2 / 3/4.
Con RedHat e derivati, è abbastanza facile avere un'idea generale della versione del sistema operativo / vintage attraverso una combinazione di età dei file e altri file di sistema. Di solito controllerò il /root/anaconda-ks.cfg
file, poiché contiene i parametri iniziali di configurazione del server e del pacchetto. A volte uname -a
avrà buone informazioni sulla data di compilazione del kernel. Ci sarebbe anche un cluster di file con la stessa data in /etc
; in genere i collegamenti rcx.d, gli script rc, inittab, ecc.
Questo funziona anche con i sistemi Red Hat:
rpm -qi basesystem | grep "Install Date"