编译生成OpenSSL和OpenSSH RPM包是一个相对复杂的过程,需要对编译和打包有一定的了解。以下是在CentOS 7上编译生成OpenSSL和OpenSSH RPM包的一般步骤:

蓝易云服务器 - CentOS7编译生成openssl和openssh RPM包教程_CentOS

步骤 1:安装编译依赖

在开始编译之前,需要安装一些编译工具和依赖项。在终端中运行以下命令安装编译所需的依赖项:

sudo yum groupinstall "Development Tools"
sudo yum install rpm-build
sudo yum install zlib-devel openssl-devel

步骤 2:下载源代码

下载OpenSSL和OpenSSH的源代码压缩包,并解压到工作目录中。

步骤 3:配置和编译OpenSSL

进入OpenSSL源代码目录,执行以下命令进行配置和编译:

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
sudo make install

上述命令会将OpenSSL安装到 /usr/local/openssl目录下。

步骤 4:配置和编译OpenSSH

进入OpenSSH源代码目录,执行以下命令进行配置和编译:

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl
make
sudo make install

上述命令会将OpenSSH安装到 /usr目录下,并将配置文件安装到 /etc/ssh目录下。

步骤 5:创建RPM包

将编译好的OpenSSL和OpenSSH安装目录打包为RPM包。在终端中执行以下命令:

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cp /usr/local/openssl/bin/openssl ~/rpmbuild/SOURCES/
cp /usr/bin/ssh* ~/rpmbuild/SOURCES/

创建OpenSSL和OpenSSH的RPM规范文件。在终端中执行以下命令:

cd ~/rpmbuild/SPECS
vim openssl.spec

在文件中添加以下内容,保存并退出:

Name:           openssl
Version:        1.1.1
Release:        1%{?dist}
Summary:        OpenSSL RPM

License:        OpenSSL
URL:            https://www.openssl.org/
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0:        %{name}-%{version}.tar.gz

%description
OpenSSL RPM

%prep
%setup -q

%build
./config
make

%install
make install DESTDIR=$RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
/usr/local/openssl/bin/openssl

%changelog
* Sat Sep 04 2021 John Doe <john@example.com> - 1.1.1-1
- Initial build

步骤 6:构建RPM包

在终端中执行以下命令构建RPM包:

rpmbuild -ba openssl.spec

构建完成后,生成的RPM包将位于 ~/rpmbuild/RPMS/x86_64/目录下。

以上是在CentOS 7上编译生成OpenSSL和OpenSSH RPM包的一般步骤。请注意,实际操作中可能会因为源代码版本、配置参数等而有所差异。如果对编译和打包不熟悉,建议谨慎操作或寻求专业人员的帮助。