Qual é uma maneira independente de distribuição determinar a data de instalação do sistema operacional?

Qual é uma maneira independente de distribuição determinar a data de instalação do sistema operacional?

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

Procurei e encontrei este comando:

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

Ele imprime

Mar 31 21:24

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

Porém, percebi que o ano não pode ser incluído porque o ano não foi exibido no ls -ltccomando.

Algumas pessoas sugeriram encontrar a data /etcde criação e outras verificar /var/log/syslogetc. Achei que isso poderia ser um pouco específico para a distro.

Qual é a sua recomendação para uma maneira verdadeiramente independente de distribuição de encontrar a data de instalação do sistema operacional?

Responder1

Se a suposição é que você tem um sistema de arquivos ext{2,3,4} e formatou o sistema de arquivos raiz quando instalou o sistema operacional (e não fez atualizações de outro sistema operacional 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

Responder2

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 pela data atual (se executado hoje seria install-2012-04-03) e o define como imutável, para que não possa ser excluído acidentalmente.

Depois é só olhar aquele arquivo para ver quando o sistema operacional foi instalado.

informação relacionada