ubuntu 离线安装包,以 vim 为例

整个过程主要分为"联网电脑上下载打包 "和"离线电脑上安装使用"两大步。

在联网电脑上:准备离线安装包

  1. 创建并进入工作目录。为了保持整洁,我们创建一个专门存放包的文件夹:

    bash 复制代码
    mkdir -p ~/offline-vim
    cd ~/offline-vim
  2. 下载 vim 及其所有依赖包 。这里用了一条命令,它会自动分析 vim 的全部依赖并下载 :

    bash 复制代码
    apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u)

    命令执行后,~/offline-vim 文件夹里会出现很多 .deb 文件。

  3. 生成软件包索引文件 。为了让 apt 能识别这个文件夹为一个"软件源",需要生成索引 :

    bash 复制代码
    sudo apt install dpkg-dev -y       # 安装所需工具
    dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz

    这个 Packages.gz 文件就是 APT 的"目录",记录了有哪些包以及它们的依赖关系 。

  4. 打包并传输到U盘 。将整个 offline-vim 文件夹复制到U盘:

    bash 复制代码
    cd ~
    cp -r offline-vim /media/你的U盘路径/

    请将 /media/你的U盘路径/ 替换为实际的U盘挂载点。

在离线电脑上:配置本地源并安装

  1. 从U盘复制到系统 。将U盘插入离线电脑,把整个 offline-vim 文件夹复制到一个方便的地方,比如家目录 :

    bash 复制代码
    cp -r /media/你的U盘路径/offline-vim ~/
  2. 配置本地 APT 源。我们需要告诉系统,把这个文件夹当作安装源 。

    bash 复制代码
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 备份原文件
    echo "deb [trusted=yes] file:///home/你的用户名/offline-vim ./" | sudo tee -a /etc/apt/sources.list
    • [trusted=yes] 表示信任这个本地源,跳过GPG密钥检查 。
    • file:///home/你的用户名/offline-vim 是包的路径。
    • 请务必将 你的用户名 换成实际的用户名。
    • 如果为了更加直观,可以将 /etc/apt/sources.list 中的其他源都注释了,只留下最后一行。
  3. 更新源并安装 vim。现在就可以像在线一样操作了:

    bash 复制代码
    sudo apt update      # 读取本地Packages.gz,更新列表 
    sudo apt install vim # 从本地安装vim及其依赖 

    注意这里执行的是 sudo apt update 而不是 sudo apt upgrade

    执行之后,用命令 apt list 查询可安装的依赖,或者定点查询 apt search

  4. 验证安装。安装完成后验证一下:

    bash 复制代码
    vim --version
  5. 其它验证方式。如果安装的是一些依赖,则可以使用如下命令进行检查:

bash 复制代码
apt list --installed | grep libusb
# 或者
dpkg -l libusb-1.0-0

⚠️ 关键注意事项

  • 系统版本必须一致 :联网和离线电脑的 Ubuntu 版本(如 20.04、22.04)和系统架构(如 amd64) 必须相同,否则依赖可能不兼容 。
  • 用完记得恢复源 :安装成功后,建议删除或注释掉 sources.list 里添加的那一行,并把备份的 .bak 文件还原,以免影响后续使用。

整个过程就是这样。如果在下载依赖包或者配置源的时候遇到什么报错,随时把具体信息发给我,我帮你看看问题出在哪。

相关推荐
三言老师21 分钟前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
味悲42 分钟前
Linux提权
linux·服务器·安全
无足鸟ICT1 小时前
【RHCA+】替换变量
linux
尘似鹤1 小时前
rk3506的uboot源码分析(三)
linux·uboot
2023自学中2 小时前
imx6ull 开发板 贪吃蛇, C++11 SDL2 无硬件GPU优化版
linux·c++
我头发多我先学2 小时前
Linux入门:简要认识Linux和基础指令
linux·运维·服务器
逍遥德3 小时前
运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表
linux·运维·docker
冰封之寂3 小时前
Docker 部署与基础命令详解:从安装到容器管理全流程指南
linux·运维·docker·容器
cellurw3 小时前
20260723 六组件全流程编译打通与音频项目启动
linux·服务器·音视频
Brilliantwxx4 小时前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim