Ubuntu mainline kernel packages 5.15.7 and later bump a dependency from libssl1.1 (>= 1.1.0)
to libssl3 (>= 3.0.0~~alpha1)
.
However, package libssl3
is not available for Ubuntu 21.10 Impish Indri. It’s only available for Ubuntu 22.04 Jammy Jellyfish (which is still in beta as of time of writing) and later.
libssl3
further depends on libc6>=2.34
and debconf
, but they are available in 21.10 repositories.
Here are a few different ways to resolve the dependency:
Option 1
Use apt pinning to install libssl3
from a Jammy repo, without pulling in everything else from Jammy.
This is more complicated, but it allows the libssl3
package to receive updates automatically.
Do all the following as root.
- Create an apt config file to specify your system’s current release as the default release for installing packages, instead of simply the highest version number found. We are about to add a Jammy repo to apt, which will contain a lot of packages with higher version numbers, and we want apt to ignore them all.
$ echo 'APT::Default-Release "impish";' \
| sudo tee /etc/apt/apt.conf.d/01ubuntu
- Add the Jammy repository to the apt sources. If your system isn’t “impish”, change that below.
$ awk '($1$3$4=="debimpishmain"){$3="jammy" ;print}' /etc/apt/sources.list \
| sudo tee /etc/apt/sources.list.d/jammy.list
- Pin
libssl3
to the jammy version in apt preferences. This overrides the Default-Release above, just for thelibssl3
package.
$ sudo tee /etc/apt/preferences.d/libssl3 >/dev/null <<%%EOF
Package: libssl3
Pin: release n=jammy
Pin-Priority: 900
%%EOF
- Install
libssl3
:
$ sudo apt update
$ sudo apt install libssl3
Later, when Jammy is officially released, delete all 3 files created above
$ sudo rm --force \
/etc/apt/apt.conf.d/01ubuntu \
/etc/apt/sources.list.d/jammy.list \
/etc/apt/preferences.d/libssl3
Option 2
Download the libssl3 deb package for Jammy and install it manually with dpkg -i filename.deb
.
This only works if there aren’t any additional dependencies, which you would also have to install, with a risk of breaking your system. Here Be Dragons…
Very nice! I love this method #1. Clear and concise explanation too. 🙏🏽
With respect to `libc6`, this blog is sort of like a cliff-hanger where the episode ends and we never find out how to resolve that part of the installation. Any blog updates on how to get that dependency also installed on 20.04 LTS would be greatly appreciated.
thank u! u save my life!