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

Инструкция как можно узнать дату установки Linux

В этой статье будет рассмотрено несколько способов, как можно узнать дату установки операционной системы Linux. Но начнём мы с размышления о том, что считать датой установки ОС?

Что считать датой установки Linux

Казалось бы, вопрос и ответ на него совсем простые — дата установки, это тот день, когда с установочного диска или флешки были скопированы файлы операционной системы.

Но если было сделано большое обновление ОС, то есть переход между мажорными версиями, это можно считать датой установки текущей ОС? Такое обновление можно выполнить как с помощью обновления пакетов, так и с помощью установочного диска (например, Tails обновляется только таким образом).

Если за дату установки брать возраст старейшего файла в ОС, то можно столкнуться со следующей ситуацией: в свежеустановленную систему монтируется домашняя папка пользователя, созданная и используемая намного раньше, с другими (предыдущими версиями) ОС — считать ли дату установки по старейшей части ОС (домашней папке пользователя) или по дате копирования файлов новой ОС?

Можно предположить, что ключевым элементом является корневая файловая система и нужно смотреть дату её создания. В целом, обычно многие соглашаются, что именно дату создания корневой файловой системы нужно считать за дату установки ОС, но возможные следующие ситуации:

  • выполнено изменение или преобразование файловой системы уже после установки ОС
  • клонированная файловая система могла быть перенесена на другой диск

В общем, есть нюансы о которых нужно помнить, но большинства пользователей они не касаются.

Дата создания файловой системы

Чтобы узнать дату создания файловой системы выполните команду:

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 ») | grep ‘Filesystem created:’

Возраст самых старых файлов в ОС

Наиболее нейтральным для файловой системы и распространения решением является использование самого старого файла, найденного с помощью команды «ls -lact /etc», которая проверяет метаданные каждого файла на время создания. На этот метод не влияет команда touch или файлы, созданные путём извлечения архивов (например, tar -p для сохранения временных меток).

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

ls -lact —full-time /etc | tail

Результаты данного метода согласуются с предыдущими данными — 1 августа 2018 года.

Если вы хотите получить только время создания самого старого файла в /etc:

Читайте также:  Docker windows контейнер linux

ls -lact —full-time /etc | awk ‘END ‘

Источник

Как узнать точную дату установки моей системы?

Я пробовал разные способы, и они выдают разные результаты. Какой способ лучше для вас?

ls -ld /lost+found drwx------ 2 root root 16384 Jun 6 2012 /lost+found
dumpe2fs $(mount | grep 'on \/ ' | awk '') | grep 'Filesystem created:' dumpe2fs 1.42.12 (29-Aug-2014) Filesystem created: Wed Jun 6 21:27:39 2012
tune2fs -l /dev/sda1 | grep 'Filesystem created:' Filesystem created: Fri Nov 1 23:34:38 2013 

это тебе не убунта, ишь чего захотел!

мне кажется это может сработать:

$ head /var/log/pacman.log [2013-06-11 07:47] [PACMAN] Running 'pacman -r /mnt -Sy --cachedir=/mnt/var/cache/pacman/pkg --noconfirm base' [2013-06-11 07:47] [PACMAN] synchronizing package lists [2013-06-11 07:48] [PACMAN] Running 'pacman -r /mnt -Sy --cachedir=/mnt/var/cache/pacman/pkg --noconfirm base' [2013-06-11 07:48] [PACMAN] synchronizing package lists [2013-06-11 08:01] [PACMAN] Running 'pacman -r /mnt -Sy --cachedir=/mnt/var/cache/pacman/pkg --noconfirm base' [2013-06-11 08:01] [PACMAN] synchronizing package lists [2013-06-11 08:06] [PACMAN] installed linux-api-headers (3.8.4-1) [2013-06-11 08:06] [PACMAN] installed tzdata (2013c-1) [2013-06-11 08:06] [PACMAN] installed iana-etc (2.30-3) [2013-06-11 08:06] [PACMAN] installed filesystem (2013.05-2) 

[root@idv-pc ~]$ debugfs debugfs 1.42.9 (4-Feb-2014)

Вчера утром поставил систему

head /var/log/pacman.log [2012-06-06 21:31] installed filesystem (2011.08-1) [2012-06-06 21:31] installed util-linux (2.19.1-3) [2012-06-06 21:31] installed libusb (1.0.8-1) [2012-06-06 21:31] installed libusb-compat (0.1.3-1) [2012-06-06 21:31] installed pcre (8.13-1) [2012-06-06 21:31] installed glib2 (2.28.8-1) [2012-06-06 21:31] installed module-init-tools (3.16-1) [2012-06-06 21:31] installed pciutils (3.1.7-4) [2012-06-06 21:31] installed udev (173-3) [2012-06-06 21:31] installed device-mapper (2.02.87-1) 

stat -c %y /etc/issue 2007-04-05 14:18:42.000000000 +0300

sed -n 1p /var/log/pacman.log | awk »

Время сборки пакета (в моем случае fedora-release-21-2.noarch)

stat -c %y /etc/issue 2015-02-15 23:57:57.000000000 +0200

Если при установке был отформатирован корневой раздел, то

Можно сделать аналогично с любым другим примонтированным разделом. Или можно потыкать специфическими для ФС тулзами, быть может более точно/достоверно получится узнать.

$ stat / File: ‘/’ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 801h/2049d Inode: 2 Links: 26 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2015-05-18 20:55:15.960000101 +0300 Modify: 2015-05-14 22:49:03.968545899 +0300 Change: 2015-05-14 22:49:03.968545899 +0300 Birth: - 

Debian, ставил на отформатированный раздел в 2013 г. — никакой информации об этом не вижу 🙁

Да, я не подумал, что это не прокатит, если в корне появлялись новые файлы.

Тогда только как-то так (для ext*):

# tune2fs -l /dev/heater/root | grep -i created Filesystem created: Mon Nov 29 20:30:38 2010 

Deleted ( 19.05.15 23:23:58 MSK )
Последнее исправление: Deleted 19.05.15 23:24:24 MSK (всего исправлений: 1)

Мне помогло такое (нагуглил):

# tune2fs -l /dev/sda1 | grep 'Filesystem created:' Filesystem created: Sun Sep 15 02:37:03 2013

, что похоже на правду и совпадает с датой создания /boot/grub/device.map. Файла «/dev/heater/root» у меня нет. Но это пашет только для файловых систем ext.

grem ★★★★★ ( 19.05.15 23:33:42 MSK )
Последнее исправление: grem 19.05.15 23:34:40 MSK (всего исправлений: 1)

Ну это логично, так как я просто привёл пример со своей системы, где есть VG «heater» и LV «root» на нём =).

Читайте также:  Renaming folder on linux

Ещё есть более общий вариант

$ ls -ld /var/log/installer drwxr-xr-x 3 root root 4096 Sep 15 2013 /var/log/installer 

grem ★★★★★ ( 19.05.15 23:39:48 MSK )
Последнее исправление: grem 19.05.15 23:40:27 MSK (всего исправлений: 1)

Это зависит от дистрибутива. В Fedora и RHEL/CentOS/etc. этого файла нет. Зато там может быть что-нибудь другое аналогичное.

Может у вас корень не на /dev/sda1 и поэтому tune2fs показывает другую дату.

На ext4 есть время создания файла (показывается с помощью debugfs), можно смотреть когда были создан каталог /bin или ещё какой.

Тут ещё зависит от того что понимать под «установкой системы».

cat /var/log/emerge.log |head -1 1195251764: Started emerge on: Nov 16, 2007 22:22:44

alfix ★ ( 20.05.15 00:10:42 MSK )
Последнее исправление: alfix 20.05.15 00:11:31 MSK (всего исправлений: 2)

Ответ на этот вопрос зависит от того, что понимается под установкой ОС. Я вот не знаю, что под этим термином понимать.

Это, очевидно, и не форматирование корневого раздела, и не время модификации самого древнего файла (особенно в случае роллинг-релизного арча).

Если ты хранишь логи (в частности, /var/log/pacman.log) с момента установки — то, наверное, таймстамп самой первой в нём записи.

$ ls -ld /lost+found drwx------ 2 root root 16384 дек 21 2011 /lost+found $ dumpe2fs $(mount | grep 'on \/ ' | awk '') | grep 'Filesystem created:' dumpe2fs 1.42.12 (29-Aug-2014) Filesystem created: Thu Dec 26 16:26:20 2013 $ tune2fs -l /dev/sda1 | grep 'Filesystem created:' Filesystem created: Sun Aug 15 11:58:27 2010 

И при этом все ответы неправильные.

таймстамп самой первой в нём записи

Это если во время установки часы шли верно.

В общем случае правильный ответ — наверняка не узнать никак.

А если они будут идти неправильно, PGP-подписи пакетов не смогут провериться.

В общем случае правильный ответ — наверняка не узнать никак.

наверное, так же, как и в дебиане — посмотреть логи и ансверфайл инсталлера

tune2fs -l /dev/sda1 | grep «Filesystem created»

Покажет дату создания ФС на разделе sda1(/boot в моем случае), ее можно считать датой установки ОС.

Filesystem created: Fri Dec 12 15:24:37 2014

Покажет дату создания ФС на разделе sda1(/boot в моем случае), ее можно считать датой установки ОС.

Это если не менял диск. Я вот, например, с HDD переносил на SSD, и соответственно:

[10:47] ~ % sudo tune2fs -l /dev/sdb1 | grep "Filesystem created" Filesystem created: Tue Nov 26 19:06:02 2013 [10:47] ~ % head -1 /var/log/pacman.log [2011-06-03 21:26] installed filesystem (2010.02-4) 

Боюсь, общего случая, подходящего всем, нет. Важно, переносилась ли система на другой диск/раздел, удалялся ли (не знаю зачем, но вдруг) лог пакмана (в случае с арчем) и т.д.

Есть ещё один хороший вопрос:как не обращаясь к пакетному менеджеру
определить,к какой архитектуре относится система?

Есть ещё один хороший вопрос:как не обращаясь к пакетному менеджеру определить,к какой архитектуре относится система?

ну или любой другой бинарник, который точно есть в системе.

Ещё вариант ls /usr на предмет lib, lib32 и lib64. В 64-битных последнее будет симлинком на первое.

Читайте также:  Linux server proxy setup

Psych218 ★★★★★ ( 26.05.15 10:57:07 MSK )
Последнее исправление: Psych218 26.05.15 10:59:23 MSK (всего исправлений: 2)

Да ,действительно,хотя странно,что в названия ядер не включают тип архитектуры.

Это я путанник,я же тогда название версию дистрибутива искал.

torvn77 ★★★★★ ( 26.05.15 11:12:25 MSK )
Последнее исправление: torvn77 26.05.15 11:14:50 MSK (всего исправлений: 1)

А вот тут уже общего случае нет. В арче:

[11:14] ~ % cat /etc/os-release NAME="Arch Linux" ID=arch PRETTY_NAME="Arch Linux" ANSI_COLOR="0;36" HOME_URL="https://www.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://bugs.archlinux.org/" 

В других дистрах с systemd тоже. В дистрах без systemd может как быть такой файл, так и не быть.

Замечу, что /etc/os-release не является частью systemd, но systemd его требует для работы. Поэтому во всех дистрах с systemd он точно есть. В дистрах без systemd он скорее всего тоже есть/будет, потому что здесь вполне нормальных текстовы файл из пар ключ-значение. Не думаю, что кто-то будет против такого стандарта, рано или поздно все примут. Наверное единственное предложение Поттеринга, не вызывающее нареканий.

Psych218 ★★★★★ ( 26.05.15 11:16:20 MSK )
Последнее исправление: Psych218 26.05.15 11:22:30 MSK (всего исправлений: 2)

Источник

Как узнать возраст системы? (Дату установки Linux)

Для чего это может понадобиться? Ну, например, если вы не так давно стали использовать Linux в качестве своей основной ОС, то будет интересно узнать, а как давно вы это сделали и даже отметить некоторую веху, скажем, один месяц или три месяца, или полгода на Linux.
Также это будет полезно, если приходится разбираться с каким-либо другим компьютером/ноутбуком с ОС Linux.
В общем причины и потребности могут быть самые разные.
Перейдём же к тому, как это сделать.

Как узнать дату первоначальной установки Linux?

Способов (и команд) как это сделать существует достаточно много.
В этой статье я опишу несколько наиболее простых, удобных и востребованных способов.
И сразу скажу, что в качестве своей основной ОС я ставил Linux Mint 18.1 Serena x64 Mate . И сделал я это ещё 30-го января 2017-го года.
А в качестве тестовой ОС — Xubuntu 18.04.3 LTS Bionic Beaver . Её я ставил, разумеется, уже позже — 3-го сентября 2019-го года. Установил я Xubuntu не на виртуалку, а на физический жесткий диск для полноценной ежедневной работы и полнофункционального тестирования.
Соответственно, дальше я и буду приводить данные для этих двух систем.

Самый простой и быстрый способ — комнадой ls посмотреть дату создания файла hostname или hosts .
$ ls -l /etc/hostname
Стандартный вывод команды для нас будет не очень информативен, так как формат даты-времени по-умолчанию не отображает год. Гораздо более наглядно и информативно будет вывод команды с ключом —full-time:
$ ls -l —full-time /etc/hostname

Для Linux Mint пути будут несколько сложнее, поскольку он сейчас не загружен в качестве основной ОС, а его корневой раздел примонтирован в каталог /media текущей ОС — Xubuntu. Но суть от этого не меняется.

Более подробную информацию по всё тому же файлу hostname можно получить командой stat :
$ stat /etc/hostname

Источник

Оцените статью
Adblock
detector