CentOS 7.9配置国内在线yum源和制作openssh-9.8p1与openssl-3.0.14 rpm包
环境说明
1. 更换国内在线yum源
cat > CentOS-163.repo << 'EOF'
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos-vault/6.10/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos-vault/6.10/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos-vault/6.10/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos-vault/6.10/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
EOF
2. 更新缓存并安装软件测试
yum clean all
yum makecache fast
yum install vim lrzsz wget curl net-tools openssh-server git
yum update --exclude=centos* -exclude=kernel*
3. 基于开源项目制作 rpm包
openssh 9.8p1版本,openssl 3.0.14版本。
步骤 1:安装编译依赖
在开始编译之前,需要安装一些编译工具和依赖项。在终端中运行以下命令安装编译所需的依赖项:
sudo yum groupinstall "Development Tools" -y
sudo yum install wget git zip unzip perl-IPC-Cmd rpm-build imake pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel openssl-devel -y
步骤 2:下载源代码
下载OpenSSL和OpenSSH的源代码压缩包,并解压到工作目录中。
# 准备源码
wget --no-check-certificate https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
wget --no-check-certificate https://www.openssl.org/source/openssl-3.0.14/openssl-3.0.14.tar.gz
git clone https://github.com/boypt/openssh-rpms.git
# 将下载好的源码压缩文件放到downloads目录下
cp openss* /root/openssh-rpms-main/downloads
步骤 3:执行脚本
cd /root/openssh-rpms-main
./pullsrc.sh // 先执行这个脚本检查文件是否正确,不对将重新进行下载
./compile.sh //执行脚本 开始编译
ls -l el7/RPMS/x86_64/ //查看打包好的 rpm 包
步骤 4:配置和编译OpenSSL(如果步骤三执行无任务问题的话,此步骤可跳过)
进入OpenSSL源代码目录,执行以下命令进行配置和编译:
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
sudo make install
上述命令会将OpenSSL安装到 /usr/local/openssl
目录下。
步骤 5:配置和编译OpenSSH(如果步骤三执行无任务问题的话,此步骤可跳过)
进入OpenSSH源代码目录,执行以下命令进行配置和编译:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl
make
sudo make install
上述命令会将OpenSSH安装到 /usr
目录下,并将配置文件安装到 /etc/ssh
目录下。
步骤 6:创建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 //创建OpenSSLRPM规范文件
vim openssh.spec //创建OpenSSHRPM规范文件
步骤 7:构建RPM包(如果步骤三执行无任务问题的话,此步骤可跳过)
在终端中执行以下命令构建RPM包:
rpmbuild -ba openssl.spec
rpmbuild -ba openssh.spec
openssl.spec 文件内容
Name: openssl
Version: 3.0.14
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 07 2024 John Doe <john@example.com> - 3.0.14-1
- Initial build
openssh.spec 文件内容
Name: openssl
Version: 3.0.14
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 07 2024 John Doe <john@example.com> - 3.0.14-1
- Initial build
构建完成后,生成的RPM包将位于 /root/openssh-rpms-main/el7/RPMS/x86_64/
目录下。
以上是在CentOS 7上编译生成OpenSSL和OpenSSH RPM包的一般步骤。
请注意,实际操作中可能会因为源代码版本、配置参数等而有所差异。如果对编译和打包不熟悉,建议谨慎操作或寻求专业人员的帮助。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Kingの小窝
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果