子プロセス/usr/bin/dpkgはエラーコード(1)を返します。

子プロセス/usr/bin/dpkgはエラーコード(1)を返します。

私はこれが一般的なエラーメッセージであることを知っていますが、何が起こっているのかを解読することはできません。なぜApacheがアップデートを望んでいないのですか?

(Reading database ... 50302 files and directories currently installed.)
Unpacking apache2-bin (from .../apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb (--unpack):
 trying to overwrite '/usr/share/man/man8/apache2.8.gz', which is also in package apache2.2-common 2.2.22-1ubuntu1.8
dpkg-deb (subprocess): subprocess data was killed by signal (Broken pipe)
dpkg-deb: error: subprocess <decompress> returned error exit status 2
Preparing to replace e2fslibs 1.42-1ubuntu2.2 (using .../e2fslibs_1.42-1ubuntu2.3_i386.deb) ...
Unpacking replacement e2fslibs ...
Processing triggers for man-db ...
Errors were encountered while processing:
 /var/cache/apt/archives/apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

答え1

実際のエラーは次のとおりです。

「apache2.2-common 2.2.22-1ubuntu1.8パッケージにある '/usr/share/man/man8/apache2.8.gz'を上書きしようとしています。」

一部のサードパーティ製リポジトリのパッケージとUbuntu自体のパッケージとの間にファイルの競合があるようです。これはマンページなので、強制的にインストールすることをお勧めします。

dpkg -i --force-overwrite /var/cache/apt/archives/apache2-bin_2.4.16-4+deb.sury.org~precise+4_i386.deb

答え2

デフォルトでは、他のパッケージに属するファイルは上書きされず、パッケージの名前が変更された場合、またはパッケージのコレクションdpkgが再構成されると、特定のパッケージ内のファイルの「所有権」が変更されることがあります。

apt-get次のオプションを使用して実行する必要があります-o Dpkg::Options::="--force-overwrite"

apt-get -o Dpkg::Options::="--force-overwrite" ...

/etc/apt/apt.confまたは、次のようにファイルに追加して永久に作成することもできます/etc/apt/apt.conf.d/

DPkg { Options {"--force-overwrite";} };

関連情報