Stretch에서 nginx를 업그레이드하는 중 오류가 발생했습니다.

Stretch에서 nginx를 업그레이드하는 중 오류가 발생했습니다.

마지막 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되지 않도록 해야 합니다 .nginxapt-get upgrade

수정 사항은 순서대로 이루어졌습니다.

  • 멈추다 monit;
  • (p)kill -9프로세스에 대한 설명 nginx(이상하게도 중지가 더 이상 작동하지 않는 것 같습니다)
  • 어떤 것을 만들어service start nginx
  • 마지막에 다시 하세요 apt-get upgrade.
  • 드디어 업그레이드가 성공적으로 종료됩니다 service monit start.

monit이번에 는 방해가 되지 않았고 upgrade효과가 있었습니다.

궁극적으로 배운 교훈은 표준 업그레이드 절차를 수정하고 monit보안 업데이트 프로세스 전에 Ansible 플레이북을 중지하거나 이상적으로 일시 중지하도록 변경하는 것이었습니다.

관련 정보