我需要在 debian 9 (stretch) 上安装 openssl 1.0。当我运行 apt-get install openssl 时,默认安装版本 1.1。
如何更改存储库以安装旧版本的 openssl?
答案1
正如其他人提到的,如果您可以使用 OpenSSL 1.1 来代替,那就最好了。
但是,如果您确实需要 OpenSSL 1.0,答案取决于您的具体要求。如果您只需要 OpenSSL 库,并且版本 1.0.2 合适,那么您可以libssl1.0.2
从 Debian 9 安装并完成它。
如果您需要 1.0 版本openssl
工具的 1.0 版本或该库的 1.0.1 版本,Debian 9 上最简单的选择是从 Debian 8 安装它(该版本仍然会收到安全更新,并且会持续到 2020 年)。为此,请创建一个名为的文件,/etc/apt/sources.list.d/jessie.list
其中包含以下内容:
deb http://httpredir.debian.org/debian jessie main contrib non-free
deb-src http://httpredir.debian.org/debian jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
然后运行sudo apt update
apt install openssl/jessie
然后为openssl
工具或apt install libssl1.0.0
库, 和。
与某些人的说法相反,由于包管理和正确定义的包依赖关系,您不会因为安装这些包而冒破坏系统的风险。
答案2
我不知道您是否会找到旧版本的软件,例如openssl
,对于您的发行版的新版本,因为大多数时候它没有意义,因为新版本应该修复问题等(当然它们是例外) )。或者,为什么不直接使用 Debian 8?
但看看https://serverfault.com/questions/108080/ubuntu-debian-show-list-of-available-versions-of-a-specific-package以及apt-show-versions
和rmadison
工具。
因此,首先您必须真正确保您绝对需要旧版本。您没有详细说明您的用例,因此很难提供好的建议。
您始终可以做的就是从源代码本身进行安装......但这不是一个简单的任务。编译本身可能没什么大不了的,但是您需要将其与系统部分分开安装,例如/usr/local
通常被其他应用程序用作库的东西,您需要重新编译其他应用程序,以确保使用您的本地版本而不是系统版本。如果您碰巧找到适合您需要的旧软件包,您也会遇到类似的问题:系统上依赖的其他应用程序openssl
可能不再工作,并且您系统上的软件列表可能已损坏。
简而言之,请绝对确定您需要这样做!
如果您从未在 Linux 系统上编译过任何东西(在所有发行版中几乎都是相同的),那么openssl
它可能不是第一次尝试的最佳选择。
去https://www.openssl.org/source/并下载您需要的版本(我确实希望您在这里找到它,因为否则您将遇到更大的问题)。
与其他软件一样,从README
它开始基本上会告诉您阅读INSTALL
.归结为:
$ ./config
$ make
$ make test
$ make install
但请确保在执行任何操作之前阅读该文件,因为它包含重要信息,例如软件的安装位置。
然后你需要能够在你需要的任何应用程序中使用结果......但是你没有给出你的问题的上下文,所以我无法帮助你。通常,您需要使用标志重新编译其他软件,例如--with-openssl=DIRECTORY
强制其使用您的版本而不是正常的系统版本。