В этой статье будет рассмотрено несколько способов, как можно узнать дату установки операционной системы Linux. Но начнём мы с размышления о том, что считать датой установки ОС?
Что считать датой установки Linux
Казалось бы, вопрос и ответ на него совсем простые — дата установки, это тот день, когда с установочного диска или флешки были скопированы файлы операционной системы.
Но если было сделано большое обновление ОС, то есть переход между мажорными версиями, это можно считать датой установки текущей ОС? Такое обновление можно выполнить как с помощью обновления пакетов, так и с помощью установочного диска (например, Tails обновляется только таким образом).
Если за дату установки брать возраст старейшего файла в ОС, то можно столкнуться со следующей ситуацией: в свежеустановленную систему монтируется домашняя папка пользователя, созданная и используемая намного раньше, с другими (предыдущими версиями) ОС — считать ли дату установки по старейшей части ОС (домашней папке пользователя) или по дате копирования файлов новой ОС?
Можно предположить, что ключевым элементом является корневая файловая система и нужно смотреть дату её создания. В целом, обычно многие соглашаются, что именно дату создания корневой файловой системы нужно считать за дату установки ОС, но возможные следующие ситуации:
- выполнено изменение или преобразование файловой системы уже после установки ОС
- клонированная файловая система могла быть перенесена на другой диск
В общем, есть нюансы о которых нужно помнить, но большинства пользователей они не касаются.
1. Дата создания файловой системы
Чтобы узнать дату создания файловой системы выполните команду:
tune2fs -l `df / | grep '/' | awk '{ print $1 }'` | grep 'Filesystem created:'
Пример вывода:
Filesystem created: Wed Aug 1 19:40:20 2018
То есть операционная система была установлена 1 августа 2018 года.
Ещё одна команда, которая покажет дату создания файловой системы в Linux:
dumpe2fs $(mount | grep 'on / ' | awk '{print $1}') | grep 'Filesystem created:'
Рекомендуется также ознакомиться со статьёй «Как узнать, когда была создана файловая система ext4/ext3/ext2 и когда она была последний раз смонтирована», в ней вы узнаете, как узнать сколько всего раз была смонтирована файловая система, сколько всего на неё было записано данных, дату последней записи и другую интересную информацию.
2. Возраст самых старых файлов в ОС
Наиболее нейтральным для файловой системы и распространённым решением является использование самого старого файла, найденного с помощью команды «ls -lact /etc», которая проверяет метаданные каждого файла на время создания. На этот метод не влияет команда touch или файлы, созданные путём извлечения архивов (например, tar -p для сохранения временных меток).
Время создания самого старого файла в Linux можно узнать следующей командой:
ls -lact --full-time /etc | tail
Результаты данного метода согласуются с предыдущими данными — 1 августа 2018 года.
Если вы хотите получить только время создания самого старого файла в /etc:
ls -lact --full-time /etc | awk 'END {print $6,$7,$8}'
Следующая команда предложена пользователем Vlad в комментарии, она выведет дату и время создания первого файла в привычном формате:
ls -ctl --time-style +"%H:%M:%S %d.%m.%Y" /etc | awk 'END{print $6, $7}'
3. Возраст корневой директории
Метод подсказан пользователем redking.
Возраст самого старого файла (всё есть файл) в корне можно посмотреть по самому корню:
stat / | tail -1
Связанные статьи:
- Systemd изменит работу вашего домашнего каталога Linux (50.8%)
- Как проверить использование памяти на Linux (50%)
- Как закрыть терминал без убийства запущенной в нём команды (50%)
- Решение проблемы gnome-keyring-daemon не отвечает в Linux Mint и не даёт выключить компьютер (50%)
- Как в Linux Mint 18 включить автоматический вход в систему (50%)
- Bluetooth при включении постоянно просит ввести пароль (РЕШЕНО) (RANDOM - 50%)
Спасибо, полезно. Команда для ф.с. потребовала ввода с sudo.
можно и по короче записать нахождение корневого блочного устройства используя вместо трех команд одну:
заменив:
или
на
Приветствую! Спасибо за подсказку — действительно так удобнее.
Не хватает даты по логам…
У меня копия системы… Неизвестно через что прошедшая…
Не помню в какие логи смотреть…
ls -ctl --time-style +"%H:%M:%S %d.%m.%Y" /etc | awk 'END{print $6, $7}'
Приветствую! Спасибо за дополнение — добавил в статью.
да не должно вроде, возможно вы путаете с другими параметрами, такими как - доступ, модификация или изменение; дата создания даже при перемещении(mv) каталога не меняется. Есть параметры для ext4 в fstab как то
noatime и nodiratime но они влияют тока на время доступа. Поэтому возраст самого старого файла(всё есть файл) в корне можно посмотреть по самому корню:
stat / | tail -1
Приветствую! Вы, как всегда, правы. Я перепутал с датой модификация или изменения или с выводом ls -l.