Я хотел просмотреть историю своих последних обновлений/модернизаций, чисток пакетов и обнаружил, что кроме aptitude и уродливого dpkg.log, похоже, нет ничего, что делало бы то же самое. Смотритераздел 9.4 FAQ по Debian. Есть ли у кого-нибудь идея, почему не существует такого инструмента, который будет вести симпатичный журнал или журналы всех прошлых задач по администрированию пакетов. Есть несколько обходных путей, представленных по ссылке выше, но нет подходящего инструмента как такового.
Я просмотрел /var/log/aptitude
различные журналы, сжатые GunZip, а также различные журналы dpkg, но ни один из них не предназначен для конечных пользователей.
[/var/log] - [10058]
[$] ls -lh aptitu*
-rw-r--r-- 1 root root 117K May 23 15:49 aptitude
-rw-r--r-- 1 root root 24K May 1 00:26 aptitude.1.gz
-rw-r--r-- 1 root root 35K Apr 1 02:07 aptitude.2.gz
-rw-r--r-- 1 root root 26K Feb 28 03:13 aptitude.3.gz
-rw-r--r-- 1 root root 29K Jan 30 04:29 aptitude.4.gz
-rw-r--r-- 1 root root 27K Dec 30 15:28 aptitude.5.gz
-rw-r--r-- 1 root root 32K Dec 1 04:39 aptitude.6.gz
Теперь, как можно увидеть, журнал длится почти 6 месяцев, и aptitude блестяще справляется с сохранением всех моих попыток обновлений, понижений, чисток пакетов и т. д., но он записывает только «попытки». У dpkg запись намного лучше, но выглядит он намного хуже, чем журналы aptitude.
Буду рад, если кто-нибудь поделится более подробным пониманием. Должен быть какой-то инструмент на основе gtk/tk/GUI для того же самого, может быть, что-то, что является дополнением к synaptic/software center или любому другому инструменту, который выберет пользователь.
Одним из оправданий или возможных объяснений может быть то, что разработчики ценили конфиденциальность, но ведь существуют журналы для всего остального, а не только для этого, так что для меня это не имеет особого смысла.
Другая часть может заключаться только в том, что либо Debian, либо апстрим не заботятся и не заботятся о таких журналах и ожидают, что их пользователи будут вести историю или полагаться на инструмент типа aptitude, это также не имеет большого значения, поскольку...
aptitude show aptitude | grep Priority
Priority: optional
Поэтому будут пользователи, которые не будут использовать aptitude.
Существуют ли какие-либо операционные системы FOSS (не ограничиваясь GNU/Linux), которые решили вышеупомянутую проблему/задачу?
решение1
apt
сам по себе хранит более удобные файлы журналов /var/log/apt/history.log
(и ротируемые варианты); они отслеживают дату и время начала и окончания каждого набора apt
операций (включая те, которые инициированы aptitude
), запрашивающего пользователя (при вызове с помощью sudo
) и действия: установленные пакеты, обновленные пакеты, удаленные пакеты, очищенные пакеты...
Вот пример:
Start-Date: 2016-05-09 23:29:03
Requested-By: steve (1000)
Install: libnspr4-dev:amd64 (2:4.12-2, automatic), liboauth-dev:amd64 (1.0.1-1), libcurl4-gnutls-dev:amd64 (7.47.0-1, automatic), libnss3-dev:amd64 (2:3.23-2, automatic)
End-Date: 2016-05-09 23:29:10
Это показывает, что я запросил установку , liboauth-dev
которая была загружена автоматически .libnspr4-dev
libcurl4-gnutls-dev
libnss3-dev
Вы также найдете, /var/log/apt/term.log
какие журналы регистрируют выходные данные apt
операций терминала.
Эти файлы не отслеживают dpkg
операции, поэтому, чтобы получить полную картину —то есть, включая операции, выполненные с использованием dpkg
напрямую — вам все равно нужно будет посмотреть на /var/log/dpkg.log
. Если вы ограничите прямое использование dpkg
настолько, насколько это возможно, то apt
история даст хорошее представление о том, что было сделано, когда...