Deb 패키지 트리거 루프

Deb 패키지 트리거 루프

사용자 정의 .deb 패키지 및 해당 트리거에 반복적인 문제가 있습니다. 일부 구성을 강제하고 확인하기 위해 배포용 "메타 패킷"을 만들었습니다. 아이디어는 각 업데이트를 수동으로 확인할 필요 없이 "동일한" 구성으로 많은 서버를 유지하는 것입니다. 예를 들어 호출해 보겠습니다.grafana-conf그리고Elasticsearch-conf.

"하위 패키지"가 업데이트될 때 재구성 스크립트를 실행하기 위해 다음 트리거를 사용합니다.

  • grafana-conf트리거:
interest /usr/share/grafana
interest grafana-reconfigure

  • Elasticsearch-conf트리거:
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 문서를 읽으면 모든 것이 작동해야 한다고 나와 있습니다.

누군가 우리가 놓치고 있는 (아마도 기본적인) 실수가 무엇인지 이해하도록 도와줄 수 있습니까? 미리 감사드립니다!

추신: 명명된 트리거는 grafana-reconfigure하단 postinst 스크립트에서 호출됩니다.grafana-conf. 이러한 호출을 제거하려고 시도했지만 루프가 계속 나타납니다. 물론 dpkg-trigger"트리거" 호출 내부에서는 호출되지 않습니다. 명명된 트리거는 elastic-reconfigure전혀 사용되지 않습니다.

Ps2: 일부 다른 시나리오에서는 다음과 같은 루프가 발생합니다.grafana-conf -> grafana-conf -> grafana-conf

관련 정보