Назад | Перейти на главную страницу

Как определить «возраст» Linux-системы с момента установки?

Я думал, что могу легко проверить временные метки определенных файлов. Потом я понял, что это будет не так просто, когда увидел отметки времени вроде 1991.

Вероятно, самый простой способ (при условии, что sda1 - это ваш / root /):

tune2fs -l / dev / sda1 | grep создан

Это должно показать вам дату создания файловой системы. Подтверждено, что работает с ext2 до ext4, не уверен в других файловых системах!

Один из механизмов, который я часто использую, - это проверка времени изменения (ctime) файлов в корневом домашнем каталоге. Поскольку /root домашний каталог создается во время установки и часто используется редко, это может дать относительно хорошее приближение. Как пояснил Кайл в комментариях, поскольку ctime относится к inode, а не к данным, изменение содержимого файла не изменит ctime.

По умолчанию ls команда выводит время модификации (mtime) файла. Итак, если заменить в опции ctime вот так,

ls -alct /root

Это распечатает все файлы, отобразит время создания и отсортирует по времени.

В качестве примера приведены 3 самых старых файла в /root каталог из одной из моих систем.

ls -alt install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root 10238 Feb 18  2010 install.log.syslog
-rw-r--r--. 1 root   129 Dec  3  2004 .tcshrc
-rw-r--r--. 1 root   100 Sep 22  2004 .cshrc

А затем, проверив время изменения

ls -alct install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root   100 Feb 18  2010 .cshrc
-rw-r--r--. 1 root 10238 Feb 18  2010 install.log.syslog
-rw-r--r--. 1 root   129 Feb 18  2010 .tcshrc

Дата 18 февраля 2010 года, безусловно, соответствует приблизительному времени, когда я впервые установил эту систему.

пытаться

ls -alp /etc/ssh/ssh_host_dsa_key.pub | cut -d " " -f6

ключи генерируются при установке ОС.

Было бы неплохо проверить оборудование, если у вас есть к нему доступ. Вы можете осмотреть систему и / или компоненты оборудования, чтобы понять, когда она была собрана.

В качестве альтернативы, если вы можете получить доступ к экрану BIOS, там часто есть информация о дате, которую можно использовать для определения возраста машины.

Если вы можете получить доступ к информации SMART на жестком диске (smartctl -a /dev/sda) там может быть что-то такое. Я не вижу конкретной отметки времени в SMART, но есть как минимум счетчик часов использования. Это обеспечит нижнюю границу возраста машины (поскольку, если жесткий диск проработал 100 часов, система не может быть моложе 100 часов).

Что касается проверок файловой системы, вы можете посмотреть информацию о дате для /lost+found - этот каталог был создан при создании файловой системы. Дата на нем должна соответствовать информации tunefs из предыдущего ответа.

С RedHat и производными довольно легко получить общее представление о версии / годе выпуска ОС по комбинации возраста файлов и других системных файлов. Я обычно проверяю /root/anaconda-ks.cfg файл, так как он содержит начальную настройку сервера и параметры пакета. Иногда uname -a будет иметь хорошую информацию о дате сборки ядра. Также будет кластер файлов с той же датой в /etc; обычно ссылки rcx.d, сценарии rc, inittab и т. д.

Это также работает для систем Red Hat:

rpm -qi basesystem | grep "Install Date"