O que é uma maneira independente de distro para determinar a data de instalação do sistema operacional?

10

Eu estou em uma máquina CrunchBang e tentando escrever um script que precisa ter a data de instalação do SO como referência.

Eu procurei e encontrei este comando:

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

Imprime

Mar 31 21:24

Eu não entendi a parte tail -1 , mas consegui descobrir que $ 6 $ 7 $ 8 são as 6ª sétima oitava ocorrências da última linha que o comando está referenciando.

No entanto, percebi que o ano não pode ser incluído, pois o ano não foi exibido no comando ls -ltc .

Algumas pessoas sugeriram encontrar a data em que /etc foi criada e algumas verificando o /var/log/syslog etc. Achei que elas poderiam ser um pouco específicas para a distribuição.

Qual é a sua recomendação para uma maneira verdadeiramente independente de distro para encontrar a data de instalação do SO?

    
por Animesh 02.04.2012 / 20:47

2 respostas

8

Se a suposição é que você tem um sistema de arquivos ext {2,3,4}, e você formatou o sistema de arquivos raiz quando instalou o sistema operacional (e não fez atualizações de outro SO sem limpar), você pode usar dumpe2fs:

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

Eu não conheço nenhum método formal para isso.

O que sempre fiz foi:

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

Isso cria um arquivo chamado 'install-' seguido da data atual (se fosse executado hoje, seria install-2012-04-03) e o define como imutável, por isso não pode ser excluído por acidente.

Então é só uma questão de olhar para esse arquivo para ver quando o sistema operacional foi instalado.

    
por 03.04.2012 / 21:38

Tags