마지막 Debian Stretch 라우팅 보안 업데이트 중에 문제가 발생했습니다. 보안 업그레이드를 설치한 후 업그레이드하려고 하면 nginx
다음 오류가 발생합니다.
apt-get upgrade
다시 실행해 보거나 apt-get install
관련 패키지를 사용해 보았지만 아무 것도 작동하지 않는 것 같았습니다.
무엇을 해야 할까요?
$ apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
6 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Setting up libnginx-mod-stream (1.10.2-2) ...
nginx: [alert] kill(1433, 1) failed (3: No such process)
dpkg: error processing package libnginx-mod-stream (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-http-echo (1.10.2-2) ...
nginx: [alert] kill(1433, 1) failed (3: No such process)
dpkg: error processing package libnginx-mod-http-echo (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of nginx-full:
nginx-full depends on libnginx-mod-http-echo (= 1.10.2-2); however:
Package libnginx-mod-http-echo is not configured yet.
nginx-full depends on libnginx-mod-stream (= 1.10.2-2); however:
Package libnginx-mod-stream is not configured yet.
dpkg: error processing package nginx-full (--configure):
dependency problems - leaving unconfigured
Setting up libnginx-mod-http-upstream-fair (1.10.2-2) ...
nginx: [alert] kill(1433, 1) failed (3: No such process)
dpkg: error processing package libnginx-mod-http-upstream-fair (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up libnginx-mod-http-geoip (1.10.2-2) ...
nginx: [alert] kill(1433, 1) failed (3: No such process)
dpkg: error processing package libnginx-mod-http-geoip (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of nginx:
nginx depends on nginx-full (<< 1.10.2-2.1~) | nginx-light (<< 1.10.2-2.1~) | nginx-extras (<< 1.10.2-2.1~); however:
Package nginx-full is not configured yet.
Package nginx-light is not installed.
Package nginx-extras is not installed.
nginx depends on nginx-full (>= 1.10.2-2) | nginx-light (>= 1.10.2-2) | nginx-extras (>= 1.10.2-2); however:
Package nginx-full is not configured yet.
Package nginx-light is not installed.
Package nginx-extras is not installed.
dpkg: error processing package nginx (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
libnginx-mod-stream
libnginx-mod-http-echo
nginx-full
libnginx-mod-http-upstream-fair
libnginx-mod-http-geoip
nginx
E: Sub-process /usr/bin/dpkg returned an error code (1)
답변1
마지막으로 문제를 분석하고 설치 후 스크립트를 살펴보며 문제를 식별했습니다. 이러한 nginx
구성 요소를 설치/업그레이드하는 경우 각 패키지에 대해 재부팅을 시도 nginx
하고 작업이 성공했는지 확인하십시오.
따라서 업데이트 작업에서는 유지 관리 보안 업데이트/업그레이드 주기를 수행하기 전에 중지를 시작하여 에서 실행 monit
되지 않도록 해야 합니다 .nginx
apt-get upgrade
수정 사항은 순서대로 이루어졌습니다.
- 멈추다
monit
; (p)kill -9
프로세스에 대한 설명nginx
(이상하게도 중지가 더 이상 작동하지 않는 것 같습니다)- 어떤 것을 만들어
service start nginx
- 마지막에 다시 하세요
apt-get upgrade
. - 드디어 업그레이드가 성공적으로 종료됩니다
service monit start
.
monit
이번에 는 방해가 되지 않았고 upgrade
효과가 있었습니다.
궁극적으로 배운 교훈은 표준 업그레이드 절차를 수정하고 monit
보안 업데이트 프로세스 전에 Ansible 플레이북을 중지하거나 이상적으로 일시 중지하도록 변경하는 것이었습니다.