Какой дистрибутив-независимый способ определить дату установки ОС?

Какой дистрибутив-независимый способ определить дату установки ОС?

Я работаю на машине CrunchBang и пытаюсь написать скрипт, который должен использовать дату установки ОС в качестве ссылки.

Я поискал и нашел эту команду:

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

Он печатает

Mar 31 21:24

Я не понял эту tail -1часть, но смог выяснить, что $6, $7, $8 — это 6-е, 7-е и 8-е вхождения последней строки, на которую ссылается команда.

Однако я понял, что год включить нельзя, поскольку он не отображается в ls -ltcкоманде.

Некоторые предлагали найти дату /etcсоздания, а некоторые — проверить /var/log/syslogи т. д. Я подумал, что это может быть немного специфично для дистрибутива.

Какой способ определения даты установки ОС вы бы рекомендовали, действительно независимый от дистрибутива?

решение1

Если предполагается, что у вас файловая система ext{2,3,4}, и вы отформатировали корневую файловую систему при установке ОС (и не выполняли обновления с другой ОС без стирания), вы можете использовать dumpe2fs:

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

решение2

Я не знаю ни одного формального метода для этого.

Я всегда делал следующее:

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

Это создает файл с именем «install-», за которым следует текущая дата (если запустить его сегодня, то это будет install-2012-04-03), и делает его неизменяемым, чтобы его нельзя было удалить случайно.

Тогда достаточно просто посмотреть этот файл, чтобы узнать, когда была установлена ​​ОС.

Связанный контент