LINUX.ORG.RU

У меня вопрос. Как узнать дату установки программы?

 


0

1

Здравствуйте! У меня вопрос. А может, кто-нибудь подскажет, как узнать дату установки программы? Вот к примеру, как в Windows через «Revo Uninstaller» или через «Программы и компоненты». Я знаю, что есть менеджер пакетов «Synaptic», через который можно посмотреть, какие программы установлены, но там нет даты установки ( когда эта программа или пакет был установлен ). Также знаю, что есть такой менеджер пакетов «aptitude» ( графический пакетный менеджер APT ) в котором, также нет даты установки. Я пробовал, через /var/log ( через логи ). Я там находил даты установки, только установленных мною программ, коротко говоря программы, которые я сам устанавливал. А вот программы, которые к примеру изначально были установлены, их даты установки нет. Вот к примеру я не могу найти дату установки «Mozilla Firefox» она если, что была изначальна установлена ( просто, когда я устанавливал Ubuntu, то я в разделе установки «Какие приложения вы хотите установить для начала?» выбрал вариант «Обычная установка», тем самым браузер изначально был установлен ). Вот и не могу нигде найти дату установки браузера. PS. Честно говоря у меня просто коллега спросил: «как через терминал узнать дату установки программы определенной?». И я ему сразу посоветовал программу «Synaptic», а эта программа дату установки не выводит. Потом сам лазил по интернету и пытался узнать, как узнать дату установки программ. И так конкретного ответа не нашел. Вот и решил, после поисков обратиться сюда.

stat $(which firefox) | grep Birth
покажет, когда файл появился у тебя в системе (грубо говоря, произошла инсталляция программы)

ls -al $(which firefox)
показывает, когда был создан сам файл (эта цифра всегда старше, чем Birth)

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

d00fy ★★★
()
Последнее исправление: d00fy (всего исправлений: 2)
Ответ на: комментарий от xDShot

В этом смысле понятно, система устанавливалась и вместе с тем устанавливала программы и их дата установки будет, датой установки системы. Я конечно и так знаю, когда у меня установлен «Mozilla Firefox». Просто у меня задали вопрос, а я как-то сразу сказал «Synaptic» и все. Просто знаю, что там все есть. Вот, только даты нет. А потом во время поиска ответа, мне самому стало интересно, можно ли узнать дату. Причем во время поиска так и не находил определенного ответа. Как по мне «Synaptic» это аналог «Программы и компоненты».

kuban-10
() автор топика

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

firkax ★★★★★
()
Ответ на: комментарий от ex-kiev

Не в этом смысле понятно, просто взять посмотреть в «Synaptic», где расположены установленные файлы в программе и потом идти в эту директорию и смотреть, когда она создалась. Просто я так понял, что коллега хотел узнать, можно ли просто взять ввести программу и узнать, когда была создана программа, как в Windows ( еще раз приведу пример «Программы и компоненты» ). Или можно по другому высказаться взять ввести команду и узнать, когда была та или иная программа установлена. Просто, как по мне команда в linux это программа.

kuban-10
() автор топика
Ответ на: комментарий от d00fy

Огромное большое спасибо! Вот, только команда stat $(which firefox) | grep Birth не работает, пусто после нее. А вот команда ls -al $(which firefox) успешно работает. Ссылка на скриншот: https://ibb.co/Hqc740h

kuban-10
() автор топика

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

tune2fs -l /dev/sda1 | grep "Filesystem created"
Chord ★★★★
()

В Slackware дата установки/обновления пакета (при установке системы или позже) — дата модификации файла /var/log/packages/пакет. В /var/log/removed_packages/ можно посмотреть даты обновлений.

bormant ★★★★★
()
Ответ на: комментарий от kuban-10

Огромное большое спасибо! Вот, только команда stat $(which firefox) | grep Birth не работает, пусто после нее.

Все правильно, у тебя наверно вывод проги stat переведен на русский (как и у меня). Поэтому там нет строки «Birth».
Выполни команду без grep - там всего 8 строк. stat $(which firefox)

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 3)
Ответ на: комментарий от ex-kiev

По дате создания не совсем корректно. При обновлении программы файл будет заменен и дата обновлена. Т.е. это будет дата «установки» последней версии, а не изначальная дата.

В общем случае, нельзя достоверно узнать дату установки программы. По логам, это хорошо пока у тебя ротация или чистка не произошла(а кто хранит логи прямо годами?). По дате, тоже до первого переноса дистра на другой диск и фс. У меня гента установлена уже примерно 10 лет и я как-то захотел узнать дату установки. И не смог, т.к. логи за эти годы чистились много раз уже, дата создания файла тоже съехала, т.к. и диск менялся и файловая система. А какого-то файла в котором сохранялись бы даты нет.

Loki13 ★★★★★
()
$ ls -l /var/log/pacman.log 
-rw-r--r-- 1 root root 18342458 июн 29 14:11 /var/log/pacman.log
$ head /var/log/pacman.log
[2007-07-06 08:14] synchronizing package lists
[2007-07-06 08:15] starting full system upgrade
[2007-07-06 08:15] warning: no /var/cache/pacman/pkg/ cache exists, creating...
[2007-07-06 08:17] upgraded libarchive (1.3.1-2 -> 2.2.3-2)
greenman ★★★★★
()
Ответ на: комментарий от Kolins

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

в конкретном случае логи пакет-менеджера системы. там весь путь изменений пакетов программ прописан.

pfg ★★★★★
()
Ответ на: комментарий от pfg

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

Самый прямой путь - использование менеджера пакетов, который хранит дату установки пакета. Выше уже приводили пример - rpm хранит дату установки пакета в своей БД («Install Date:»).

sigurd ★★★★★
()

Вы хотите странное,потому что скорее всего делаете что-то странное. А судя по контексту, вы делаете что-то неправильно. Самое время сделать шаг назад и взгянуть на полную картину. Чего вы хотие достичь?

ugoday ★★★★★
()
Ответ на: комментарий от Loki13

По дате создания не совсем корректно. При обновлении программы файл будет заменен и дата обновлена. Т.е. это будет дата «установки» последней версии, а не изначальная дата.

Спасибо, я про это как-то не подумал.

И не смог, т.к. логи за эти годы чистились много раз уже, дата создания файла тоже съехала, т.к. и диск менялся и файловая система. А какого-то файла в котором сохранялись бы даты нет.

Логи очищались автоматически или вручную? С дисками современного размера логи можно хранить весь срок использования данной инсталляции ОС.

ex-kiev
()
Ответ на: комментарий от ex-kiev

Логи очищались автоматически или вручную? С дисками современного размера логи можно хранить весь срок использования данной инсталляции ОС.

Раньше диски были поменьше сильно и когда заканчивалось место в корне, я пару раз делал rm -rf /var/log/*

Да, это не правильно, но за 10 лет чего только не произойдет и разбираться кто там всё место в логах выжрал(а там и правда /var/log был десятки гигабайт на 100Гб корневом разделе) и удалять точечно было лень.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)

Вот так:

$ pamac info firefox
Название                    : firefox
Версия                      : 114.0.2-1
Описание                    : Standalone web browser from mozilla.org
Адрес                       : https://www.mozilla.org/firefox/
Лицензии                    : GPL LGPL MPL
Репозиторий                 : extra
Размер в установленном виде : 255,2 МБ
Группы                      : --
Зависит от                  : dbus-glib ffmpeg gtk3 libpulse libxss libxt mime-types nss ttf-font
Необязательные зависимости  : hunspell-en_US: Spell checking, American English [Установлены]
                              libnotify: Notification integration [Установлены]
                              networkmanager: Location detection via available WiFi networks [Установлены]
                              pulseaudio: Audio support [Установлены]
                              speech-dispatcher: Text-to-Speech
                              xdg-desktop-portal: Screensharing with Wayland [Установлены]
Требуется для               : firefox-i18n-en-us firefox-i18n-ru
Дополнительно для           : --
Предоставляет               : --
Заменяет                    : --
Конфликтует с               : --
Упаковщик                   : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Дата сборки                 : Ср 21 июн 2023 02:35:11
Дата установки              : Пн 26 июн 2023 17:19:42
Причина установки           : Установлено специально
Подтверждение               : Signature
Резервные файлы             : --
alex1101
()
Ответ на: комментарий от alex1101

Это явно не дата установки, а обновления:

$ pacman -Qi firefox | grep -E 'Version|Date'
Version         : 114.0.2-1
Build Date      : Tue 20 Jun 2023 11:35:11 PM MSK
Install Date    : Wed 21 Jun 2023 08:30:07 AM MSK

Ближе к верному результату:

$ stat -c "%w" /usr/lib/firefox
2023-05-28 21:00:17.546620931 +0300

$ stat -c "%w" /             
2023-05-28 21:00:01.000000000 +0300

dmitry237 ★★★★
()
Ответ на: комментарий от alex1101

Я все-таки вижу разницу между установкой и обновлением:

$ grep -E 'upgraded\sfirefox' /var/log/pacman.log | tail -1          
[2023-06-21T08:30:07+0300] [ALPM] upgraded firefox (114.0.1-1 -> 114.0.2-1)

А вот записи installed в логе нет, т.к. лиса устанавливалась не pacman’ом, а по всей видимости просто распаковалась инсталятором из установочного образа. И только после этого обновилась пакманом.

$ grep -E 'firefox' /var/log/pacman.log | head -1                  
[2023-05-28T21:04:14+0300] [ALPM] upgraded firefox (112.0-1 -> 113.0.2-1)

dmitry237 ★★★★
()
Последнее исправление: dmitry237 (всего исправлений: 1)
Ответ на: комментарий от dmitry237

Обновление это и есть установка новой версии вместо старой.

А если ему нужна самая первая установка пакета, то я даже хз как это узнать, тут даже метаданные файла не помогут.

alex1101
()
Ответ на: комментарий от alex1101

А если ему нужна самая первая установка пакета, то я даже хз как это узнать

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

dmitry237 ★★★★
()