何かをインストール/更新しようとしていますが (たとえば、php7.0-soap)、このメッセージが表示され続けます。
The following packages have unmet dependencies:
libnginx-mod-http-auth-pam : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-http-echo : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-http-geoip : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-http-image-filter : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-http-subs-filter : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-http-upstream-fair : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-http-xslt-filter : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-mail : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
libnginx-mod-stream : Depends: nginx-common (= 1.10.1-3+xenial2) but 1.10.1-0+xenial0 is to be installed
apt-update もこれによってブロックされます。今のところ、soap が本当に必要ですが、将来的にはもっと多くのものが必要になるかもしれません。通常、一度に 300 ~ 600 人のユーザーにサービスを提供している実行中の nginx サーバーに影響を与えずに (または最小限に抑えて) これを修正する方法はありますか。
使用しているのは:Ubuntu 16.04.1 LTS
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
2017年1月1日更新:
提案されているように、「apt-get dist-upgrade」または「apt-get install」で-fを使用する@トーマス・ワード少しは進歩しました。しかし、私は次の点で行き詰まっています:
Unpacking nginx-common (1.10.1-3+xenial2) over (1.10.1-0+xenial0) ...
dpkg: error processing archive /var/cache/apt/archives/nginx-common_1.10.1-3+xen ial2_all.deb (--unpack):
trying to overwrite '/etc/logrotate.d/nginx', which is also in package nginx 1. 11.3-1~xenial
Preparing to unpack .../nginx-full_1.10.1-3+xenial2_amd64.deb ...
Unpacking nginx-full (1.10.1-3+xenial2) over (1.10.1-0+xenial0) ...
dpkg: error processing archive /var/cache/apt/archives/nginx-full_1.10.1-3+xenia l2_amd64.deb (--unpack):
trying to overwrite '/usr/sbin/nginx', which is also in package nginx 1.11.3-1~ xenial
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Preparing to unpack .../init-system-helpers_1.29ubuntu4_all.deb ...
Unpacking init-system-helpers (1.29ubuntu4) over (1.29ubuntu3) ...
Processing triggers for man-db (2.7.5-1) ...
Errors were encountered while processing:
/var/cache/apt/archives/nginx-common_1.10.1-3+xenial2_all.deb
/var/cache/apt/archives/nginx-full_1.10.1-3+xenial2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
何を言っているのかは理解できるのですが、何をすればいいのか全く分かりません。
答え1
最終的に、libnginx-mod-... を削除し、次に nginxfull と nginx-common を削除しました。
次に、邪魔になるファイルをすべて「dpkg -i --force-overwrite」します。最後に、/etc/nginx 内の nginx 構成ファイルを復元します (もちろん、これは以前にバックアップしておいたものです)。
サーバーは5〜10分ほどダウンしていましたが、作業は完了しました。助けてくれたトーマスに感謝します