libcrypt.so.1: cannot open shared object file when upgrading from Debian Buster to Bullseye

Having fun while upgrading Debian 10 to 11.

The Problem

The following error is thrown during a Debian upgrade from Buster to Bullseye:

/usr/bin/python3: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

The file /lib/x86_64-linux-gnu/libcrypt.so.1 used to be in package libc6 on Stretch and Buster until it was split off into a separate libcrypt in Bullseye (and in Sid).

When upgrading libc6 the system ends in a situation where libcrypt.so.1 is removed before a replacement from a new package is installed.

The Workaround

This is the repo file /etc/apt/sources.list:

deb [arch=amd64] http://ftp.uk.debian.org/debian/ bullseye main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ bullseye main contrib non-free

deb [arch=amd64] http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free

deb [arch=amd64] http://ftp.uk.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://ftp.uk.debian.org/debian/ bullseye-updates main contrib non-free

deb [arch=amd64] http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free

And these are the steps that I used to resolve the problem:

$ cd /tmp
$ apt download libcrypt1
$ dpkg-deb -x libcrypt1_1%3a4.4.33-2_amd64.deb .
$ sudo cp -av lib/x86_64-linux-gnu/* /lib/x86_64-linux-gnu/
$ sudo chmod 1777 /tmp
$ sudo apt --fix-broken install

References

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993755

29 thoughts on “libcrypt.so.1: cannot open shared object file when upgrading from Debian Buster to Bullseye

  1. This one helped, but it also created a new issue. By unpacking to /tmp/, the privileges of the /tmp were changed to 755, so afterwards apt-get update would complain that it cannot create new folders. The solution was to run
    sudo chmod 1777 /tmp
    after the whole operation, maybe you can add that for other users so they can just copy all the lines.

  2. What’s the solution when this happens on a linode instance in the cloud?
    I can’t get a login. Do I have to wipe my system and start over?

    • If you have a support plan with Linode, then your best bet is to contact them and ask for assistance. If you don’t, then you’ll likely need to restore from a backup and start over I’m afraid.

  3. Thanks a million, saved me upgrading from 2019 so kinda expecting things to blow up 😆 been afk for awhile

  4. Thanks for sharing.

    I was doing an update/upgrade from Jessie to Buster
    and then from Buster to Bookworm.
    I got stuck on that part, and thanks to your info, you probably saved me a lot of time.

  5. Thanks for sharing.
    I upgraded from 10 to 12 and I get that error.
    Everything in the fix goes well up to the point to copy, then I get the same result; account locked and vm is dead, blackscreen at login.
    Someone knows how to fix ?

  6. Hey, we were struggeling with a update from buster to bookworm.
    the exact same issue appeared and your workaround worked great.
    thank you for sharing

Leave a Reply

Your email address will not be published. Required fields are marked *