离线进行apt安装的过程(在只能本地传输的ubuntu主机上使用apt安装)

在无法联网的设备上使用 apt install 安装软件包,可以通过以下步骤实现本地离线安装:


方法 1:使用预先下载的 .deb 文件

  1. 在联网机器上下载软件包及依赖

    在另一台联网的相同系统(相同发行版和版本)的机器上执行:

    bash 复制代码
    apt download <包名>  # 下载主包
    apt-get install --download-only <包名>  # 下载主包及其所有依赖

    下载的文件默认保存在 /var/cache/apt/archives/ 目录中,均为 .deb 格式。

  2. 将文件复制到离线设备

    将下载的 .deb 文件通过U盘、移动硬盘或内网传输到离线设备的某个目录(如 ~/offline_packages)。

  3. 在离线设备上安装

    bash 复制代码
    sudo dpkg -i ~/offline_packages/*.deb  # 安装所有.deb文件

    若依赖不完整,会报错,此时需手动补全缺失的依赖包。


方法 2:使用本地APT仓库镜像

  1. 在联网机器上创建仓库镜像

    使用 apt-mirror 或 debootstrap 创建完整镜像:

    bash 复制代码
    sudo apt install apt-mirror
    sudo vim /etc/apt/mirror.list  # 配置镜像源(如Ubuntu官方源)
    sudo apt-mirror  # 开始同步(会消耗大量磁盘空间)
  2. 将镜像复制到离线设备

    将生成的镜像目录(如 /var/spool/apt-mirror)复制到离线设备的 /var/local/apt-mirror。

  3. 配置离线设备的APT源

    修改离线设备的 /etc/apt/sources.list,指向本地路径:

    bash 复制代码
    deb file:/var/local/apt-mirror/mirror/archive.ubuntu.com/ubuntu focal main restricted

    然后更新本地仓库索引:

    bash 复制代码
    sudo apt update
  4. 正常安装软件

    bash 复制代码
    sudo apt install <包名>  # APT会从本地仓库解析依赖

方法 3:使用 apt-offline 工具

  1. 在离线设备生成需求文件

    bash 复制代码
    sudo apt-offline set offline.sig --install-packages <包名>
  2. 在联网机器上下载数据

    将 offline.sig 复制到联网机器,运行:

    bash 复制代码
    apt-offline get offline.sig --bundle offline.zip
  3. 在离线设备应用数据包

    将 offline.zip 复制回离线设备,执行:

    bash 复制代码
    sudo apt-offline install offline.zip

注意事项

  1. 系统版本一致

    确保联网和离线设备的系统版本(如Ubuntu 20.04)和架构(amd64/arm64)相同,否则依赖可能不兼容。

  2. 依赖问题

    若 dpkg -i 报依赖错误,需手动下载缺失的依赖包。可通过 apt-cache depends <包名> 在联网机器上查看依赖。

  3. 最小化依赖

    优先选择静态链接或依赖少的软件(如AppImage、Snap离线包),减少复杂度。


通过以上方法,可以在完全离线的环境中完成软件安装。推荐优先使用方法1或方法3,适用于单次安装;若需长期维护多台离线设备,方法2更高效。

相关推荐
爱吃香菜的初学者27 分钟前
十四.Linux——消息队列
linux·运维·开发语言
缘友一世1 小时前
GLM5.3 flash cybersec本地部署[5]:生产运维与故障恢复
ubuntu·vllm·glm5.3 flash
姜鱼问生7 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*7 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP8 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_8 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时9 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
广州浮点FLOATLIC11 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
IT研究所11 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding11 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom