zaLinux.ru

Как узнать дату установки Linux


В этой статье будет рассмотрено несколько способов, как можно узнать дату установки операционной системы 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


Рекомендуемые статьи:

8 Комментарии

  1. Валерий

    Спасибо, полезно. Команда для ф.с. потребовала ввода с sudo.

  2. redking

    можно и по короче записать нахождение корневого блочного устройства используя вместо трех команд одну:

    заменив:

    df / | grep '/' | awk '{ print $1 }'

    или

    mount | grep 'on \/ ' | awk '{print $1}'

    на

    findmnt -o SOURCE -n /
    
    1. Alexey (Автор записи)

      Приветствую! Спасибо за подсказку — действительно так удобнее.

  3. Не хватает даты по логам…

    У меня копия системы… Неизвестно через что прошедшая…

    Не помню в какие логи смотреть…

  4. Vlad

    ls -ctl --time-style +"%H:%M:%S %d.%m.%Y" /etc | awk 'END{print $6, $7}'

    1. Alexey (Автор записи)

      Приветствую! Спасибо за дополнение — добавил в статью.

  5. redking

    Я думаю, что лучше смотреть на файлы, а не на каталоги, поскольку каталоги меняют свои метаданные времени создания, когда изменяется их содержимое (возможно, кто-то может пролить свет на то, почему это так?)

    да не должно вроде, возможно вы путаете с другими параметрами, такими как - доступ, модификация или изменение; дата создания даже при перемещении(mv) каталога не меняется. Есть параметры для ext4 в fstab как то noatime и nodiratime но они влияют тока на время доступа. Поэтому возраст самого старого файла(всё есть файл) в корне можно посмотреть по самому корню:

    stat / | tail -1

     

    1. Alexey (Автор записи)

      Приветствую! Вы, как всегда, правы. Я перепутал с датой модификация или изменения или с выводом ls -l.

Добавить комментарий для redking Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *