Linux get install date

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

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

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

а в убунте покажи как

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

]$ debugfs debugfs 1.42.9 (4-Feb-2014)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я как бы согласен.

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

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

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

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

Читайте также:  Не удалось изменить пароль windows

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

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

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

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

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

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

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

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

Ещё можно: uname -m.

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

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

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

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

PGP-подписи добавили не так давно. Лет пять назад.

Источник

How to check Linux Operating System (OS) installation Date And Time

Are you curious to check when the Linux Operating System (OS) was installed on your machine ?

It could be for various reasons. Recently I had a requirement to find out this information.

We need to decommission few of our servers which we built long time back for different project requirements.

Due to some reason those projects didn’t happen but we would like to know when it was built before proceeding the decommission.

However, these commands were not worked for me because the server was built from a template.

Make a note, if you install an operating system from template then it will show you only the template built date and not the actual OS installed date.

If the machine was not installed from template then it will work as expected.

There are three standard ways that we can check this. Let us see one by one.

Also, rpm based systems has their own commands to check this, I will include those as well.

  • tune2fs Command: adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems.
  • dumpe2fs Command: dump ext2/ext3/ext4 filesystem information.
  • ls Command: ls command is used to list the directory contents.
  • basesystem Command: dump ext2/ext3/ext4 filesystem information.
  • setup Command: The setup package contains a set of important system configurations and setup files, such as passwd, group, and profile.
  • setuptool Command: Setuptool is a user-friendly text mode menu utility which allows you to access all of the text mode configuration programs included in the operating system distribution.

Method-1: To Find Out Linux Operating System (OS) Installation Date And Time Using tune2fs Command

The tune2fs command allows the system administrator to adjust various tunable filesystem parameters on Linux ext2, ext3, or ext4 filesystems.

  • First we need to identify the device name of the / partition. It can be done in many ways but i prefer to go with df Command.
Читайте также:  Можно ли разбить при жесткий диск при установке windows 10

# df -P / Filesystem 1024-blocks Used Available Capacity Mounted on /dev/mapper/vg_2daygeek-lv_root 27228028 5319516 21630588 20% /

  • Then run the tune2fs command to find out Linux Operating System (OS) Installation Date And Time.
  • Use the following combination to check Linux Operating System (OS) Installation Date And Time in single command.

Method-2: To Find Out Linux Operating System (OS) Installation Date And Time Using dumpe2fs Command

The dumpe2fs prints the super block and blocks group information for the filesystem present on device.

  • First we need to identify the device name of the / partition.
  • Then run the tune2fs command to find out Linux Operating System (OS) Installation Date And Time.
  • Use the following combination to check Linux Operating System (OS) Installation Date And Time in single command.

Method-3: To Find Out Linux Operating System (OS) Installation Date And Time Using ls Command

ls command is used to list the directory contents. It’s a very basic command, which is most frequently used by Linux administrator.

The following combinations will help you to check Linux Operating System (OS) Installation Date And Time.

Method-4 : To Find Out Linux Operating System (OS) Installation Date And Time Using basesystem Command?

(It Works only on RPM Based Systems)

Basesystem defines the components of a basic Red Hat Enterprise Linux system (for example, the package installation order to use during bootstrapping). Basesystem should be in every installation of a system, and it should never be removed.

  • If you would like to print only date and time use the following format.

Method-5 : To Find Out Linux Operating System (OS) Installation Date And Time Using setup Command

(It Works only on RPM Based Systems)

The setup package contains a set of important system configuration and setup files, such as passwd, group, and profile.

  • If you would like to print only date and time use the following format.

Method-6: To Find Out Linux Operating System (OS) Installation Date And Time Using setuptool Command

(It Works only on RPM Based Systems)

Setuptool is a user-friendly text mode menu utility which allows you to access all of the text mode configuration programs included in the operating system distribution.

If you would like to print only date and time use the following format.

Источник

Команда date в Linux

Главное свойство утилит GNU/Linux — делать что-то одно, но эффективно. Яркий пример — команда date Linux, работающая с датой и временем. С её помощью можно извлекать любую дату в разнообразном формате, в том числе и рассчитывать прошлое и будущее время. Привилегированные пользователи могут перезаписывать системное время, используя её.

Утилита предустановлена во всех дистрибутивах GNU/Linux. В этой статье будут рассмотрены возможности date и способы применения этой команды.

Синтаксис команды date

Программа может выполнятся от имени обычного пользователя. Стандартный синтаксис команды (квадратные скобки обозначают необязательное наличие):

Читайте также:  Как удалить операционную систему полностью с компьютера windows 10

date [ ОПЦИИ ] . [ +ФОРМАТ ]

Ниже представлена таблица с часто применяемыми опциями для date.

Опция Длинный вариант Значение
-d STRING —date=STRING Вывод даты по указанной строке (например ‘yesterday’, ‘tomorrow’, ‘last monday’).
-I —iso-8601[=FMT] Вывод даты в формате ISO 8601. FMT по умолчанию содержит ‘date’. Также может содержать ‘hourse’, ‘minutes’, ‘seconds’, ‘ns’ для отображения соответствующих значений и часовой пояс относительно UTC рядом с датой.
—rfc-3339=FMT Вывод даты в формате RFC 3339. FMT по умолчанию содержит ‘date’. Также может содержать ‘seconds’ и ‘ns’ для отображения секунд или наносекунд.
-r FILE —reference=FILE Вывод даты последней модификации указанного файла в формате по умолчанию.
-u —utc Вывод UTC-даты

Аргумент ФОРМАТ отвечает за форматирование вывода даты. Для его указания необходимо поставить знак «+» и написать нужную маску. Наиболее популярные форматы:

Формат Значение
%% Знак процента
%a День недели текущей локали в короткой форме («Чтв»)
%A День недели текущей локали в длинной форме («Четверг»)
%b Месяц года текущей локали в короткой форме в родительном падеже («янв»)
%B Месяц года текущей локали в длинной форме в родительном падеже («января»)
%c Дата и время текущей локали без указания часового пояса
Первые две цифры текущего года
%d Числовой день месяца с ведущим нулём
%D Дата в формате %m/%d/%y
%e День месяца; аналог %_d
%F Дата в формате %Y-%m-%d
%h Аналог %b
%H Часы (00..23)
%I Часы (01..12)
%j День года (001..366)
%m Месяц (01..12)
%M Минуты (00..59)
%n Новая строка
%q Квартал года
%S Секунды (00..59)
%t Знак табуляции
%T Время в формате %H:%M:%S
%u Числовой день недели; 1 — понедельник
%x Дата в локальном формате
%X Время в локальном формате
%Z Аббревиатура временной зоны

Примеры использования date

Введем команду без параметров.

Будет отображена текущая дата и время в соответствии с настройками локали системы.

Команда date без параметров по умолчанию применяет маску %a %b %d %X %Z. Поскольку все форматы должны быть переданы как один параметр (из-за принципа обработки данных командным интерпретатором Bash), пробелы между ними необходимо экранировать обратным слэшем (\) или взять в кавычки.

Особое внимание следует уделить параметру -d (—date). Его функциональность не слишком очевидна, но при этом наиболее обширна.

Пример 1. Вычисление даты по числу секунд, прошедших с 1 января 1970 года.

Пример 2. Вычисление даты и времени следующего понедельника при указании часового пояса Нью-Йорка в 03:00.

date —date=’TZ=»America/New_York» 03:00 next mon’

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

Пример 3. Если текущий день месяца — последний, сформировать отчет о занятости дискового пространства корневого и домашнего каталога в файл report.

#!/bin/bash
if [[ $(date —date=’next day’ +%d) = ’01’ ]]; then
df -h / /home > report

Такой скрипт можно использовать для автоматизации работы с помощью демона crontab или anacron.

Выводы

Команда date Linux является эффективным инструментом работы с датой и временем, с широкой возможностью их расчёта для прошедших или будущих показателей. Также она применяется в написании сценариев в командном интерпретаторе Bash.

Источник

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