Как я могу узнать, какая дата была установлена ​​Ubuntu?


Ответы:


104

Вы можете проверить журналы установщика и даты на:

/var/log/installer

Быстрый способ найти дату через командную строку - запустить

ls -lt /var/log/installer

Это список в обратном хронологическом порядке, так что самый старый файл находится внизу списка.


1
Этот файл не в моей системе Lucid.
Ричк

В моей системе у меня есть 7 файлов в / var / log / installer /. Я установил с 9.10, а позже обновил до 10.04.
Стефан Ласевский

У меня также есть эта папка в моей (недавно установленной) системе 10.04, и даты создания этих файлов дают мне дату установки. Например, файл / var / log / installer / media-info содержит информацию об установочном носителе, который использовался для установки.
Марсель Стимберг

1
На моей системе, которая была первоначально установлена ​​с 7.10, /var/log/installer/versionдата 2007-10-30, так что это кажется довольно надежным ...
JanC 21.10.10

9
Пастильный ответ может быть ls -ld /var/log/installer.
Джастин Форс

73

Если вы используете ext2 / ext3 / ext4 и отформатировали диск при установке, вы можете сделать этот изящный трюк.

sudo dumpe2fs /dev/sda1 | grep 'Filesystem created:'

Возможно, вам придется изменить, /dev/sda1чтобы отразить ваши настройки.

При ретрансляции даты файлов даже «время создания» (mtime) может выдавать ошибки, так как обновление пакетов могло заменить файл и создать новое «время создания».

Подобные инструменты и информация могут быть доступны и в других файловых системах, но я не знаю их.


Когда я делаю это, я получаю ошибкуdumpe2fs: Bad magic number in super-block while trying to open /dev/sda1
king_julien

@king_julien Вы уверены, что ваш / dev / sda1 является корневым разделом вашей системы? В вашей установке он может отличаться, фактически тип файловой системы может отличаться от того, который поддерживается dumpe2fs!
LassePoulsen

Спасибо, я понял это сейчас. Это было /dev/sda2. На /dev/sda1меня есть /boot/efi.
king_julien

2
Вы можете использовать более общую, но немного сложную команду: sudo dumpe2fs $ (mount | grep 'on /' | awk '{print $ 1}') | grep 'Файловая система создана:'
Арам Пароникян

2
Вы можете использовать эту -hопцию, чтобы, по крайней мере, получить информацию о суперблоке, которой должно быть более чем достаточно.
Алексис Уилке

6

единственная команда, которая работала для меня -

sudo ls -alct /|tail -1|awk '{print $6, $7, $8}'

3

Я также не знаю конкретной команды или файла. Я использую некоторые эвристики, чтобы найти дату установки:

for dir in {/etc,/usr,/lib}; do
  sudo find $dir -type f -exec stat -c %z {} \; | \
    sed -e 's,-,,g' -e 's, .*,,' | sort | uniq -c | sort -nr -k 2 | \ 
    grep -Ev " [0-9]?[0-9] "
done

Этот небольшой скрипт ищет файлы в /etcи /usrи распечатывает последнюю измененную дату. Он выполняет некоторое переформатирование и перечисляет события, отсортированные по дате (сначала самые новые). Обычно самая старая запись - это дата установки.

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


1
пробовал только на / etc (быстрее), дата была такой же, как и в решении dumpe2fs, так что для меня это сработало хорошо!
eik3

3

Если установка была недавней, посмотрите на самые старые записи в /var/log, но через несколько недель журналы будут смещены.

Другая вещь, на которую стоит обратить внимание, - это самое старое время ctime файла в корневой файловой системе; но если вся установка была скопирована (например, спасена с неисправного диска) на уровне дерева каталогов, это даст вам дату копии.

Если эвристика достаточно хороша, посмотрите на дату (mtime) файла, который был создан во время установки и вряд ли был изменен с тех пор. Хороший кандидат есть /etc/hostname; другие кандидаты /etc/hosts, /etc/papersize, /etc/popularity-contest.conf.


0

Я не думаю, что есть.

В Red Hat / CentOS есть файлы install.log, которые создаются при установке системы, но их нет в Ubuntu.

Предполагая, что ваши журналы уходят достаточно далеко (как у меня), вы можете определить дату выполнения базовой установки в /var/log/dpkg.log*

Например, в моей системе первые две строки моего самого старого файла dpkg.log (dpkg.log.4.gz)

2010-04-19 11:40:55 startup archives install
2010-04-19 11:40:55 install base-files <none> 5.0.0ubuntu18

Так что я установил эту систему 19/04/2010 в 11:40:55. Это правильно для этой системы.

Была также идея мозгового штурма добавить эту дату рождения.


Спасибо, Андол, спасибо, Ричард. /var/log/dpkg.log.1 в настольной системе lucid дал правильный ответ, поскольку /var/log/dpkg.log был единственным файлом в настройке lucid-сервера, который у меня был, поэтому потребовалась небольшая детективная работа. Некоторое дальнейшее понимание файлов журнала будет полезно.
lxtips

Настройка по умолчанию logrotateсбрасывает журналы dpkg старше одного года.
LassePoulsen

@ Source Lab: Да. Мой ответ не является надежным. Я не знал о каталоге / var / log / installer, но знаю сейчас. Это лучшее решение.
Ричард Холлоуэй

Я все еще думаю, что время создания файловой системы - лучший указатель здесь
LassePoulsen

0

Было бы просто (я могу ошибаться) просто проверить центр программного обеспечения, в то время как там нажмите на «историю» и прокрутите вниз до нижней части ваших установленных обновлений. Шахта показывает 23 апреля 2012 года первая установка. Что правильно, когда я начал использовать Ubuntu?


-1

Команда sudo grep ubiquity /var/log/installer/syslog | lessсработала для меня очень хорошо.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.