web-dev-qa-db-ja.com

debパッケージのアップグレード時にdpkgエラーコード(1)をデバッグする方法

Operating System: Debian GNU/Linux 8.8 (jessie)
Kernel: Linux 3.16.0-4-AMD64
Architecture: x86-64

私はいくつかのDebianサーバーを持っています。

それぞれがデフォルトのリポジトリnginxバージョン1.6に含まれています。

元のnginxリポジトリから更新した後、すべてのサーバーで同じエラーを受け取ります:

Preparing to unpack .../nginx_1.12.0-1~jessie_AMD64.deb ...
Unpacking nginx (1.12.0-1~jessie) over (1.6.2-5+deb8u4) ...
dpkg: error processing archive /var/cache/apt/archives/nginx_1.12.0-1~jessie_AMD64.deb (--unpack):
  trying to overwrite '/etc/default/nginx', which is also in package nginx-common 1.6.2-5+deb8u4
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
  /var/cache/apt/archives/nginx_1.12.0-1~jessie_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

ソースからdebパッケージをビルドしようとしましたが、それでも同じエラーが発生します。

Debianを新しいバージョンに再インストールせずにアップグレードする方法はありません。

/var/log/dpkg.log

2017-06-26 19:56:31 startup archives install
2017-06-26 19:56:31 upgrade nginx:all 1.6.2-5+deb8u4 1.12.0-1~jessie
2017-06-26 19:56:31 status half-configured nginx:all 1.6.2-5+deb8u4
2017-06-26 19:56:31 status unpacked nginx:all 1.6.2-5+deb8u4
2017-06-26 19:56:31 status half-installed nginx:all 1.6.2-5+deb8u4
2017-06-26 19:56:32 status unpacked nginx:all 1.6.2-5+deb8u4
2017-06-26 19:56:32 status installed nginx:all 1.6.2-5+deb8u4

デフォルトnginxを完全にアンインストール/パージして、新しいバージョンをインストールしようとしましたが、それでもエラーが発生します。

The following packages have been kept back:
libpcre3 libpcre3-dev nginx nginx-common nginx-full
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
2
jonnywats

ルートになる:

Sudo -i

または:

su

2017-06-26 19:56:31 status half-configured nginx:all 1.6.2-5+deb8u4

パッケージを構成します。

dpkg --configure -a

壊れたパッケージを修正する:

apt-get install --fix-broken

アップグレードを続行します。

apt-get dist-upgrade
2

パージ+再インストール時に何を試したかを伝えるのは難しいですが、これを試してください:

Sudo dpkg --purge --force-all nginx nginx-common nginx-full
Sudo apt-get install nginx
0
Rachel Frei