Plesk upgrade using templates fails with dependency or package conflict errors

Created:

2016-11-16 13:03:01 UTC

Modified:

2017-04-24 11:59:13 UTC

0

Was this article helpful?


Have more questions?

Submit a request

Plesk upgrade using templates fails with dependency or package conflict errors

Applicable to:

  • Plesk 11.5 for Linux

Symptoms

Attempt to upgrade Plesk inside a container fails:

# vzpkg install 1234 pp11.5
...
Transaction Check Error:
file /var/qmail/bin/qmail-local from install of plesk-mail-qc-driver-11.5.30-cos5.build115130819.13.x86_64 conflicts with file from package psa-qmail-1.03-cos5.build95101209.08.x86_64
file /var/qmail/bin/qmail-queue from install of plesk-mail-qc-driver-11.5.30-cos5.build115130819.13.x86_64 conflicts with file from package psa-qmail-1.03-cos5.build95101209.08.x86_64
file /var/qmail/bin/qmail-remote from install of plesk-mail-qc-driver-11.5.30-cos5.build115130819.13.x86_64 conflicts with file from package psa-qmail-1.03-cos5.build95101209.08.x86_64
file /var/qmail/plugins/chkrcptto from install of plesk-mail-qc-driver-11.5.30-cos5.build115130819.13.x86_64 conflicts with file from package psa-qmail-1.03-cos5.build95101209.08.x86_64
file /usr/share/man/man1/maildirmake.1.gz from install of psa-courier-imap-4.12.0-cos5.build115130819.13.x86_64 conflicts with file from package psa-qmail-1.03-cos5.build95101209.08.x86_64

Error Summary
-------------
Error: /usr/share/vzyum/bin/yum failed, exitcode=1

Cause

Package dependency issue occurs, because required package belongs to another template, which is not included into the list of installed templates.

Resolution

In order to upgrade Plesk inside the container, all installed Plesk packages should be upgraded. To do so, templates which include new versions of all already installed packages should be included into the list of templates in vzpkg install command.

A one-to-one match between templates for different versions of Plesk is not always possible, since structure and content of templates changes from version to version. In order to find which templates contain required packages, follow these steps:

  1. Find out the OS template of the container:

    # vzpkg list -O 1234
    centos-5-x86_64 2013-06-20 16:52:00
  2. Go to OS template's configuration directory on the Hardware Node:

    # cd /vz/templates/centos/5/x86_64/config/app
  3. Find all the templates from pp11.5 family, that contain Plesk packages which are already installed inside the container. Use the following command:

    # vzpkg list 1234 | grep plesk | awk '{print $2}' | while read old_tpl ; do
    for pkg in `cat $old_tpl/default/packages` ; do
    if [ "$pkg" != "psa" ] ; then
    grep $pkg pp11.5*/default/packages
    fi
    done
    done | awk -F'/' '{print $1}' | sort -u

    The output of the command will be like this:

    pp11.5
    pp11.5-mailman
    pp11.5-migration
    pp11.5-postfix
    pp11.5-qmail
    pp11.5-spamassassin
    pp11.5-watchdog
    pp11.5-webhosting-addons
    pp11.5-webmail
  4. You'll notice that the output includes both Qmail and Postfix templates.

    Choose the same MTA, which is already installed on the server. Attempt to switch MTA using templates may cause errors (see article #213933685 ) . For example, if container has Qmail installed, then template pp11.5-qmail should remain in the list, and template pp11.5-postfix removed.

  5. Put all remaining templates from the output into a single vzpkg install command; add pp11.5-php5 and pp11.5-bind templates:

    vzpkg install 1234 pp11.5 pp11.5-mailman pp11.5-migration pp11.5-qmail pp11.5-spamassassin pp11.5-watchdog pp11.5-webhosting-addons pp11.5-webmail pp11.5-php5 pp11.5-bind
  6. Run the upgrade.

Have more questions? Submit a request
Please sign in to leave a comment.