이것은 Docker와 Debian의 버그로 인한 결과입니다. 이미 수정되었지만, Discourse의 Docker 이미지에는 아직 반영되지 않은 것 같습니다.
위 링크에 따라, 저는 다음 템플릿 파일을 사용하여 [a] /etc/cron.d/ 파일을 생성하고 [b] cron pam 모듈의 버그를 수정했습니다:
[root@osestaging1 discourse]# cat /var/discourse/templates/unattended-upgrades.template.yml run:
- file:
path: /etc/cron.d/unattended-upgrades
contents: |+
################################################################################
# File: /etc/cron.d/unattended-upgrades
# Version: 0.1
# Purpose: run unattended-upgrades in lieu of systemd. For more info see
# * https://wiki.opensourceecology.org/wiki/Discourse
# * https://meta.discourse.org/t/does-discourse-container-use-unattended-upgrades/136296/3
# Author: Michael Altfield <michael@opensourceecology.org>
# Created: 2020-03-23
# Updated: 2020-03-23
################################################################################
20 04 * * * root /usr/bin/nice /usr/bin/unattended-upgrades --debug
- exec: /bin/echo -e "\n" >> /etc/cron.d/unattended-upgrades
# fix the Docker cron bug https://stackoverflow.com/questions/43323754/cannot-make-remove-an-entry-for-the-specified-session-cron
- exec: /bin/sed --in-place=.`date "+%Y%m%d_%H%M%S"` 's%^\([^#]*\)\(session\s\+required\s\+pam_loginuid\.so\)$%\1#\2%' /etc/pam.d/cron
[root@osestaging1 discourse]#
불행히도, cron pam.d 모듈에 이 변경 사항을 적용하는 것의 모든 결과를 100% 확신할 수는 없습니다. 하지만 제 생각에는 이것이 업스트림에서 인정하는 수정 방법인 것 같습니다 :\
관련 링크: Does Discourse container use unattended-upgrades? - #9 by maltfield