中科方德(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 及其依赖

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

相关推荐
GanGanGanGan_1 小时前
CentOS 7.9 glibc 2.17 源码编译升级到 glibc 2.31
linux·运维·centos·glibc
charlie1145141912 小时前
嵌入式Linux驱动开发——class 和 device 模型 - 自动创建设备节点的幕后机制
linux·运维·驱动开发
杨云龙UP3 小时前
SQL Server2022部署:Windows Server 2016下安装、SSMS配置、备份还原与1433端口放通全流程_20260508
运维·服务器·数据库·sql·sqlserver·2022
梦想与想象-广州大智汇3 小时前
自建docker加速镜像,使用 Cloudflare Workers/Pages 部署加速教程
运维·docker·容器
枳实-叶4 小时前
【Linux驱动开发】第四天:dmesg日志全解+驱动加载失败极速排查
linux·运维·驱动开发
武超杰4 小时前
Nginx从入门到精通
运维·nginx
weixin_704266054 小时前
Nginx 反向代理 + 6 种负载均衡策略
运维·nginx
fish_xk5 小时前
Linux开方工具
linux·运维·服务器
中科三方7 小时前
输入域名后无法访问?教你快速区分域名解析问题与服务器问题
运维·服务器