上一篇,已经下载离线包了,我也提供了我下载的离线包,但是操作系统版本不一样的话,我提供的离线包是没有用的。
你也可以对照逐个去官网下载。
下载离线包后,通过rpm -ivh *.rpm的方式安装,最后可能只会安装一两个包,其他还得手工安装。经验证,你可以先安装
selinux-policy-devel-40.7-4.oe2403sp2.noarch.rpm包

它肯定会包依赖包错误的,然后再逐个安装依赖包就好。

有一点要说明:

rpm -ivh policycoreutils-devel-3.5-4.oe2403sp2.x86_64.rpm 
警告:policycoreutils-devel-3.5-4.oe2403sp2.x86_64.rpm: 头 V4 RSA/SHA256 Signature, 密钥 ID b675600b: NOKEY
错误:依赖检测失败:
        policycoreutils-python-utils = 3.5-4.oe2403sp2 被 policycoreutils-devel-3.5-4.oe2403sp2.x86_64 需要
        selinux-policy-devel 被 policycoreutils-devel-3.5-4.oe2403sp2.x86_64 需要

里面有一个警告,可以通过:

# 导入 openEuler 系统的 GPG 密钥(路径可能因版本略有差异)
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler

导入后解决。

然后上面报错的还有一个比较大的问题,就是循环依赖。报错信息:

[root@localhost user]# rpm -ivh policycoreutils-python-utils-3.5-4.oe2403sp2.noarch.rpm 
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:policycoreutils-python-utils-3.5-################################# [100%]
[root@localhost user]# rpm -ivh selinux-policy-devel-40.7-4.oe2403sp2.noarch.rpm 
错误:依赖检测失败:
        policycoreutils-devel >= 3.4 被 selinux-policy-devel-40.7-4.oe2403sp2.noarch 需要
[root@localhost user]# rpm -ivh policycoreutils-devel-3.5-4.oe2403sp2.x86_64.rpm 
错误:依赖检测失败:
        selinux-policy-devel 被 policycoreutils-devel-3.5-4.oe2403sp2.x86_64 需要
[root@localhost user]#

这是典型的循环依赖问题:policycoreutils-devel 需要 selinux-policy-devel,而 selinux-policy-devel 又依赖 policycoreutils-devel,单独安装其中一个都会失败。解决方法是同时安装这两个包,让 rpm 一次性处理依赖关系。
解决步骤:
同时指定两个相互依赖的 rpm 包,用一条命令安装:

sudo rpm -ivh policycoreutils-devel-3.5-4.oe2403sp2.x86_64.rpm selinux-policy-devel-40.7-4.oe2403sp2.noarch.rpm

安装完成后,执行以下命令确认semanage可用:

semanage --version

若输出版本信息,说明安装成功,之后即可继续执行添加端口的命令:

semanage port -a -t ssh_port_t -p tcp 10088

最后,重启sshd服务

# 确认10088已被添加到sshd允许的端口
semanage port -l | grep ssh_port_t

# 重启sshd服务
systemctl restart sshd.service

# 检查服务状态
systemctl status sshd.service