• Hi, Pleskians! We are running a UX testing of our upcoming product intended for server management and monitoring.
    We would like to invite you to have a call with us and have some fun checking our prototype. The agenda is pretty simple - we bring new design and some scenarios that you need to walk through and succeed. We will be watching and taking insights for further development of the design.
    If you would like to participate, please use this link to book a meeting. We will sent the link to the clickable prototype at the meeting.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • The ImunifyAV extension is now deprecated and no longer available for installation.
    Existing ImunifyAV installations will continue operating for three months, and after that will automatically be replaced with the new Imunify extension. We recommend that you manually replace any existing ImunifyAV installations with Imunify at your earliest convenience.

Question VM with Plesk and Ubuntu: Ubuntu Upgrade 22.04-LTS to 24.04-LTS fails

chris-taylor

New Pleskian
Server operating system version
Ubuntu 22.04 LTS
Plesk version and microupdate number
18.0.67 #3
Hello dear Community,
maybe somone can help me with the following problem:

I run several Plesk-Servers with the latest Plesk Obsidian (18.0.67 Update 3) on Ubuntu Linux (VM based).
Now I tried to upgrade the Ubuntu OS of one of my servers from Ubuntu 22.04-LTS to 24.04-LTS.
I followed the guide here:
Section: "Dist-upgrade from Ubuntu 22 (Jammy Jellyfish) to Ubuntu 24 (Noble Numbat) - Manual step by step process"
Unfortunately the upgrade process failed due to problems with package dependencies in step 14 of the instructions
("Install modern kernel, libc6, python3, mariadb packages")
It is some kind of weird because the aptitude tool tries to install i386-packages although the server runs on amd64 basis.
(There are no other i386-packages installed before starting the upgrade..I checked that ("dpkg -l | grep i386"))
Luckily I had a snapshot and could reset the VM to the previous state.
And so I tried several options:
I disabled the i386 architecture from dpkg tool like suggested here:
But this did not solve the problem...
One run of the aptitude command (I set libc6 architecture explicitly to "amd64") is attached as file...
Excerpt here (due to character limitations):
Bash:
root@webstar07[/etc/apt] >> aptitude install base-files linux-generic libc6:amd64 python3 mariadb-server
The following NEW packages will be installed:
  gcc-14-base{a} linux-image-6.8.0-53-generic{a} linux-modules-6.8.0-53-generic{a} linux-modules-extra-6.8.0-53-generic{a}
  mariadb-plugin-provider-bzip2{a} mariadb-plugin-provider-lz4{a} mariadb-plugin-provider-lzma{a} mariadb-plugin-provider-lzo{a}
  mariadb-plugin-provider-snappy{a} pv{a} python3-cssselect{a} ubuntu-kernel-accessories{a}
The following packages will be REMOVED:
  libmariadb3{u} libnsl-dev{u} libtirpc-dev{u} mariadb-client-10.6{u} mariadb-client-core-10.6{u} mariadb-server-10.6{a} mariadb-server-core-10.6{u}
  python3-distutils{a}
The following packages will be upgraded:
  base-files libc-bin libc-dev-bin libc-devtools libc6 libc6-dev libnewt0.52 libsnappy1v5 libstdc++6 libtalloc2 libtdb1 linux-generic{b}
  linux-image-generic locales locales-all mariadb-common mariadb-server{b} python3{b} python3-cffi-backend python3-libapparmor python3-lxml
  python3-netifaces python3-newt python3-pam python3-systemd python3-tdb python3-yaml python3-zope.interface
The following packages are RECOMMENDED but will NOT be installed:
  thermald
28 packages upgraded, 12 newly installed, 8 to remove and 1209 not upgraded.
Need to get 195 MB of archives. After unpacking 76,3 MB will be used.
The following packages have unmet dependencies:
 libglib2.0-dev-bin : Depends: python3-distutils but it is not going to be installed
 python3-gi : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 python3-samba : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 mariadb-server : Depends: mariadb-client (>= 1:10.11.8-0ubuntu0.24.04.1) but it is not going to be installed
                  Depends: mariadb-server-core (>= 1:10.11.8-0ubuntu0.24.04.1) but it is not going to be installed
                  Depends: libssl3t64 (>= 3.0.0) but it is not going to be installed
 python3-lib2to3 : Depends: python3:any (< 3.12) which is a virtual package, provided by:
                            - python3 (3.10.6-1~22.04.1), but 3.12.3-0ubuntu2 is to be installed
                            - python3:i386 (3.12.3-0ubuntu2), but it is not going to be installed
                            - python3 (3.12.3-0ubuntu2), but 3.12.3-0ubuntu2 is to be installed
                            - python3:i386 (3.12.3-0ubuntu1), but it is not going to be installed
                            - python3 (3.12.3-0ubuntu1), but 3.12.3-0ubuntu2 is to be installed

 samba : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 python3 : PreDepends: python3-minimal (= 3.12.3-0ubuntu2) but 3.10.6-1~22.04.1 is installed and it is kept back
           Depends: python3.12 (>= 3.12.3-0~) but it is not installable
           Depends: libpython3-stdlib (= 3.12.3-0ubuntu2) but 3.10.6-1~22.04.1 is installed and it is kept back
 linux-generic : Depends: linux-headers-generic (= 6.8.0-53.55+1) but 5.15.0.133.132 is installed and it is kept back
 python3-gdbm : Depends: python3 (< 3.12) but 3.12.3-0ubuntu2 is to be installed
 python3-talloc : Depends: libtalloc2 (= 2.3.3-2build1) but 2.4.2-1build2 is to be installed
                  Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 libnih1 : Depends: libc6 (< 2.36) but 2.39-0ubuntu8.4 is to be installed
 python3-apt : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 python3-gpg : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 python3-ldb : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 libapache2-mod-python : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
 python3-dbus : Depends: python3 (< 3.11) but 3.12.3-0ubuntu2 is to be installed
open: 700; closed: 2400; defer: 144; conflict: 154                                                                                                     
The following actions will resolve these dependencies:

      Remove the following packages:
1)      libdw1 [0.186-1build1 (now)]
2)      ...
      Install the following packages:
8)      gcc-14-base:i386 [14.2.0-4ubuntu2~24.04 (noble-security, noble-updates)]
9)      libc6:i386 [2.39-0ubuntu8.4 (noble-security, noble-updates)]
10)     ....
      Keep the following packages at their current version:
25)     libmariadb3 [1:10.6.18-0ubuntu0.22.04.1 (now)]
26)     ...
      Upgrade the following packages:
40)     libgcc-s1 [12.3.0-1ubuntu1~22.04 (now) -> 14.2.0-4ubuntu2~24.04 (noble-security, noble-updates)]
41)     ...
Accept this solution? [Y/n/q/?] y

The following packages have been kept back:
  python3
The following NEW packages will be installed:
  gcc-14-base{a} gcc-14-base:i386{a} libc6:i386{a} libdw1t64{a} libelf1t64{a} libgcc-s1:i386{a} libgirepository-2.0-0{a} libglib2.0-0t64{a}
  libidn2-0:i386{a} libpkgconf3:i386{a} libssl3t64{a} libunistring5{a} libunistring5:i386{a} linux-image-6.8.0-53-generic{a}
  linux-modules-6.8.0-53-generic{a} linux-modules-extra-6.8.0-53-generic{a} mariadb-client{a} mariadb-client-core{a} mariadb-plugin-provider-bzip2{a}
  mariadb-plugin-provider-lz4{a} mariadb-plugin-provider-lzma{a} mariadb-plugin-provider-lzo{a} mariadb-plugin-provider-snappy{a}
  mariadb-server-core{a} pkgconf{a} pkgconf-bin:i386{a} pv{a}
The following packages will be REMOVED:
  amd64-microcode{u} firmware-sof-signed{u} libdw1{a} libelf1{a} libglib2.0-0{a} libnih1{a} libnsl-dev{u} libssl3{a} libtirpc-dev{u}
  linux-firmware{u} linux-generic{a} linux-image-generic{u} mariadb-client-10.6{u} mariadb-client-core-10.6{u} mariadb-server-10.6{a}
  mariadb-server-core-10.6{u} python3-distutils{a} ureadahead{a}
The following packages will be upgraded:
  base-files libc-bin libc-dev-bin libc-devtools libc6 libc6-dev libgcc-s1 libglib2.0-bin libglib2.0-dev libglib2.0-dev-bin libidn2-0 libsnappy1v5
  libssl-dev libstdc++6 liburing2 libzstd-dev libzstd1 locales locales-all mariadb-common mariadb-server pkg-config
22 packages upgraded, 27 newly installed, 18 to remove and 1211 not upgraded.
Need to get 218 MB of archives. After unpacking 906 MB will be freed.
Do you want to continue? [Y/n/?] y

Get: 1 ...
...
Preparing to unpack .../libc6-dev_2.39-0ubuntu8.4_amd64.deb ...
Unpacking libc6-dev:amd64 (2.39-0ubuntu8.4) over (2.35-0ubuntu3.9) ...
Replacing files in old package libc6:amd64 (2.35-0ubuntu3.9) ...
Preparing to unpack .../libc6_2.39-0ubuntu8.4_amd64.deb ...
Checking for services that may need to be restarted...
Checking init scripts...
Checking for services that may need to be restarted...
Checking init scripts...
Nothing to restart.
dpkg-divert: error: cannot divert directories
Use --help for help about diverting files.
dpkg: error processing archive /var/cache/apt/archives/libc6_2.39-0ubuntu8.4_amd64.deb (--unpack):
 new libc6:amd64 package pre-installation script subprocess returned error exit status 2
Selecting previously unselected package libc6:i386.
Preparing to unpack .../libc6_2.39-0ubuntu8.4_i386.deb ...
De-configuring libc6:amd64 (2.35-0ubuntu3.9), to allow configuration of libc6:i386 (<none>) ...
...
dpkg: error processing package libc6-dev:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libc-dev-bin:
 libc-dev-bin depends on libc6 (>> 2.39); however:
  Version of libc6:amd64 on system is 2.35-0ubuntu3.9.
 libc-dev-bin depends on libc6 (<< 2.40); however:
  Package libc6:amd64 is not configured yet.
...
dpkg: error processing package libc-dev-bin (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libc-devtools:
 libc-devtools depends on libc6 (>= 2.38); however:
  Version of libc6:amd64 on system is 2.35-0ubuntu3.9.
dpkg: error processing package libc-devtools (--configure):
 dependency problems - leaving unconfigured
...
dpkg: error processing package libc-bin (--configure):
 dependency problems - leaving triggers unprocessed
Errors were encountered while processing:
 locales
 libc6:amd64
 libc6:i386
 libc6-dev:amd64
 libc-dev-bin
 libc-devtools
 man-db
 libc-bin

Current status: 6 (+6) broken, 1234 (-6) upgradable.

In the end there seems to be a clash of the two libc6 libraries, one amd64 based and the other i386 based...

How can I handle this?

Any help/clue is appreciated!

Thank you very much :)
 

Attachments

  • Ubuntu-Update.zip
    4 KB · Views: 0
Ohhh...
just got this thread suggestion after posting my question:
I swear - before posting - I used the search function of the forum, but did not get this thread as a hit... :oops:
I just got this hit:
Question - Dist-Upgrade to Ubuntu 24.04 possible?

My problem seems to be related to the python3 installation as well...as I presume...
"python3-distutils" package is installed on my server along with a lot of other python3 packages...
I do not remember installing it by myself...the only python package I installed during setup was "libapache2-mod-python"

So...
starting the next upgrade run with the above hints in mind - I will first remove the "python3-distutils" package and all dependencies...
and hope that the upgrade will succeed... :cool:
 
FWIW @chris-taylor We participated in that ^ thread and the other thread that you mentioned and again FWIW we did omit step 14 (as indicated in that thread). However, at that time... this >> Dist-upgrade from Ubuntu 22 (Jammy Jellyfish) to Ubuntu 24 (Noble Numbat) - Manual step by step process << did NOT exist, so we utilized / modified, the previous process >> Dist-upgrade from Ubuntu 20 (Focal Fossa) to Ubuntu 22 (Jammy Jellyfish) - Manual step by step process << instead, which worked out just fine.

Plesk on Ubuntu 24.04.2 LTS has full expected functionality (for us), but we did still invoke additional custom config after the upgrade from 22.04.* LTS too.
 
@learning_curve: Thank you for your reply!
This gives me confidence for my next upgrade run... ;)
Actually I had a blink during my trials, if this step (14) is really necessary...
but time was up for my maintenance window...
So I gave up...
Next maintenance window is coming up... :)

Thank you very much!
 
Back
Top