在 ec2 上安装 openssl-devel

Jos*_*ore 3 yum openssl amazon-ec2

我正在尝试在 ec2 上的 64 位 linux 实例上安装 openssl-devel。但是,当我尝试安装它时,出现sudo yum install openssl-devel此错误:

Error: Package: openssl-devel-1.0.0g-1.26.amzn1.x86_64 (amzn-updates)
       Requires: openssl = 1.0.0g-1.26.amzn1
       Installed: openssl-1.0.0i-1.41.amzn1.i686 (@amzn-updates/latest)
           openssl = 1.0.0i-1.41.amzn1
       Available: openssl-1.0.0a-10.13.amzn1.i686 (amzn-main)
           openssl = 1.0.0a-10.13.amzn1
       Available: openssl-1.0.0e-2.16.amzn1.i686 (amzn-updates)
           openssl = 1.0.0e-2.16.amzn1
       Available: openssl-1.0.0g-1.26.amzn1.i686 (amzn-updates)
           openssl = 1.0.0g-1.26.amzn1
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试安装 openssl-1.0.0g-1.26.amzn1 时,我得到以下响应:

Setting up Install Process
Package matching openssl-1.0.0g-1.26.amzn1.x86_64 already installed. Checking for update.
Nothing to do
Run Code Online (Sandbox Code Playgroud)

安装的 openSSL 版本 (1.0.0i-1.41.amzn1) 不会让我更改为我需要的版本,这将允许我安装 openssl-devel。关于如何更改已安装的版本或安装兼容的 openssl-devel 的任何想法?

Mic*_*ton 8

您同时安装了x86_64i686版本openssl,但它们的版本不同。发生这种情况时,Yum 会感到非常困惑。

要解决此问题,您需要同步两个版本,或者删除(如果需要,也可以重新安装)其中之一。

选项 1:同步

更新应该让你的系统进入一个合理的状态:

yum update
Run Code Online (Sandbox Code Playgroud)

安装您真正想要的软件包:

yum install openssl-devel
Run Code Online (Sandbox Code Playgroud)

如果失败,请继续...

选项 2:删除并重新安装

删除违规包:

rpm --nodeps -e openssl.i686
Run Code Online (Sandbox Code Playgroud)

安装您真正想要的软件包:

yum install openssl-devel
Run Code Online (Sandbox Code Playgroud)

安装之前删除的包:

yum install openssl
Run Code Online (Sandbox Code Playgroud)