Como descubro há quanto tempo um sistema Linux foi instalado?

84

Como posso encontrar tempo desde que um sistema Linux foi instalado pela primeira vez, desde que ninguém tenha tentado ocultá-lo?

    
por mattdm 23.03.2011 / 17:40

14 respostas

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

Isso informará quando o sistema de arquivos foi criado.

* = Na primeira coluna de df / você pode encontrar a partição exata a ser usada.

    
por 23.03.2011 / 22:08
18

Verifique a data do sistema de arquivos raiz com dumpe2fs. Eu não consigo pensar em como isso poderia ser outra coisa senão a data que você está procurando:

dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'
    
por 23.03.2011 / 20:54
15

Existem algumas datas por aí.

  • Todos os arquivos têm datas.
  • Arquivos de registro têm datas neles.

No Debian ou Ubuntu e seus derivados, veja /var/log/installer/syslog para a resposta definitiva, se existir, faz parte do registro da instilação.

Mas cuidado, isso não é garantido. (veja outras respostas / comentários por algumas das razões que podem não funcionar.)

    
por 23.03.2011 / 18:02
8

Em distribuições baseadas no Red Hat (por exemplo, CentOS, Scientific, Oracle, etc.) você pode usar:

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.

ou

rpm -q basesystem --qf '%{installtime:date}\n'
Mon 02 May 2016 19:20:58 BST
    
por 06.09.2014 / 00:13
6

No Fedora, o instalador do anaconda armazena os detalhes de configuração de sua instalação na pasta inicial do root, que pode lhe dar uma idéia.

No Debian (pelo menos os mais recentes), vários logs da instalação são armazenados em /var/log/installer/ . Versões mais antigas armazenavam-nas em /var/log/installer.* . Isso é pelo menos de volta a 2003.

    
por 23.03.2011 / 18:11
5

A solução mais neutra para o sistema de arquivos e distribuição (que eu posso criar) é usar o arquivo mais antigo dado por ls -lact /etc , que examina os metadados de cada arquivo para o tempo de criação. Embora isso possa ser controlado, ele não é afetado por touch ou arquivos criados pela extração de arquivos compactados (por exemplo, tar -p para preservar registros de data e hora).

Eu acho que é melhor olhar para arquivos ao invés de diretórios, pois os diretórios do mudam seus metadados de tempo de criação quando seu conteúdo muda (talvez alguém possa esclarecer o porquê disso?)

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

Sistemas que carecem de GNU Coreutils devem remover a opção --full-time (a ordem de classificação ainda será correto e você ainda terá o dia). Você pode obter o tempo de criação dos metadados de um arquivo com stat FILE |grep Change (execute no arquivo mais antigo listado por ls -lact ).

Em outros sistemas não-Linux, stat provavelmente tem essa informação em um arranjo ligeiramente diferente, possivelmente exigindo sinalizadores diferentes. Observe que isso ainda usa os metadados do arquivo e a precisão não é garantida.

Observe também que stat do GNU Coreutils tem um tempo de "Nascimento" que tende a estar errado (Linux com ext4 rende 0 para indicar que é desconhecido, o FreeBSD com UFS mostrou um tempo de "Nascimento" que é mais antigo que o sistema I consultado). O valor correto foi listado como seu tempo "Alterar".

Se você deseja obter a fantasia e obter apenas a hora de criação do arquivo mais antigo em /etc :

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

Este comando funcionou para mim em um sistema antigo do FreeBSD (UFS, sem utilitários GNU):

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

(Sim, isso analisa ls e isso é um tabu, mas não deve haver arquivos nomeados maliciosamente em /etc .)

Você também pode usar stat para obter outros formatos de hora. Por exemplo, para obter o horário de criação em época do Unix : stat -c %Z FILE (com o GNU, observe que %Z é " tempo da última mudança de status ", mas esse é o sinalizador correto para os meus sistemas Linux e BSD, conforme mencionado acima; %W é o" tempo de nascimento do arquivo ") ou stat -f %c FILE (com o BSD).

    
por 16.09.2016 / 19:11
4

Conforme solicitado pelo OP.

Se você está procurando a hora, quando o sistema foi configurado, não há uma maneira de determinar isso. Por um lado, o sistema pode ter sido clonado (não instalado), o que efetivamente falsificaria o tempo de criação do arquivo.

Você pode estimar a idade pesquisando os arquivos mais antigos.

    
por 23.03.2011 / 17:59
4
ls -alct /|tail -1|awk '{print $6, $7, $8}'
    
por 30.08.2012 / 17:29
2

Eu tenho procurado por uma ferramenta semelhante, e o melhor que consegui foi ls -lAhF /etc/hostname , simplesmente a idade do arquivo hostname. Eu acho que, em geral, o nome do host de um sistema é definido no início e deixado inalterado durante a vida útil do sistema. A data da criação do sistema de arquivos é certailny útil, mas pode ser enganosa. Eu, por exemplo, muitas vezes uso máquinas virtuais imagem, que instalei há algum tempo, copiei, mudei o hostname e fiz um novo servidor a partir dele. Portanto, no meu caso /etc/hostname é melhor indicação do que tune2fs -l /dev/sda1

    
por 29.05.2013 / 22:57
1

Eu olho para o arquivo mais antigo em / boot (topo de "ls -ltr / boot". Muitas vezes há um setor de inicialização original da primeira instalação lá. No meu sistema mais antigo isso dá a data da instalação original, apesar de ter substituiu tudo na máquina e copiou o conteúdo do sistema de arquivos algumas vezes:)

    
por 24.03.2011 / 15:54
0

ls -alct /root - > diretório raiz home é criado no momento da instalação

    
por 23.03.2011 / 22:25
0

Por favor, execute o seguinte:

  1. rpm -qa | grep baseystem

E, em seguida, use o comando abaixo.

  1. rpm -qi (resultado do primeiro comando)
por 02.08.2016 / 14:13
0

Desde tempos atrás, eu costumo instalar no tempo sime que a distribuição linux um pacote chamado Tuptime , que mantém estatísticas úteis sobre o tempo de execução, startups, desligamentos ...

Para suas perguntas, a linha "System life" tem essa informação. Como exemplo:

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

Mais informações: link

    
por 19.12.2017 / 11:52
-4

Eu encontrei um arquivo simples. nome "1". Talvez seja o primeiro arquivo.

▶ ls -lact --full-time /1
-rw-r--r--. 1 root root 0 2017-03-23 12:02:46.880994133 +0800 /1
    
por 29.03.2017 / 11:59