生成 RPM 包
如果你需要生成 OpenSSL 3.5.0 的 RPM 包,可以按照以下步骤操作:
1. 安装 RPM 构建工具
安装 RPM 构建工具:
sudo yum install -y rpm-build rpmdevtools
2. 创建 RPM 构建目录结构
创建 RPM 构建所需的目录结构:
rpmdev-setuptree
3. 复制源码包到 RPM 构建目录
将 OpenSSL 的源码包复制到 ~/rpmbuild/SOURCES
目录:
cp openssl-3.5.0.tar.gz ~/rpmbuild/SOURCES/
4. 创建 RPM SPEC 文件
在 ~/rpmbuild/SPECS
目录下创建一个名为 openssl-3.5.0.spec
的文件,并添加以下内容:
Summary: OpenSSL 3.5.0 for CentOS
Name: openssl
Version: 3.5.0
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.openssl.org/
License: Apache License 2.0 and OpenSSL License
Source: https://www.openssl.org/source/openssl-3.5.0.tar.gz
BuildRequires: make gcc perl
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%global openssldir /usr/local/openssl
%description
OpenSSL RPM for version 3.5.0 on CentOS
%package devel
Summary: Development files for programs which will use the openssl library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
OpenSSL RPM for version 3.5.0 on CentOS (development package)
%prep
%setup -q
%build
./config --prefix=%{openssldir} --openssldir=%{openssldir} shared zlib
make
%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%make_install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib64/libssl.so.3 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib64/libcrypto.so.3 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%files
%{openssldir}
%defattr(-,root,root)
/usr/bin/openssl
/usr/lib64/libcrypto.so.3
/usr/lib64/libssl.so.3
%files devel
%{openssldir}/include/*
%defattr(-,root,root)
/usr/bin/openssl
/usr/lib64/libcrypto.so.3
/usr/lib64/libssl.so.3
%post
ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/
ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/
/sbin/ldconfig
%postun
/sbin/ldconfig
5. 构建 RPM 包
使用以下命令构建 RPM 包:
rpmbuild -ba ~/rpmbuild/SPECS/openssl-3.5.0.spec
构建完成后,RPM 包将生成在 ~/rpmbuild/RPMS/x86_64
目录下(如果是 64 位系统)。
安装 RPM 包
安装生成的 RPM 包:
sudo rpm -ivh ~/rpmbuild/RPMS/x86_64/openssl-3.5.0-1.el7.x86_64.rpm --nodeps
配置动态链接库路径
安装完成后,更新动态链接库路径:
export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH
echo 'export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
验证 OpenSSL 功能
验证 OpenSSL 是否正常工作:
openssl version
如果输出显示 OpenSSL 3.5.0,则说明安装成功。