как узнать, как давно была установлена система linux?

<p>как узнать время с момента первой установки системы linux, если никто не пытался ее скрыть?</p>

<pre><code>tune2fs -l /dev/sda1 **or** /dev/sdb1* | grep 'filesystem created:' </code></pre><p>это скажет вам, когда была создана файловая система.</p><p>* = в первом столбце <code>df /</code> вы можете найти точный раздел для использования.</p>

<p>проверьте дату корневой файловой системы с помощью dumpe2fs. я не могу думать о том, как это может быть что-то кроме даты, которую вы ищете:</p><pre><code>dumpe2fs $(mount | grep 'on / ' | awk '{print $1}') | grep 'filesystem created:' </code></pre>

<p>есть несколько дат, лежащих вокруг.</p><ul> <li>все файлы имеют даты.</li> <li>в файлах журналов есть даты.</li> </ul><p>о debian или ubuntu и их производных см. <code>/var/log/installer/syslog</code> для окончательного ответа, если он существует, он является частью журнала закапывания.</p><p>но будьте осторожны, это не гарантировано. (см. другие ответы/комментарии по некоторым причинам, которые могут не работать.)</p>

<p>в дистрибутивах red hat (например, centos, scientific, oracle и т.д.) вы можете использовать:</p><pre><code>rpm -qi basesystem name : basesystem version : 10.0 release : 7.el7 architecture: noarch install date: mon 02 may 2016 19:20:58 bst group : system environment/base size : 0 license : public domain signature : rsa/sha256, tue 01 apr 2014 14:23:16 bst, key id 199e2f91fd431d51 source rpm : basesystem-10.0-7.el7.src.rpm build date : fri 27 dec 2013 17:22:15 gmt build host : ppc-015.build.eng.bos.redhat.com relocations : (not relocatable) packager : red hat, inc. <http://bugzilla.redhat.com/bugzilla> vendor : red hat, inc. summary : the skeleton package which defines a simple red hat enterprise linux system description : 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. </code></pre><p>или</p><pre><code>rpm -q basesystem --qf '%{installtime:date}\n' mon 02 may 2016 19:20:58 bst </code></pre>

<p>наиболее нейтральным решением для файловой системы и дистрибуции (которое я могу придумать) является использование самого старого файла, заданного <code>ls -lact /etc</code>, который просматривает метаданные каждого файла на время создания. хотя это может быть изменено, на него не влияют <code>touch</code> или файлы, созданные путем извлечения архивов (например, <code>tar -p</code> для сохранения временных отметок).</p><p>я думаю, что лучше смотреть на файлы, чем на каталоги, так как каталоги <em> действительно </em> изменяют свои метаданные времени создания при изменении их содержимого (возможно, кто-то может пролить свет на то, почему это является?)</p><pre><code>ls -lact --full-time /etc |tail </code></pre><p>системы, в которых отсутствует <a href="https://www.gnu.org/software/coreutils/coreutils.html">gnu coreutils</a> , должны удалить параметр <code>--full-time</code> (порядок сортировки все равно будет правильным, и вы все равно получите день). вы можете получить время создания из метаданных файла с помощью <code>stat file |grep change</code> (запустите его для самого старого файла, указанного в <code>ls -lact</code>).</p><p>в других системах, отличных от linux, <code>stat</code>, вероятно, содержит эту информацию в несколько ином порядке, возможно, требующем других флагов. обратите внимание, что при этом все еще используются метаданные файла, и точность не гарантируется.</p><p>также обратите внимание, что <code>stat</code> from gnu coreutils имеет время "рождения", которое имеет тенденцию быть неправильным (linux с <a href="https://en.wikipedia.org/wiki/ext4">ext4</a> возвращает <code>0</code> в указывает, что это неизвестно, freebsd с <a href="https://en.wikipedia.org/wiki/unix\_file\_system"> ufs </a> показал время "рождения" старше, чем система, которую я запрашивал). правильное значение было указано как "изменение" время.</p><p>если вы хотите получить фантазию и получить <em> просто </em> время создания самого старого файла in<code>/etc</code>:</p><pre><code>ls -lact --full-time /etc |awk 'end {print $6,$7,$8}' эта команда работала для меня в старой системе freebsd (ufs, нет gnu utils):stat "/etc/$(ls -act /etc |tail -1)" |awk -f\" '{print $6}' (да, это анализирует ls, и это табу, но в /etc не должно быть файлов с вредными именами.)вы также можете использовать stat для получения других форматов времени. например, чтобы получить время создания в <a href="https://en.wikipedia.org/wiki/unix_time">nix epoch : stat -c %z file (с gnu, обратите внимание, что %z - это "время последнего изменения статуса", но это правильный флаг для моего системы linux и bsd, как отмечено выше; %w - "время рождения файла") или stat -f %c file (с bsd).

в fedora установщик anaconda хранит детали конфигурации вашей установки в домашней папке root, что может дать вам некоторое представление.в debian (по крайней мере, более поздние) несколько журналов установки установлены в /var/log/installer/. старые версии хранили их в /var/log/installer.. по крайней мере, в 2003 году.

по просьбе оп.если вы ищете время, когда система была настроена, нет способа определить это. с одной стороны, система могла быть клонирована (не установлена), что фактически подделало бы время создания файла.вы можете оценить возраст путем поиска самых старых файлов.

я искал подобный инструмент, и лучшее, что я мог придумать, было ls -lahf /etc/hostname, просто возраст файла имени хоста. я думаю, в общем, имя хоста системы задается в начале и остается неизменным в течение срока службы системы. дата создания файловой системы весьма полезна, но может вводить в заблуждение. я, например, часто использую образ виртуальных машин, который я установил некоторое время назад, копирую его, меняю имя хоста и создаю из него новый сервер. поэтому в моем случае /etc/hostname лучше, чем tune2fs -l /dev/sda1

я смотрю на самый старый файл в/boot (в верхней части "ls -ltr/boot". часто там находится оригинальный загрузочный сектор после первой установки. в моей самой старой системе это дает дату первоначальной установки, несмотря на то, что заменил все в машина и скопировала содержимое файловой системы несколько раз :)

ls -alct /|tail -1|awk '{print $6, $7, $8}' </code></pre>

<p>если вы использовали lvm во время установки, вы можете проверить дату создания логического тома, сделанного в день установки, например:</p><pre><code>$ sudo lvdisplay /dev/mapper/kubuntu\_vg-rootfs | grep creation lv creation host, time kubuntu, 2014-12-28 20:52:15 +0100 </code></pre>

<p><code>ls -alct /root</code> -> корневой домашний каталог создается во время установки</p>

<p>пожалуйста, запустите следующее:</p><ol> <li>rpm -qa | базовая система grep</li> </ol><p>а затем используйте команду ниже.</p><ol start="2"> <li>rpm -qi (результат первой команды)</li> </ol>

<p>работа с виртуальными машинами, некоторые файловые системы и т.д. были созданы при создании образа, может быть задолго до создания экземпляра.</p><p>отметка времени на <code>/etc/locale.conf</code> кажется измененным, когда экземпляр загружается во время создания экземпляра. это может быть хорошим временем для использования, если локаль не будет изменена позже.</p><p><code>/etc/hostname</code> похож, за исключением того, что мы модифицируем его в определенных ситуациях.</p><p>любая идея относительно других файлов, которые изменяются, когда экземпляр создается, но не изменяется после этого?</p>

<p>некоторое время назад я обычно устанавливаю в то же время, когда linux-дистрибутив распространяет пакет <strong> tuptime </strong>, который хранит полезную статистику о времени работы, стартапах, остановы ...</p><p>по вашим вопросам в строке "системная жизнь" есть эта информация. как пример:</p><pre><code>system startups: 110 since 10:15:27 08/08/15 system shutdowns: 107 ok - 2 bad system uptime: 4.04 % - 1 days, 22 hours, 4 minutes and 44 seconds system downtime: 95.96 % - 45 days, 13 hours, 57 minutes and 30 seconds system life: 47 days, 12 hours, 2 minutes and 15 seconds largest uptime: 2 hours, 10 minutes and 44 seconds from 20:49:17 09/08/15 shortest uptime: 9 seconds from 10:23:36 08/08/15 average uptime: 25 minutes and 8 seconds largest downtime: 7 days, 10 hours, 17 minutes and 26 seconds from 06:09:45 10/08/15 shortest downtime: 15 seconds from 19:27:24 19/09/15 average downtime: 9 hours, 56 minutes and 42 seconds current uptime: 23 minutes and 33 seconds since 21:54:09 24/09/15 </code></pre><p>дополнительная информация: <a href="https://github.com/rfrail3/tuptime/">https://github.com/rfrail3/tuptime/</a> </p>

<p>это еще один способ</p><pre><code># rpm -q -last basesystem basesystem-10.0-7.el7.noarch tue 11 jul 2017 03:57:52 pm utc </code></pre>