Как получить уведомление об установленных / удаленных пакетах из dpkg/apt/aptitude?

Я пишу системный скрипт на Python, и мне нужно получать уведомление, когда программа устанавливается / обновляется / удаляется.

Прежде всего, я подумал связать свое приложение с демоном apt-dbus. К сожалению, я не нашел его, и пока я жду его реализации (а это может занять много времени), я изучаю другой способ сделать это.

Итак, я подумал о пиинофикации. Может быть, я мог бы получать уведомления каждый раз, когда файл/var/log/apt/history.log изменения, а затем я бы просто проанализировал добавленные строки, чтобы получить то, что я ожидал.

Можете ли вы предложить мне другой безопасный способ сделать это?

Спасибо.

1 ответ

Решение

Он не отвечает на все ваши требования, но может помочь: используйте Pre-Install-Pkgs, команда просто запускается при установке, с помощью dpkg, apt, aptitude:

cat /etc/apt/apt.conf.d/80user 
DPkg::Pre-Install-Pkgs {"logger ";}

В системном журнале:

Sep 10 22:08:35 Bart logger: /var/cache/apt/archives/scim-python-common_0.1.13~rc1-2build1_all.deb
Sep 10 22:08:35 Bart logger: /var/cache/apt/archives/python-scim_0.1.13~rc1-2build1_i386.deb
Sep 10 22:08:35 Bart logger: /var/cache/apt/archives/scim-python_0.1.13~rc1-2build1_i386.deb

Вы можете заменить регистратор на нужную вам команду, например, mail.

Другие вопросы по тегам