Symptoms
- Plesk Obsidian running on a Debian-based operating system (Ubuntu in most cases)
-
A Plesk update fails with an error that is similar to the following:
The following packages have unmet dependencies:
alt-php70-pecl-ext : Depends: alt-php70-newrelic but it is not going to be installed
alt-php71-pecl-ext : Depends: alt-php71-newrelic but it is not going to be installed
alt-php72-pecl-ext : Depends: alt-php72-newrelic but it is not going to be installed
alt-php73-pecl-ext : Depends: alt-php73-newrelic but it is not going to be installed
alt-php74-pecl-ext : Depends: alt-php74-newrelic but it is not going to be installed
alt-php80-pecl-ext : Depends: alt-php80-newrelic but it is not going to be installed
alt-php81-pecl-ext : Depends: alt-php81-newrelic but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). -
Trying to force install the mentioned packages fails with an error that is similar to the following:
# apt --fix-broken install
...
Preparing to unpack .../0-alt-php70-newrelic_10.16.0.5-1_amd64.deb ...
Unpacking alt-php70-newrelic (10.16.0.5-1) ...
dpkg: error processing archive /tmp/apt-dpkg-install-rBxU9m/0-alt-php70-newrelic_10.16.0.5-1_amd64.deb (--unpack):
trying to overwrite '/opt/alt/php70/etc/sysconfig/newrelic', which is also in package alt-php70-pecl-ext 1-97
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Preparing to unpack .../1-alt-php71-newrelic_10.16.0.5-1_amd64.deb ...
Unpacking alt-php71-newrelic (10.16.0.5-1) ...
dpkg: error processing archive /tmp/apt-dpkg-install-rBxU9m/1-alt-php71-newrelic_10.16.0.5-1_amd64.deb (--unpack):
trying to overwrite '/opt/alt/php71/etc/sysconfig/newrelic', which is also in package alt-php71-pecl-ext 1-87
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Preparing to unpack .../2-alt-php72-newrelic_10.16.0.5-1_amd64.deb ...
Unpacking alt-php72-newrelic (10.16.0.5-1) ...
Cause
The message indicates a conflict during which the installation process is trying to overwrite a file (/opt/alt/phpXX/etc/sysconfig/newrelic) that already exists and belongs to another package (alt-phpXX-pecl-ext).
Resolution
Apply the following workaround:
1. Log into your server via SSH
2. Reconfigure packages by executing the following command:
# dpkg --force-all --configure -a
2. Remove the currently installed alt-php packages:
# dpkg --purge --force-depends alt-php70-pecl-ext alt-php71-pecl-ext alt-php72-pecl-ext alt-php73-pecl-ext alt-php74-pecl-ext alt-php80-pecl-ext alt-php81-pecl-ext alt-php82-pecl-ext
3. Fix any broken installed packages by executing the following command:
# apt --fix-broken install