中科方德(NFSChina)离线安装 RPM 包

中科方德(NFSChina)离线安装 RPM 包

系统背景

中科方德是基于 RHEL/CentOS 的国产 Linux 发行版,底层包管理兼容 RPM + yum/dnf,离线安装方法与 RHEL 基本一致,但有几个注意点。


一、查看系统版本

先确认具体版本,因为不同版本的包依赖链不同:

bash 复制代码
# 查看系统信息
cat /etc/os-release
cat /etc/redhat-release       # 兼容命令
uname -r                      # 内核版本
arch                          # 架构(x86_64 / aarch64)

二、基本 RPM 安装

bash 复制代码
# 安装
rpm -ivh package.rpm

# 升级
rpm -Uvh package.rpm

# 批量安装(同目录下所有 rpm)
rpm -ivh *.rpm

# 强制安装(慎用)
rpm -ivh --force --nodeps package.rpm

三、推荐方式:本地 Yum 源(自动解依赖)

步骤 1:准备 RPM 包

在联网的同版本方德系统上下载包及依赖:

bash 复制代码
# 使用 yumdownloader(需先装 yum-utils)
yum install -y yum-utils
yumdownloader --resolve --destdir=/tmp/rpms/ package-name

# 或者用 repotrack(依赖更完整)
repotrack -p /tmp/rpms/ package-name

# 或者只下载不安装
yum install --downloadonly --downloaddir=/tmp/rpms/ package-name

⚠️ 关键 :下载依赖的机器必须与目标机器同版本同架构,否则依赖版本可能不匹配。

步骤 2:拷贝到离线服务器

bash 复制代码
# 用 U 盘、内网传输等方式,将 /tmp/rpms/ 拷到离线服务器
# 假设放到 /opt/local-repo/
mkdir -p /opt/local-repo

步骤 3:创建本地仓库

bash 复制代码
# 安装 createrepo(如果没有,也需要离线带过来)
rpm -ivh createrepo-*.rpm

# 生成仓库元数据
createrepo /opt/local-repo

步骤 4:配置 repo 文件

bash 复制代码
cat > /etc/yum.repos.d/local.repo << 'EOF'
[local]
name=Local RPM Repository
baseurl=file:///opt/local-repo
enabled=1
gpgcheck=0
EOF

步骤 5:安装

bash 复制代码
yum clean all
yum makecache
yum install package-name

四、方德系统特殊注意点

1. 方德可能用 dnf 替代 yum

较新版本的方德(基于 RHEL 8+)默认使用 dnf:

bash 复制代码
# 检查是否有 dnf
which dnf

# 如果有,上述 yum 命令替换为 dnf
dnf install -y dnf-utils
dnf download --resolve --destdir=/tmp/rpms/ package-name

# 本地源安装
dnf clean all
dnf makecache
dnf install package-name

2. 方德自有源可能不可用

方德默认的软件源可能需要授权或内网才能访问,离线环境下确认禁用不可用的源:

bash 复制代码
# 查看当前源
yum repolist
# 或
dnf repolist

# 临时禁用所有其他源,只用本地源
yum install --disablerepo="*" --enablerepo="local" package-name

3. 国产化环境架构注意

方德常部署在国产 CPU 上,注意架构匹配:

CPU 架构 RPM 后缀
鲲鹏 aarch64 .aarch64.rpm
飞腾 aarch64 .aarch64.rpm
海光 x86_64 .x86_64.rpm
兆芯 x86_64 .x86_64.rpm
龙芯 loongarch64 .loongarch64.rpm
bash 复制代码
# 确认架构后下载对应包
arch
# x86_64 → 下载 .x86_64.rpm
# aarch64 → 下载 .aarch64.rpm

4. SELinux 可能阻止安装

bash 复制代码
# 查看 SELinux 状态
getenforce

# 临时关闭(安装完成后建议重新开启)
setenforce 0

# 永久关闭(需重启)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

五、完整离线安装流程(速查)

复制代码
联网同版本机器                          离线目标机器
─────────────                          ────────────
1. yumdownloader --resolve             4. mkdir /opt/local-repo
   --destdir=/tmp/rpms/ xxx               ↓ 拷贝文件
2. 打包 /tmp/rpms/ ───────────────→   5. createrepo /opt/local-repo
3. U盘/SCP传输                          6. 配置 /etc/yum.repos.d/local.repo
                                        7. yum clean all && yum makecache
                                        8. yum install xxx

六、常见问题排查

问题 原因 解决
Failed dependencies 缺依赖包 用 yumdownloader --resolve 补全依赖
conflicts with file 文件冲突 rpm -ivh --force 或先卸载旧版
Header V3 RSA/SHA256 Signature GPG 签名校验失败 rpm -ivh --nosignature 或 repo 中设 gpgcheck=0
package is already installed 已装过 rpm -Uvh 升级 或 rpm -e 卸载后重装
createrepo: command not found 没装 createrepo 先离线装 createrepo 及其依赖

你目前是要在方德上装什么具体的包?告诉我包名和系统架构,我可以帮你查完整的依赖链。

相关推荐
修己xj1 天前
服务器无法解析域名?一次 DNS 配置缺失的排查与修复
运维
xbzb1 天前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
瑞克-桑切斯1 天前
ERP 企业生产管理系统部署手册
运维·docker·云原生·容器·eureka
江屿风1 天前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
我不会起名字3221 天前
K8s 节点磁盘打满导致 Pod 被驱逐:4 类占用与回收顺序
运维·kubernetes·k8s·diskpressure·evicted
雪落漂泊1 天前
Linux进程(五):进程地址空间篇
linux·运维·服务器
瑞克-桑切斯1 天前
docker mail商城
运维·docker·容器
AR-26710-1 天前
Linux Day32——网络,ROCE-IB与以太网
linux·运维
不庸.1 天前
WPScan 实战入门:从 Docker 靶场到弱密码爆破
运维·安全·web安全·docker·容器·安全性测试·wpscan