无法找到包 libssl1.1

无法找到包 libssl1.1

我正在尝试安装此依赖项但一直收到此错误消息:

这是我在终端中输入的内容:

sudo apt install libssl1.1

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libssl1.1
E: Couldn't find any package by glob 'libssl1.1'

如何获得libssl1.1

我对 Linux 还很陌生,所以我不知道这是否是一个显而易见的问题。

我正在使用 Ubuntu 22.04 LTS

答案1

Ubuntu 22.04 使用libssl3,因此libssl1.1目前已被弃用。

为 Ubuntu 22.04 创建使用过时版本的新软件包libssl似乎是一个非常糟糕的主意。此外,对系统范围的库版本进行修改也是libssl一个非常糟糕的主意,这可能会在未来带来不可预测的后果。

因此,一个选择是,如果您要继续使用 Ubuntu 22.04,则应该将其转换为libssl3用于您的应用程序。

另一种选择是在虚拟机或容器内运行旧版应用程序,您可以在其中安装已安装的旧版本的 Ubuntu(例如 20.04)libssl1.1

就您的情况而言,这两个选项似乎是最可行的途径。

答案2

虽然我认为 Artur 的建议很好。我设法easytether-usb通过从 @Nishant 在其回答中引用的 1.1 安装中获取来解决旧版应用程序(特别是)的libcrypto.so.1.1问题。我将其安装在我的主目录下的用户空间中,并在中创建了指向它的符号链接/lib/libcrypto.so.1.1

sudo ln -s ~/openssl/lib/libcrypto.so.1.1 /lib/libcrypto.so.1.1

您通常可以添加~/openss/libLD_LIBRARY_PATH所讨论的特定应用程序中,但就我而言,leacy 应用程序没有正确查找$LD_LIBRARY_PATH,因此我必须找出它正在寻找的位置libcrypto.so.1.1,我使用以下命令进行操作:

sudo strace -e trace=open,openat,close,read,write,connect,accept easytether-usb

这表明我尝试了十几次libcrypto.so.1.1在不同位置查找该文件,这就是我知道要将符号链接添加到/lib/上面的原因。

此后,旧版应用程序启动并正常运行。其他用例可能需要其他共享库。strace上面的命令应该有助于确定需要什么。

答案3

https://packages.ubuntu.com/bionic/amd64/libssl1.1/download

给你!如果你想下载 libss,请使用此链接。

答案4

我建议的一种方法是将focal存储库放入 22.04 LTS sources.list。你只需复制这些main, universe and multiverse行并替换jelly为 focal 即可。

然后执行sudo apt update它也会从焦点存储库更新,然后您可以libssl1.1从安装预编译的focal repo。但请务必稍后对其进行注释,因为它可能会与以后的软件包发生冲突。

相关内容