debian-buster 저장소에서 nginx-repo로 NGINX 업데이트

debian-buster 저장소에서 nginx-repo로 NGINX 업데이트

내 nginx 버전(debian 저장소에서 설치됨)을 nginx 저장소의 최신 버전으로 업데이트하려고 하면 이전 nginx 패키지 중 하나에 있는 파일을 덮어쓸 수 없기 때문에 실패합니다. 자동으로 제거됩니다). 다음은 명령을 실행할 때의 bash 출력입니다 apt install nginx -V.

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
   geoip-database (20190724-1~bpo10+1)
   libgd3 (2.2.5-5.2)
   libgeoip1 (1.6.12-3~bpo10+1)
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
   libnginx-mod-http-auth-pam (1.14.2-2)
   libnginx-mod-http-dav-ext (1.14.2-2)
   libnginx-mod-http-echo (1.14.2-2)
   libnginx-mod-http-geoip (1.14.2-2)
   libnginx-mod-http-image-filter (1.14.2-2)
   libnginx-mod-http-subs-filter (1.14.2-2)
   libnginx-mod-http-upstream-fair (1.14.2-2)
   libnginx-mod-http-xslt-filter (1.14.2-2)
   libnginx-mod-mail (1.14.2-2)
   libnginx-mod-stream (1.14.2-2)
   nginx-common (1.14.2-2)
   nginx-full (1.14.2-2)
The following packages will be upgraded:
   nginx (1.14.2-2 => 1.16.1-1~buster)
1 upgraded, 0 newly installed, 12 to remove and 0 not upgraded.
Need to get 0 B/850 kB of archives.
After this operation, 291 kB disk space will be freed.
Do you want to continue? [Y/n]
dpkg: libnginx-mod-http-auth-pam: dependency problems, but removing anyway as you requested:
 nginx-full depends on libnginx-mod-http-auth-pam (= 1.14.2-2).

(Reading database ... 152770 files and directories currently installed.)
Removing libnginx-mod-http-auth-pam (1.14.2-2) ...
dpkg: nginx-common: dependency problems, but removing anyway as you requested:
 nginx-full depends on nginx-common (= 1.14.2-2); however:
  Package nginx-common is to be removed.
 libnginx-mod-stream depends on nginx-common (= 1.14.2-2).
 libnginx-mod-mail depends on nginx-common (= 1.14.2-2).
 libnginx-mod-http-xslt-filter depends on nginx-common (= 1.14.2-2).
 libnginx-mod-http-upstream-fair depends on nginx-common (= 1.14.2-2).
 libnginx-mod-http-subs-filter depends on nginx-common (= 1.14.2-2).
 libnginx-mod-http-image-filter depends on nginx-common (= 1.14.2-2).
 libnginx-mod-http-geoip depends on nginx-common (= 1.14.2-2).
 libnginx-mod-http-echo depends on nginx-common (= 1.14.2-2).
 libnginx-mod-http-dav-ext depends on nginx-common (= 1.14.2-2).

Removing nginx-common (1.14.2-2) ...
(Reading database ... 152743 files and directories currently installed.)
Preparing to unpack .../nginx_1.16.1-1~buster_amd64.deb ...
Unpacking nginx (1.16.1-1~buster) over (1.14.2-2) ...
dpkg: error processing archive /var/cache/apt/archives/nginx_1.16.1-1~buster_amd64.deb (--unpack):
 trying to overwrite '/usr/sbin/nginx', which is also in package nginx-full 1.14.2-2
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/nginx_1.16.1-1~buster_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

이전 패키지를 먼저 제거한 다음 새 패키지를 설치하는 것이 아닌 것 같습니다. 대신 두 개의 패키지를 제거한 다음 업데이트된 패키지를 설치하려고 합니다. 이 업데이트를 시도한 후에는 nginx-common및 를 다시 설치해야 하기 때문입니다 libnginx-mod-http-auth-pam.

내 질문은: 새로 설치를 강제로 수행하는 방법(작동하지 않음)을 아는 사람이 있습니까? dist-upgrade아니면 --with-new-pkgs해당 패키지를 수동으로 제거해야 합니까? 아니면 업그레이드하기 전에 수행할 단계가 누락된 것인가요?

답변1

이것이 여전히 관련이 있는지는 모르겠지만 비슷한 문제가 있었습니다. 나에게 도움이 된 것은 이전 nginx를 제거했다는 것입니다.apt remove nginx nginx-common

그런 다음 새 버전을 설치했습니다.apt install nginx

현재 버전이 손상된 경우 다음을 사용하여 수정할 수 있습니다.apt --fix-broken install

답변2

이 명령을 사용하십시오. 이것은 나에게 효과적이었습니다.

sudo dpkg --purge --force-depends apache2

관련 정보