私はこれが一般的なエラーメッセージであることを知っていますが、何が起こっているのかを解読することはできません。なぜ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";} };