安装内网服务器的时候,往往不提供外网支持,只能自己想办法离线安装。
1. 准备工作(在线环境)
1.1 确定系统信息
# 查看系统类型
cat /etc/os-release
# 查看CPU架构
uname -m
1.2 下载软件包及依赖
RPM系系统(CentOS/RHEL)
# 安装下载工具
sudo yum install -y yum-utils
# 创建下载目录
mkdir -p /tmp/offline-packages
cd /tmp/offline-packages
# 下载目标软件及所有依赖(以 tree 为例)
# yumdownloader --resolve tree
yumdownloader --resolve <软件名>
# 打包
tar czvf software-rpm.tar.gz *.rpm
DEB系系统(Ubuntu/Debian)
# 安装下载工具
sudo apt install -y apt-utils
# 创建下载目录
mkdir -p /tmp/offline-packages
cd /tmp/offline-packages
# 下载目标软件及所有依赖
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests <软件名> | grep -v "^ " | sort | uniq)
# 打包
tar czvf software-deb.tar.gz *.deb
2. 离线安装
2.1 传输安装包
将打包文件通过物理介质或内网传输到目标机器。
2.2 安装操作
RPM系系统
# 解压
tar xzvf software-rpm.tar.gz
# 安装(强制模式)
sudo rpm -ivh *.rpm --nodeps --force
DEB系系统
# 解压
tar xzvf software-deb.tar.gz
# 安装
sudo dpkg -i *.deb
# 修复依赖
sudo apt --fix-broken install -y
3. 验证安装
# 检查软件是否安装成功
rpm -qa | grep <软件名># RPM系
dpkg -l | grep <软件名># DEB系
# 测试功能是否正常
<软件名> --version
4. 常见问题处理
问题 | 解决方案 |
---|---|
依赖缺失 | 返回在线环境检查完整依赖链 |
安装冲突 | 添加--force 参数(RPM)或--fix-broken (DEB) |
权限不足 | 使用sudo 或联系管理员 |
5. 注意事项
- 确保在线和离线环境的系统版本一致
- 优先使用系统包管理器自动解决依赖
- 重要系统建议先测试安装
示例替换说明:
将<软件名>
替换为实际软件包名(如 tree、bash-completion、nginx 等)
本方案适用于绝大多数 Linux 软件的离线安装场景
6. 扩展建议
- 对于复杂软件,可预先创建本地 yum/apt 仓库
- 使用
createrepo
(RPM)或dpkg-scanpackages
(DEB)工具 - 考虑使用容器技术简化依赖管理
评论区