This worked for me as well. Still waiting for offcial release.
Can you drop the process of installing mongodb on docker ??
Hi Alexander, I’ve already posted the process above. I’ll re-post it in case you didn’t see it:
sudo docker run -dp 27017:27017 -v local-mongo:/data/db --name local-mongo --restart=always mongo
Thank you. Will try it now
As a sidenote, you can still download some of the mongodb binaries from the official ubuntu repo (not recommended by mongodb though), if you just playing around it is fine imho. Example:
sudo apt-get install mongo<tab>
mongocli mongodb-mongosh ...
sudo apt-get install mongodb-mongosh
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Recommended packages:
libssl1.1
You can see it skips libssl1.1
Is there any ETA on 22.04 packages? Or even RHEL 9?
Any rough estimate? It’s the only blocker we have now for both distros.
Hey fellas.
Is there already any “official” solution to that problem?
I also struggle with Ubuntu 22.04 LTS, cannot install MongoDB on it.
Hi folks! Ubuntu 22.04 has been out for almost 3 months now, when will we be able to install the official version of mongo without all sorts of hacks and tweaks?
I got mongodb 5.0.9 installed on ubuntu 22.05… but boy… it was a hassle.
First you have to remove the libssl1.1 dep from:
mongodb-org-mongos_5.0.9_amd64.deb
mongodb-org-server_5.0.9_amd64.deb
mongodb-org-shell_5.0.9_amd64.deb
My bash script (that’s added below) will open the ‘nano’ editor and offer you to edit the control file specifying the deps. Your are looking for a line like this (starting with “Depends” and containing a reference to “libssl1.1”):
Depends: libc6 (>= 2.29), libcurl4 (>= 7.16.2), libgcc-s1 (>= 4.2), liblzma5 (>= 5.1.1alpha+20110809), libssl1.1 (>= 1.1.1)
Remove the reference to libssl1.1 and save & quit. It should look like this:
Depends: libc6 (>= 2.29), libcurl4 (>= 7.16.2), libgcc-s1 (>= 4.2), liblzma5 (>= 5.1.1alpha+20110809)
The script will automagically repackage the files and generate you a new package with ‘-newpackage.deb’ attached to its name:
mongodb-org-mongos_5.0.9_amd64.deb-newpackage.deb
mongodb-org-server_5.0.9_amd64.deb-newpackage.deb
mongodb-org-shell_5.0.9_amd64.deb-newpackage.deb
Now put them in a folder and install them manually with dpkg:
sudo dpkg -i *.deb
After that run:
sudo apt install --no-install-recommends mongodb-org mongodb-org-database mongodb-org-tools mongodb-mongosh-shared-openssl3
Hint: You don’t need ‘mongodb-mongosh’ from the deps as it’s being replaced by ‘mongodb-mongosh-shared-openssl3’.
Afterwards I couldn’t start the mongod service:
Jun 11 18:14:11 systemd[1]: Started MongoDB Database Server.
Jun 11 18:14:11 systemd[48437]: mongod.service: Failed to determine user credentials: No such process
Jun 11 18:14:11 systemd[48437]: mongod.service: Failed at step USER spawning /usr/bin/mongod: No such process
Jun 11 18:14:11 systemd[1]: mongod.service: Main process exited, code=exited, status=217/USER
Jun 11 18:14:11 systemd[1]: mongod.service: Failed with result 'exit-code'.
Which was because of a missing user (after looking at ‘/etc/systemd/system/mongod.service’), so I added it:
sudo adduser mongodb
Edit, try, fail, repeat:
Jun 11 18:15:53 systemd[1]: Started MongoDB Database Server.
Jun 11 18:15:53 mongod[48504]: /usr/bin/mongod: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
Jun 11 18:15:53 systemd[1]: mongod.service: Main process exited, code=exited, status=127/n/a
Jun 11 18:15:53 systemd[1]: mongod.service: Failed with result 'exit-code'.
Missing libcrypto from ssl 1.1…
I didn’t have the 3.0 on the system, fix that:
sudo apt-get install libssl-dev
Now search for the file:
sudo find / -type f -name libcrypto.so*
link it:
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.3 /usr/lib/x86_64-linux-gnu/libcrypto.so.3 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
And we got the same error for ssl1.1…
Jun 11 18:23:59 mongod[48822]: /usr/bin/mongod: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
Search, link, start…
sudo find / -type f -name libssl.so.*
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.3 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
And error (obviously - it’s 3.0, not 1.1…):
Jun 11 18:26:29 systemd[1]: Started MongoDB Database Server.
Jun 11 18:26:29 mongod[48845]: /usr/bin/mongod: /lib/x86_64-linux-gnu/libcrypto.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/bin/mongod)
Jun 11 18:26:29 mongod[48845]: /usr/bin/mongod: /lib/x86_64-linux-gnu/libssl.so.1.1: version `OPENSSL_1_1_0' not found (required by /usr/bin/mongod)
Jun 11 18:26:29 mongod[48845]: /usr/bin/mongod: /lib/x86_64-linux-gnu/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/bin/mongod)
But didn’t I see a snap with 1.1 libs on the system when running the find commands? - Sure did!
$ sudo find / -type f -name libcrypto.so*
/usr/lib/x86_64-linux-gnu/libcrypto.so.3
/snap/core20/1518/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
$ sudo find / -type f -name libssl.so.*
/usr/lib/x86_64-linux-gnu/libssl.so.3
/snap/core20/1518/usr/lib/x86_64-linux-gnu/libssl.so.1.1
Let’s remove the previous link and they those…
$ sudo rm /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
$ sudo ln -s /snap/core20/1518/usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
$ sudo ln -s /snap/core20/1518/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
SUCCESS:
$ sudo service mongod start && sudo service mongod status
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-06-11 18:32:20 CEST; 49ms ago
Docs: https://docs.mongodb.org/manual
Main PID: 48894 (mongod)
Memory: 760.0K
CPU: 16ms
CGroup: /system.slice/mongod.service
└─48894 /usr/bin/mongod --config /etc/mongod.conf
Jun 11 18:32:20 systemd[1]: Started MongoDB Database Server.
Script:
#!/bin/bash
# name: debedit.sh
# author: showp1984
# description: unpacks, edits control file and repacks deb-files with gz or xz compression
# prerequisites: xz-utils && nano
# No guarantees. Use at your own peril.
unset DECOMPXZ
unset DECOMPGZ
FILES="{post,pre}{inst,rm} conffiles md5sums control"
echo "Uncompressing deb..."
ar x $*
FILEXZ="control.tar.xz"
if [ -f "$FILEXZ" ]; then
DECOMPXZ=1
echo "Found: $FILEXZ | using XZ decomp..."
tar --xz -xvf $FILEXZ
fi
FILEGZ="control.tar.gz"
if [ -f "$FILEGZ" ]; then
DECOMPGZ=1
echo "$FILEGZ exists."
tar xzf $FILEGZ
fi
nano control
if [[ "$DECOMPXZ" == 1 ]]; then
echo "Repacking $FILEXZ..."
tar --ignore-failed-read -cvJf $FILEXZ $FILES
echo "Repacking deb with xz files..."
ar rcs "${*}-newpackage.deb" debian-binary $FILEXZ data.tar.xz
fi
if [[ "$DECOMPGZ" == 1 ]]; then
echo "Repacking $FILEGZ..."
tar --ignore-failed-read -cvzf $FILEGZ $FILES
echo "Repacking deb with gz files..."
ar rcs "${*}-newpackage.deb" debian-binary $FILEGZ data.tar.gz
fi
echo "Cleanup..."
rm -r control md5sums debian-binary control.tar.xz data.tar.xz control.tar.gz data.tar.gz postrm preinst prerm conffiles postinst
echo "Done!"
I needed two more things mongodb was complaining about in the logs.
YMMV!
Add log dir & file:
$ sudo mkdir /var/log/mongodb/
$ sudo touch /var/log/mongodb/mongod.log
$ sudo chown mongodb:mongodb /var/log/mongodb/mongod.log
Add db dir:
$ sudo mkdir /var/lib/mongodb
$ sudo chown mongodb:mongodb /var/lib/mongodb
Have a nice weekend!
Well, that is a hell of a hack to make it work. Thanks for the effort and the information, but I will wait for an official release
For those who only need the shell and some tools like mongodum/restore, you just have to install those two packages witch are included in the officiel mongo repo:
sudo apt install mongodb-mongosh-shared-openssl3 mongodb-org-tools
yes its correctly worked I search lot of time to solve this problem.
Any updates? Almost 3 months from Ubuntu 22.04 release…
We found this really annoying but solved the problem by witching to AWS DocumentDB. Now everything works again under 22.04, we save some money by handing off the whole replication problem to AWS, and our searches are faster to boot. If the real MongoDB had gotten its act together sooner we would never have known.
This doesn’t worked for me, I have installed libssl3 but doesn’t work with libssl1.1.
I already have 3 days finding a solution but nothing
Download the libssl1.1
package from https://ubuntu.pkgs.org/20.04/ubuntu-main-amd64/libssl1.1_1.1.1f-1ubuntu2_amd64.deb.html
and install it using gdebi
or dpkg
. Then proceed installing mondodb using sudo apg-get install
Tried everything but no luck .Feel like the Mongo team does not want to fix it as the CE is a competitor to their Atlas … Any ideas for alternatives?
Do we have an official release yet?
Are we there yet? Sadly not…