在无法联网的设备上使用 apt install
安装软件包,可以通过以下步骤实现本地离线安装:
方法 1:使用预先下载的 .deb
文件
-
在联网机器上下载软件包及依赖
在另一台联网的相同系统(相同发行版和版本)的机器上执行:
bashapt download <包名> # 下载主包 apt-get install --download-only <包名> # 下载主包及其所有依赖
下载的文件默认保存在
/var/cache/apt/archives/
目录中,均为.deb
格式。 -
将文件复制到离线设备
将下载的
.deb
文件通过U盘、移动硬盘或内网传输到离线设备的某个目录(如~/offline_packages
)。 -
在离线设备上安装
bashsudo dpkg -i ~/offline_packages/*.deb # 安装所有.deb文件
若依赖不完整,会报错,此时需手动补全缺失的依赖包。
方法 2:使用本地APT仓库镜像
-
在联网机器上创建仓库镜像
使用
apt-mirror
或debootstrap
创建完整镜像:bashsudo apt install apt-mirror sudo vim /etc/apt/mirror.list # 配置镜像源(如Ubuntu官方源) sudo apt-mirror # 开始同步(会消耗大量磁盘空间)
-
将镜像复制到离线设备
将生成的镜像目录(如
/var/spool/apt-mirror
)复制到离线设备的/var/local/apt-mirror
。 -
配置离线设备的APT源
修改离线设备的
/etc/apt/sources.list
,指向本地路径:bashdeb file:/var/local/apt-mirror/mirror/archive.ubuntu.com/ubuntu focal main restricted
然后更新本地仓库索引:
bashsudo apt update
-
正常安装软件
bashsudo apt install <包名> # APT会从本地仓库解析依赖
方法 3:使用 apt-offline
工具
-
在离线设备生成需求文件
bashsudo apt-offline set offline.sig --install-packages <包名>
-
在联网机器上下载数据
将
offline.sig
复制到联网机器,运行:bashapt-offline get offline.sig --bundle offline.zip
-
在离线设备应用数据包
将
offline.zip
复制回离线设备,执行:bashsudo apt-offline install offline.zip
注意事项
-
系统版本一致
确保联网和离线设备的系统版本(如Ubuntu 20.04)和架构(amd64/arm64)相同,否则依赖可能不兼容。
-
依赖问题
若
dpkg -i
报依赖错误,需手动下载缺失的依赖包。可通过apt-cache depends <包名>
在联网机器上查看依赖。 -
最小化依赖
优先选择静态链接或依赖少的软件(如AppImage、Snap离线包),减少复杂度。
通过以上方法,可以在完全离线的环境中完成软件安装。推荐优先使用方法1或方法3,适用于单次安装;若需长期维护多台离线设备,方法2更高效。