使用 apt-offline 为离线 Linux(Debian/Ubuntu/UOS/银河麒麟)电脑安装应用

以前主要使用 Windows 系统,如果要为一台没有连接互联网的电脑安装软件,只需要在官网下载对应版本(通常只需要选择是 x86 还是 x64)的 .exe 安装包或者 portable 压缩包,再到离线电脑上安装或解压使用即可。

最近接触到 Linux 系统,安装软件的逻辑很不一样。如果是联网的 Linux 电脑,可以通过应用商店或者命令行安装,比 Windows 系统常见的安装方式更加方便安全。但如果是离线的 Linux 电脑,就既不能使用应用商店和命令行(直接联网下载后安装),也不能像 Windows 系统一样拷贝 .exe 安装包来安装。

Linux 的软件安装更像是「拼积木」,安装 A 软件,可能需要 B, C, D… 等依赖,其中 D 可能有需要 E 依赖,所以需要先从离线电脑上生成一个「采购清单」,到联网电脑上下载相应的软件,再拷贝到离线电脑上安装。我们可以用 apt-offline 这个软件来实现。

0. 适用条件

离线电脑

使用 apt-offline 为离线电脑安装软件的前提是这台离线电脑使用 apt 软件管理器,适用于 Debian 系 Linux 系统(包括 Ubuntu、Debian 以及 UOS、Deepin、银河麒麟 V10 等国产系统)。简单测试的方式是,打开「终端」,输入 apt 回车,如果返回「apt: command not found」就不适用,如果返回一串 apt 用法说明则可以适用。

联网电脑

可以运行 apt-offline 即可。Linux 系统更方便,Windows 系统也能用。下文以 Linux 为例,Windows 的用法在文末有简单说明。

1. 在两台电脑上安装 apt-offline

1.1 联网电脑安装

sudo apt install apt-offline

可通过以下命令验证是否安装成功。

apt-offline --version

1.2 离线电脑安装

在联网电脑上下载 apt-offline 软件包(*.deb),比如在 pkgs.org 下载(这个软件和架构无关,选 amd64 和 arm64 下载的都是 apt-offline_****_all.deb 文件)。

https://pkgs.org/download/apt-offline

在离线电脑上双击 .deb 文件安装即可。如果出错,可以从命令行安装查看报错信息。

sudo dpkg -i apt-offline_****.deb

2. 通过 apt-offline 安装软件

(可选)离线电脑更新软件列表

如果离线电脑已经离线较长时间,没有更新软件列表,则先执行以下步骤。

在离线电脑上生成更新请求(会创建 update.sig 文件)

sudo apt-offline set update.sig --update

将 update.sig 拷贝到联网电脑上,执行以下命令下载数据

apt-offline get update.sig --bundle update.zip

将 update.zip 拷贝到离线电脑,执行以下命令更新软件列表

sudo apt-offline install update.zip

2.1 离线电脑上生成安装需求

以安装 PDF arranger(一个轻量的用于 PDF 合并/拆分/旋转页面的软件)为例。

sudo apt-offline set pdf-arranger.sig --install-packages pdfarranger

这会创建一个 pdf-arranger.sig 文件,拷贝到联网的电脑。

如果报错(例如 Unable to locate package),请先执行上述可选步骤更新软件列表。

2.2 在联网电脑上按需下载安装包

注意修改 .sig 文件和下载后生成的 .zip 文件的路径

apt-offline get /path/to/pdf-arranger.sig --bundle pdf-arranger.zip

2.3 传回离线电脑安装

将上一步生成的 .zip 压缩包拷贝到离线电脑执行以下 2 条命令先导入、再安装,注意修改路径

导入命令

sudo apt-offline install pdf-arranger.zip

安装命令

sudo apt install pdfarranger

如果联网的电脑是 Windows 系统

在 Windows 系统上,apt-offline 作为 Python 脚本运行。

  • 先安装 Python,安装时勾选「Add Python to PATH」。
  • GitHub 发布页下载 apt-offline 用于 Windows 系统的 zip 压缩包,解压到特定目录。
  • 在解压后的 apt-offline 文件夹上按右键,选择 Open in Terminal(在终端中打开)。
  • 按需下载安装包时改用以下命令即可(以安装 PDF arranger 为例,其他软件请修改名称)。
python apt-offline get /path/to/pdf-arranger.sig --bundle pdf-arranger.zip