天津市建设工程网站,遵义网站建设推广,东莞市网络营销公司,什么是wordpress网站网上有很多编译OpenSSL源码(3.x版本)为RPM包的文章#xff0c;这些文章在安装RPM包时都是执行rpm -ivh openssl-xxx.rpm --nodeps --force 这个命令能在缺少依赖包的情况下能强行执行安装
其实根据Centos的文档#xff0c;安装RPM包一般是执行yum install或dnf install。后者…网上有很多编译OpenSSL源码(3.x版本)为RPM包的文章这些文章在安装RPM包时都是执行rpm -ivh openssl-xxx.rpm --nodeps --force 这个命令能在缺少依赖包的情况下能强行执行安装
其实根据Centos的文档安装RPM包一般是执行yum install或dnf install。后者是Centos 9 stream的安装命令是替换yum命令的。
以Centos 9上生成的OpenSSH 3.5的RPM包为例生成了3个RPM包分别是 :
openssl-3.5.0-2.el9.x86_64.rpmopenssl-libs-3.5.0-2.el9.x86_64.rpmopenssl-devel-3.5.0-2.el9.x86_64.rpm
执行安装的命令为 :
dnf install ./openssl-libs-3.5.0-2.el9.x86_64.rpm ./openssl-3.5.0-2.el9.x86_64.rpm报错信息类似如下: Problem 1: problem with installed package crypto-policies-20240828-2.git626aa59.el9.noarch- package crypto-policies-20240828-2.git626aa59.el9.noarch from System conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240304-1.gitb1c706d.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240815-1.gite217f03.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240822-1.gitbaf3e06.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240828-2.git626aa59.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20250128-1.git5269e22.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- conflicting requestsProblem 2: problem with installed package crypto-policies-scripts-20240828-2.git626aa59.el9.noarch- package crypto-policies-scripts-20240828-2.git626aa59.el9.noarch from System requires crypto-policies 20240828-2.git626aa59.el9, but none of the providers can be installed- package crypto-policies-scripts-20240828-2.git626aa59.el9.noarch from baseos requires crypto-policies 20240828-2.git626aa59.el9, but none of the providers can be installed- package crypto-policies-scripts-20240304-1.gitb1c706d.el9.noarch from baseos requires crypto-policies 20240304-1.gitb1c706d.el9, but none of the providers can be installed- package crypto-policies-scripts-20240815-1.gite217f03.el9.noarch from baseos requires crypto-policies 20240815-1.gite217f03.el9, but none of the providers can be installed- package crypto-policies-scripts-20240822-1.gitbaf3e06.el9.noarch from baseos requires crypto-policies 20240822-1.gitbaf3e06.el9, but none of the providers can be installed- package crypto-policies-scripts-20250128-1.git5269e22.el9.noarch from baseos requires crypto-policies 20250128-1.git5269e22.el9, but none of the providers can be installed- package crypto-policies-20240828-2.git626aa59.el9.noarch from System conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240304-1.gitb1c706d.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240815-1.gite217f03.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240822-1.gitbaf3e06.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20240828-2.git626aa59.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package crypto-policies-20250128-1.git5269e22.el9.noarch from baseos conflicts with openssl-libs 1:3.0.1-10 provided by openssl-libs-1:3.5.0-2.el9.x86_64 from commandline- package openssl-1:3.5.0-2.el9.x86_64 from commandline requires openssl-libs 3.5.0-2.el9, but none of the providers can be installed- package openssl-1:3.5.0-2.el9.x86_64 from commandline requires libcrypto.so.3(OPENSSL_3.3.0)(64bit), but none of the providers can be installed- package openssl-1:3.5.0-2.el9.x86_64 from commandline requires libcrypto.so.3(OPENSSL_3.4.0)(64bit), but none of the providers can be installed- package openssl-1:3.5.0-2.el9.x86_64 from commandline requires libcrypto.so.3(OPENSSL_3.5.0)(64bit), but none of the providers can be installed- package openssl-1:3.5.0-2.el9.x86_64 from commandline requires libssl.so.3(OPENSSL_3.4.0)(64bit), but none of the providers can be installed- conflicting requests
(try to add --allowerasing to command line to replace conflicting packages or --skip-broken to skip uninstallable packages or --nobest to use not only best candidate packages)上述报错的意思是crypto-policies-20240828-2.git626aa59.el9.noarch包与低于1:3.0.1-10版本的openssl-libs的包有冲突.这里的版本号1:3.0.1-10中的1:意思是EPOCH的值3.0.1才是我们常说的版本号。
现在安装的是openssl-libs-3.5.0,即版本是3.5.0,是大于3.0.1的按理应该不冲突才对而实际上却发生冲突了。
我尝试重新编译和打包crypto-policies,目的就是修改对OpenSSL版本的限制。 第一次我设置为Conflicts: openssl 1:2.9.1-10,即crypto-policies包对OpenSSL 2.9即以下版本有冲突但测试发现限制条件没有生效 第二次我直接取消了对OpenSSL的版本限制,测试发现能成功使用dnf install命令安装OpenSSL.
下面是我分别安装crypto-policies和OpenSSL 3.5.0的输出
1.更新crypto-policies
dnf install ~/tool/crypto-policies/crypto-policies-scripts-20251215-1.git9a18988.el9.noarch.rpm \
~/tool/crypto-policies/crypto-policies-20251215-1.git9a18988.el9.noarch.rpm输出如下 :
Package Architecture Version Repository SizeUpgrading:crypto-policies noarch 20251215-1.git9a18988.el9 commandline 55 kcrypto-policies-scripts noarch 20251215-1.git9a18988.el9 commandline 84 kTransaction SummaryUpgrade 2 PackagesTotal size: 140 k说明 :
使用的源码是fedora-crypto-policies-rhel9.tar.gz,来自https://gitlab.com/redhat-crypto/fedora-crypto-policies/-/tree/rhel9?ref_typeheads的 rhel9 分支crypto-policies的版本号20251215-1是随便设置的,目的是比原版本号高就可以了
2.安装Openssl 3.5.0
dnf install /root/tool/openssl/openssl-libs-3.5.0-2.el9.x86_64.rpm /root/tool/openssl/openssl-3.5.0-2.el9.x86_64.rpm输出如下 :
Package Architecture Version Repository SizeUpgrading:openssl x86_64 1:3.5.0-2.el9 commandline 983 kopenssl-libs x86_64 1:3.5.0-2.el9 commandline 4.2 M
Installing dependencies:perl-AutoLoader noarch 5.74-481.el9 baseos 21 kperl-B x86_64 1.80-481.el9 baseos 180 kperl-Carp noarch 1.50-460.el9 baseos 30 kperl-Class-Struct noarch 0.66-481.el9 baseos 22 kperl-Data-Dumper x86_64 2.174-462.el9 baseos 56 kperl-Digest noarch 1.19-4.el9 baseos 26 kperl-Digest-MD5 x86_64 2.58-4.el9 baseos 37 kperl-Encode x86_64 4:3.08-462.el9 baseos 1.7 Mperl-Errno x86_64 1.30-481.el9 baseos 14 kperl-Exporter noarch 5.74-461.el9 baseos 32 kperl-Fcntl x86_64 1.13-481.el9 baseos 20 kperl-File-Basename noarch 2.85-481.el9 baseos 17 kperl-File-Path noarch 2.18-4.el9 baseos 36 kperl-File-Temp noarch 1:0.231.100-4.el9 baseos 60 kperl-File-stat noarch 1.09-481.el9 baseos 17 kperl-FileHandle noarch 2.03-481.el9 baseos 15 kperl-Getopt-Long noarch 1:2.52-4.el9 baseos 61 kperl-Getopt-Std noarch 1.12-481.el9 baseos 15 kperl-HTTP-Tiny noarch 0.076-462.el9 baseos 54 kperl-IO x86_64 1.43-481.el9 baseos 88 kperl-IO-Socket-IP noarch 0.41-5.el9 baseos 43 kperl-IO-Socket-SSL noarch 2.073-2.el9 baseos 217 kperl-IPC-Open3 noarch 1.21-481.el9 baseos 22 kperl-MIME-Base64 x86_64 3.16-4.el9 baseos 31 kperl-Mozilla-CA noarch 20200520-6.el9 baseos 13 kperl-Net-SSLeay x86_64 1.94-1.el9 baseos 414 kperl-POSIX x86_64 1.94-481.el9 baseos 96 kperl-PathTools x86_64 3.78-461.el9 baseos 88 kperl-Pod-Escapes noarch 1:1.07-460.el9 baseos 21 kperl-Pod-Perldoc noarch 3.28.01-461.el9 baseos 87 kperl-Pod-Simple noarch 1:3.42-4.el9 baseos 225 kperl-Pod-Usage noarch 4:2.01-4.el9 baseos 41 kperl-Scalar-List-Utils x86_64 4:1.56-462.el9 baseos 71 kperl-SelectSaver noarch 1.02-481.el9 baseos 11 kperl-Socket x86_64 4:2.031-4.el9 baseos 56 kperl-Storable x86_64 1:3.21-460.el9 baseos 96 kperl-Symbol noarch 1.08-481.el9 baseos 14 kperl-Term-ANSIColor noarch 5.01-461.el9 baseos 49 kperl-Term-Cap noarch 1.17-460.el9 baseos 23 kperl-Text-ParseWords noarch 3.30-460.el9 baseos 17 kperl-Text-TabsWrap noarch 2013.0523-460.el9 baseos 24 kperl-Time-Local noarch 2:1.300-7.el9 baseos 34 kperl-URI noarch 5.09-3.el9 baseos 121 kperl-WWW-Curl x86_64 4.17-29.el9 epel 62 kperl-base noarch 2.27-481.el9 baseos 16 kperl-constant noarch 1.33-461.el9 baseos 24 kperl-if noarch 0.60.800-481.el9 baseos 14 kperl-interpreter x86_64 4:5.32.1-481.el9 baseos 71 kperl-libnet noarch 3.13-4.el9 baseos 130 kperl-libs x86_64 4:5.32.1-481.el9 baseos 2.2 Mperl-mro x86_64 1.23-481.el9 baseos 28 kperl-overload noarch 1.31-481.el9 baseos 45 kperl-overloading noarch 0.02-481.el9 baseos 12 kperl-parent noarch 1:0.238-460.el9 baseos 15 kperl-podlators noarch 1:4.14-460.el9 baseos 114 kperl-subs noarch 1.03-481.el9 baseos 11 kperl-vars noarch 1.05-481.el9 baseos 13 k
Installing weak dependencies:perl-NDBM_File x86_64 1.15-481.el9 appstream 22 kTransaction SummaryInstall 58 Packages
Upgrade 2 PackagesTotal size: 12 M特别说明 :
考虑到crypto-policies是整个系统的加密基础,因此不建议安装自己打包的RPM从安装OpenSSL的输出也可以知道在执行rpm -ivh安装OpenSSL时需要自行安装哪些依赖包由于OpenSSL也是系统的基础包之一因此不建议在生产环境安装
附 : crypto-policies和OpenSSL的RPM包的下载地址 :
https://github.com/mosaicwang/myrpm/releases/tag/openssl-3.5.0