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 -1
parte, 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 -ltc
comando.
Algumas pessoas sugeriram encontrar a data /etc
de criação e outras verificar /var/log/syslog
etc. 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.