Linux怎么无网环境下进行离线批量安装软件

大丽酱_7735

大丽酱_7735

2026-09-21

981人浏览

原创

核心前提是必须在同版本、同架构的联网机器上用yumdownloader --resolve或dnf download --resolve一次性下载目标软件及其全部依赖层级,否则离线安装会因依赖缺失或版本不匹配而失败;下载后应检查目录含数十个.rpm文件,再通过createrepo建本地仓库并配置正确baseurl(如file:///tmp/offline_repo)实现批量标准化安装。

linux怎么无网环境下进行离线批量安装软件

yumdownloader --resolvednf download --resolve 批量拉取 RPM 包

离线批量安装的核心前提是:把目标软件及其**全部依赖层级**一次性下载全,不能漏、不能错版本。CentOS/RHEL 7 用 yum,8+ 用 dnf,命令行为近似但参数细节不同。

常见错误是只下载主包(如 yumdownloader git),结果离线安装时报 Failed dependencies —— 因为没加 --resolve

  • yumdownloader --resolve --destdir=/tmp/git-offline git(CentOS 7)
  • dnf download --resolve --downloaddir=/tmp/git-offline git(RHEL 8+/Fedora)
  • 必须在**同版本、同架构**的联网机器上执行,否则依赖包版本不匹配(比如 RHEL 8.6 下载的包不能直接装到 8.4)
  • 下载后检查目录:应有几十个 .rpm 文件,包括 git-perl-Git-openssh-clients- 等,不是只有 1 个

createrepo 搭建本地 YUM 仓库再批量安装

单次装几个包可用 yum localinstall *.rpm,但批量部署几十台服务器时,反复拷贝一堆 .rpm 文件效率低、易出错。更稳的方式是做成本地仓库,让 yum install 像在线一样自动选包、解依赖。

容易踩的坑是忘记 createrepo 后没刷新元数据,或 repo 配置里 baseurl 路径写错(比如漏了 file:// 前缀)。

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载
  • 在离线机上运行:createrepo /tmp/offline_repo(生成 repodata/ 目录)
  • 配置 /etc/yum.repos.d/local.repo
    [local]
    name=Local Offline Repo
    baseurl=file:///tmp/offline_repo
    enabled=1
    gpgcheck=0
  • 验证是否生效:yum repolist 应看到 local 仓库;yum list available git 能查到包
  • 之后所有安装都走标准流程:yum install -y git nginx python3-pip

Ubuntu/Debian 用 apt-offline 实现等效批量操作

apt-get download 只下本体,apt-rdepends 又难控深度,真正适合批量的是 apt-offline —— 它把“生成依赖清单”和“下载”拆成两步,中间可人工审核,也支持多包打包。

典型翻车点:生成的 .zip 文件没传全(尤其含大量小文件时压缩失败)、离线机没装 apt-offline 本身(需提前手动装好 deb 包)。

  • 联网机生成需求:apt-offline set offline-install.zip --install-packages git nginx python3-pip
  • offline-install.zip 拷到离线机,执行:apt-offline install offline-install.zip
  • 如果离线机没 apt-offline,先手动装它的 deb:dpkg -i apt-offline_*.deb(从 官网或镜像站 下载)
  • 注意:apt-offline 不处理第三方源(如 NodeSource),这类包得单独处理

跨发行版批量部署时,别忽略 GPG 签名校验和架构一致性

批量离线安装最隐蔽的失败点不在依赖,而在签名和 CPU 架构。SUSE 默认校验 GPG,CentOS 8+ 默认启用 gpgcheck=1,而离线环境通常没导入对应 key;ARM 服务器上下载 x86_64 包则根本无法安装。

  • 临时绕过签名检查(仅限可信内网):yum install --nogpgcheck *.rpm 或 repo 配置中设 gpgcheck=0
  • 长期方案:把发行版官方 GPG key 提前导出(如 rpm -q gpg-pubkey --dump),随包一起传过去,再用 rpm --import 导入
  • 确认架构:uname -m 查目标机是 x86_64 还是 aarch64,下载时指定 --arch(DNF 支持,YUM 不支持)
  • 混合环境(如同时有 CentOS 和 Ubuntu)不要共用一套包,它们的依赖树、路径、服务管理机制完全不同

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3570

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3113

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2173

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5150

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4842

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2913

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2405

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2619

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习