Циклы запуска пакета Deb

Циклы запуска пакета Deb

У меня повторяющаяся проблема с пользовательскими пакетами .deb и их триггерами. Мы создали несколько "метапакетов" для наших развертываний, чтобы принудительно проверить некоторые конфигурации. Идея состоит в том, чтобы сохранить много серверов с "той же" конфигурацией без необходимости проверять вручную каждое обновление. Давайте назовем их в качестве примера:графана-confиelasticsearch-конф.

Для выполнения сценариев реконфигурации при обновлении «дочернего пакета» мы используем следующие триггеры.

  • графана-confтриггеры:
interest /usr/share/grafana
interest grafana-reconfigure

  • elasticsearch-конфтриггеры:
interest /usr/share/elasticsearch/bin
interest elastic-reconfigure

Время от времени он просто работает так, как и ожидалось, но в некоторых сценариях dpkg говорит, что есть цикл триггера. В этом случае, если elasticsearchи grafanaобновляется в той же транзакции, мы получаем следующие сообщения:

[...]
Processing triggers for ureadahead (0.100.0-21) ...  
Processing triggers for dbus (1.12.16-2ubuntu2.3) ...
Setting up unrelated-package (1.2.1) ...           
dpkg: cycle found while processing triggers:                    
 chain of packages whose triggers are or may be responsible:    
  elasticsearch-conf -> grafana-conf
 packages' pending triggers which are or may be unresolvable:
  grafana-conf: /usr/share/grafana
  elasticsearch-conf: /usr/share/elasticsearch/bin
  initramfs-tools: update-initramfs
dpkg: error processing package grafana-conf (--configure):
 triggers looping, abandoned
dpkg: cycle found while processing triggers:
 chain of packages whose triggers are or may be responsible:
  elasticsearch-conf -> elasticsearch-conf -> elasticsearch-conf
 packages' pending triggers which are or may be unresolvable:
  elasticsearch-conf: /usr/share/elasticsearch/bin
  initramfs-tools: update-initramfs
dpkg: error processing package elasticsearch-conf (--configure):
 triggers looping, abandoned
Processing triggers for initramfs-tools (0.136ubuntu6.7) ...
[...]
Errors were encountered while processing:
 grafana-conf
 elasticsearch-conf

Мы протестировали много вариантов триггеров, но не понимаем, что там не так. Чтение документации Debian/Deb говорит, что все должно работать.

Может кто-нибудь помочь мне/нам понять, какую (вероятно, элементарную) ошибку мы упускаем? Спасибо заранее!

P.S.: Именованный триггер grafana-reconfigureвызывается в нижнем скрипте postinstграфана-conf. Мы пытались удалить такой вызов, но циклы продолжают появляться. Конечно, dpkg-triggerникогда не вызывается внутри вызова "trigger". Named-trigger elastic-reconfigureвообще не используется.

Ps2: В некоторых других сценариях у меня возникает такой цикл:grafana-conf -> grafana-conf -> grafana-conf

Связанный контент