I'm trying to employ update-alternatives
for different versions of OpenSSL on an Ubuntu 22 machine. The following works for OpenSSL 3 (after sudo -i
):
update-alternatives \--install /usr/bin/openssl openssl /usr/local/openssl/3.3.2/bin/openssl 3030200 \--slave /usr/local/bin/openssl openssl_ /usr/local/openssl/3.3.2/bin/openssl \--slave /lib/x86_64-linux-gnu/libssl.so libssl /usr/local/openssl/3.3.2/lib64/libssl.so.3 \--slave /lib/x86_64-linux-gnu/libssl.so.3 libssl_ /usr/local/openssl/3.3.2/lib64/libssl.so.3 \--slave /lib/x86_64-linux-gnu/libcrypto.so libcrypto /usr/local/openssl/3.3.2/lib64/libcrypto.so.3 \--slave /lib/x86_64-linux-gnu/libcrypto.so.3 libcrypto_ /usr/local/openssl/3.3.2/lib64/libcrypto.so.3 \--slave /usr/include/openssl openssl_include /usr/local/openssl/3.3.2/include/openssl
However, for OpenSSL 1, I get update-alternatives: error: unknown argument '/lib/x86_64-linux-gnu/libssl.so.1.1'
:
update-alternatives \--install /usr/bin/openssl openssl /usr/local/openssl/1.1.1w/bin/openssl 1010123 \--slave /usr/local/bin/openssl openssl_ /usr/local/openssl/1.1.1w/bin/openssl \--slave /lib/x86_64-linux-gnu/libssl.so libssl /usr/local/openssl/1.1.1w/lib/libssl.so.1.1 \--slave /lib/x86_64-linux-gnu/libssl.so.1.1 libssl_ /usr/local/openssl/1.1.1w/lib/libssl.so.1.1 \--slave /lib/x86_64-linux-gnu/libcrypto.so libcrypto /usr/local/openssl/1.1.1w/lib/libcrypto.so.1.1 \--slave /lib/x86_64-linux-gnu/libcrypto.so.1.1 libcrypto_ /usr/local/openssl/1.1.1w/lib/libcrypto.so.1.1 \--slave /usr/include/openssl openssl_include /usr/local/openssl/1.1.1w/include/openssl
I have tried establishing alternatives for OpenSSL 1 before OpenSSL 3, but I get the same error result. I have confirmed that all the target files for OpenSSL 1 exist on my file system.
Can anyone explain this? Is there a known problem with update-altervatives
that accounts for my experience here?