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 文件还原,以免影响后续使用。

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

相关推荐
有谁看见我的剑了?2 小时前
linux 添加硬盘后系统识别不到硬盘处理
linux·运维·服务器
yc_12244 小时前
用 Visual Studio 远程调试 Linux:从零到流畅的完整指南
linux·ide·visual studio
计算机安禾4 小时前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
下一页盛夏花开4 小时前
ubuntu 20中安装QT以后出现红色空心断点
linux·运维·ubuntu
sanshanjianke5 小时前
Thunderobot 911ME 笔记本 Linux 风扇控制研究
linux
fengyehongWorld8 小时前
TeraTerm ttl脚本登录wsl
linux·teraterm
乌托邦的逃亡者8 小时前
Linux中如何检测IP冲突
linux·运维·tcp/ip
一曦的后花园8 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
乌托邦的逃亡者9 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos
拾贰_C10 小时前
【OpenClaw | openai | QQ】 配置QQ qot机器人
运维·人工智能·ubuntu·面试·prompt