Ubuntu 22.04 uses libssl3, and thus libssl1.1 is deprecated at this point.
Creating a new package for Ubuntu 22.04 that uses an obsolete libssl version seems like a very bad idea. Also, messing with versions for systemwide libraries like libssl is a similarly a very bad idea, which may have unpredictable consequences in the future.
So one option is that if you will continue to use Ubuntu 22.04, you should convert into using libssl3 for your apps.
Another option is to run legacy apps inside a VM or container, where you could install an older version of Ubuntu (e.g. 20.04) that has libssl1.1 installed.
These two options seem to be the most viable paths to take in your situation.
Answer from Artur Meinild on askubuntu.comUbuntu 22.04 uses libssl3, and thus libssl1.1 is deprecated at this point.
Creating a new package for Ubuntu 22.04 that uses an obsolete libssl version seems like a very bad idea. Also, messing with versions for systemwide libraries like libssl is a similarly a very bad idea, which may have unpredictable consequences in the future.
So one option is that if you will continue to use Ubuntu 22.04, you should convert into using libssl3 for your apps.
Another option is to run legacy apps inside a VM or container, where you could install an older version of Ubuntu (e.g. 20.04) that has libssl1.1 installed.
These two options seem to be the most viable paths to take in your situation.
Although I think the advice given by Artur is good. I managed to resolve this for a legacy app (specifically easytether-usb) by grabbing libcrypto.so.1.1 from the 1.1 install as referenced by @Nishant in his answer. I installed that in user space under my home directory and created a sym link to it in /lib/libcrypto.so.1.1:
sudo ln -s ~/openssl/lib/libcrypto.so.1.1 /lib/libcrypto.so.1.1
You can normally add ~/openss/lib to the LD_LIBRARY_PATH for the specific application in question, but in my case the leacy app didn't properly look in $LD_LIBRARY_PATH, so I had to find out where it was looking for libcrypto.so.1.1, I did that with the following:
sudo strace -e trace=open,openat,close,read,write,connect,accept easytether-usb
That showed me a dozen or so attempts to find the file libcrypto.so.1.1 in various locations, which is why I knew to add the sym link to /lib/ above.
After that the legacy app fired up and worked like normal. Other uses cases will likely need other shared libraries. the strace command above should help determine what's needed.
sudo -i
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
- Go to http://archive.ubuntu.com/ubuntu/pool/main/o/openssl
- find the exact version of libssl for example libssl1.1.1
- wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1\~18.04.20_amd64.deb
- Then install
- sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb
raspbian stretch - How do I install the libssl1.0.0 package? - Raspberry Pi Stack Exchange
Can not install on Ubuntu 22.04 (jammy) due to libssl1.1 dependency
Broken php and libssl1.1 installation on Ubuntu 16.04 - Stack Overflow
Need this dependency libssl1.1
Note that libssl1.0.0 is obsolete and no longer updated; any binary linking to it probably suffers from various security issues (perhaps not exploitable, but you’d need to determine that in your scenarios). You should really look for a newer version of whatever it is you’re trying to use.
However, you can find libssl1.0.0 on Debian snapshots; download the appropriate package and install it. For example on amd64:
wget http://snapshot.debian.org/archive/debian/20170705T160707Z/pool/main/o/openssl/libssl1.0.0_1.0.2l-1%7Ebpo8%2B1_amd64.deb
sudo dpkg -i libssl1.0.0*.deb
You may need to install multiarch-support first:
wget http://snapshot.debian.org/archive/debian/20190501T215844Z/pool/main/g/glibc/multiarch-support_2.28-10_amd64.deb
sudo dpkg -i multiarch-support*.deb
(Having this library installed only affects binaries which link to it; it won’t create security issues for other binaries linking to other versions of the library.)
I was facing a libssl1.1 issue when trying to install mongo-db in Pop!_OS 22.04 LTS (or Ubuntu 22.04 LTS).
As @stephen-kitt mentioned libssl1.x is an obsolete package. So you need to manually install the required package.
- Go to this page
- Find the exact version of libssl for example libssl1.1.1
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb(use your version url respectively)- Then install with
sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb
Hope this helps others who are trying to do the same.
The issue is referenced on Github, all credit goes to @feisalramar.
Your installation says
Package libssl1.0.0 is not available ...
So just look what's available with
rpi ~$ apt list libssl*
Listing... Done
libssl-dev/oldstable 1.1.0k-1~deb9u1 armhf
libssl-doc/oldstable 1.1.0k-1~deb9u1 all
libssl-ocaml/oldstable 0.5.2-2 armhf
libssl-ocaml-dev/oldstable 0.5.2-2 armhf
libssl1.0-dev/oldstable 1.0.2s-1~deb9u1 armhf
libssl1.0.2/oldstable,now 1.0.2s-1~deb9u1 armhf
libssl1.1/oldstable,now 1.1.0k-1~deb9u1 armhf [installed]
Try to use libssl1.0.2 instead of libssl1.0.0.
- sudo nano /etc/apt/sources.list
- add deb http://security.ubuntu.com/ubuntu bionic-security main
- sudo apt update && apt-cache policy libssl1.0-dev
- sudo apt-get install libssl1.0-dev
The results of rmadison libssl1.0.0 show that the libssl1.0.0 package was dropped from the default Ubuntu repositories after Ubuntu 18.04.
$ rmadison libssl1.0.0 libssl1.0.0 | 1.0.1-4ubuntu3 | precise | amd64, armel, armhf, i386, powerpc libssl1.0.0 | 1.0.1-4ubuntu5.39 | precise-security | amd64, armel, armhf, i386, powerpc libssl1.0.0 | 1.0.1-4ubuntu5.39 | precise-updates | amd64, armel, armhf, i386, powerpc libssl1.0.0 | 1.0.1f-1ubuntu2 | trusty | amd64, arm64, armhf, i386, powerpc, ppc64el libssl1.0.0 | 1.0.1f-1ubuntu2.27 | trusty-security | amd64, arm64, armhf, i386, powerpc, ppc64el libssl1.0.0 | 1.0.1f-1ubuntu2.27 | trusty-updates | amd64, arm64, armhf, i386, powerpc, ppc64el libssl1.0.0 | 1.0.2g-1ubuntu4 | xenial | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x libssl1.0.0 | 1.0.2g-1ubuntu4.15 | xenial-security | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x libssl1.0.0 | 1.0.2g-1ubuntu4.15 | xenial-updates | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x libssl1.0.0 | 1.0.2n-1ubuntu5 | bionic | amd64, arm64, armhf, i386, ppc64el, s390x libssl1.0.0 | 1.0.2n-1ubuntu5.3 | bionic-security | amd64, arm64, armhf, i386, ppc64el, s390x libssl1.0.0 | 1.0.2n-1ubuntu5.3 | bionic-updates | amd64, arm64, armhf, i386, ppc64el, s390x
The results of apt search libssl show that the libssl package has been upgraded to libssl1.1 in Ubuntu 19.04-20.04. To install it open the terminal and type:
sudo apt install libssl1.1
libssl has been upgraded to libssl3 in Ubuntu 22.04-23.10. libssl has been upgraded to libssl3t64 in Ubuntu 24.04-24.10.
If you need libssl1.0.0 on anything after Debian 8 (Jessie), you'll need to update your apt sources before apt installing.
Adding the following lines to my dockerfile worked:
RUN echo "deb http://security.debian.org/debian-security jessie/updates main" >> /etc/apt/sources.list
RUN apt-get update -y && apt-get install -y --no-install-recommends \
libssl1.0.0
I have resolved the issue by installing libssl manually.
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
I've encountered this issue with 22.04 LTS, ended up writing the following script for my systems to have it installed, as one of the tools I use to setup the system requires it.
Hope others find this useful.
# Find the most recent 1.1 libssl package in the ubuntu archives
BASE_URL='http://archive.ubuntu.com/ubuntu/pool/main/o/openssl'
FILE="$( # The get parameters in the URL sort the results by descending chronological order
curl -s "${BASE_URL}/?C=M;O=D" $(\
# Make sure all tags are on separate lines - makes grep-work later easier \
) | tr '>' '>\n' $(\
# extract all the unique links on the page \
) | grep 'href' | sed 's/^.*href="\([^"]*\)".*$/\1/p' | awk '!a[$0]++' $(\
# pick the most relevant items on the list (libssl 1.1 for amd64 arch) \
) | grep "libssl" | grep "1.1_" | grep "amd64.deb" $(\
# choose only the last one \
) | tail -1 )"
# Grab the file and if download was successful, install it with sudo
wget "${URL_BASE}/${FILE}" && sudo dpkg -i "./${FILE}"
Hello.
I need to install a VPN for my job. This vpn ask, amongst another libraries, libssl1.1.
Tried to install it through apt, bit this library is not in the repo anymore (I have libssl3 already installed, but that one doesn't work)
Im using pop os, recently updated to 22.04.
VPN is Forcepoint 2.5, Linux version, without gui, only cli.
So, I need to install that library in order to use the vpn, how can I do it? Where can I find it? Looking on Internet I only found a guy saying to install an old repo to download it, is it a good idea? Can I delete that repo later easily?
Thanks in advance! I'm a bit new to Linux, still on the basics but learning!
Edit december 2022
MongoDB 6.0 is now installable from mongodb repositories on Jammy, without requiring libssl1.1
Original answer
MongoDb has no official build for ubuntu 22.04 at the moment.
Ubuntu 22.04 has upgraded libssl to 3 and does not propose libssl1.1
You can force the installation of libssl1.1 by adding the ubuntu 20.04 source:
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update
sudo apt-get install libssl1.1
Then use your commands to install mongodb-org.
Then delete the focal-security list file you just created:
sudo rm /etc/apt/sources.list.d/focal-security.list
Ubuntu 22.04 doesn't have official MongoDB packages yet, so the best option now is to have Ubuntu 20.04, where official MongoDB packages are available.
It's NOT recommended to use any workaround in Ubuntu 22.04 to install MongoDB, because it can lead to problems if you gonna use it in production. Below is the workaround that worked for me:
Download
libssl1.1_1.1.1f-1ubuntu2_amd64.debfrom official repository:wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.debInstall it:
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.debProceed with the installation of MongoDB:
sudo apt-get install -y mongodb-org
This solution is from MongoDB Forum, but I also added a few notes to keep in mind.
I was stucked in the same problem. I tried this and worked to me:
cd /var/lib/dpkg/info
sudo rm libssl1.1:amd64.postinst libssl1.1:amd64.shlibs libssl1.1:amd64.postrm
sudo apt update && sudo apt upgrade
got from linuxquestions.org forum.
try sudo rm /var/cache/debconf/*.dat it will rebuild the .dat files when you run apt-get again.
credit
The issues is with the letter version of libssl1.1 (= 1.1.1f-1ubuntu2) that needs to be downgraded. It was simple to do it with synaptic instead of apt install as follows:
sudo aptitude install libssl-dev
he following NEW packages will be installed:
libssl-dev{b}
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1.582 kB of archives. After unpacking 8.005 kB will be used.
The following packages have unmet dependencies:
libssl-dev : Depends: libssl1.1 (= 1.1.1f-1ubuntu2) but 1.1.1g-1+ubuntu18.04.1+deb.sury.org+1 is installed
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) libssl-dev [Not Installed]
Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:
Downgrade the following packages:
1) libssl1.1 [1.1.1g-1+ubuntu18.04.1+deb.sury.org+1 (now) -> 1.1.1f-1ubuntu2 (focal)]
Accept this solution? [Y/n/q/?] y
The following packages will be DOWNGRADED:
libssl1.1
The following NEW packages will be installed:
libssl-dev
0 packages upgraded, 1 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Need to get 2.900 kB of archives. After unpacking 8.087 kB will be used.
Do you want to continue? [Y/n/?] Y
Basically don't accept the proposed solution and carry on the a package downgrade
I just do this and worked for me :)
sudo apt-get install libssl1.1="1.1.1f-1ubuntu2"
It seems mongodb require specific version of libssl1.1
- you can download debian file of that version and install using following commands. Most probably it will resolve this issue.
sudo wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
After hours of looking for a solution I was satisfied with, I finally stumbled across one! Hope this helps anyone else looking to install MongoDB community edition without sacrificing security by using libssl1.1 (the solution here uses >3.0.
MongoDB has the repository for Ubuntu 22.04.1 LTS (Jammy Jellyfish) hidden away. It definitely still isn't on the documentation installation pages as of the time I am posting this. Check it out yourself: https://repo.mongodb.org/apt/ubuntu/dists/jammy/mongodb-org/
The following code will add the repository and install the latest mongodb-org on your system:
sudo apt-get install wget gpg
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor > packages.mongodb.gpg
sudo install -D -o root -g root -m 644 packages.mongodb.gpg /etc/apt/keyrings/packages.mongodb.gpg
echo "deb [ arch=amd64,arm64 signed-by=/etc/apt/keyrings/packages.mongodb.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
rm -f packages.mongodb.gpg
sudo apt-get install -y mongodb-org