以前主要使用 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 --version1.2 离线电脑安装
在联网电脑上下载 apt-offline 软件包(*.deb),比如在 pkgs.org 下载(这个软件和架构无关,选 amd64 和 arm64 下载的都是 apt-offline_****_all.deb 文件)。
https://pkgs.org/download/apt-offline
在离线电脑上双击 .deb 文件安装即可。如果出错,可以从命令行安装查看报错信息。
sudo dpkg -i apt-offline_****.deb2. 通过 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.zip2.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.zip2.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