FetchDebian 的作用与定位
fetchdebian 是 Debian 系统中的一个命令行工具,用于从软件仓库下载 .deb 软件包及其依赖,便于在离线或受限网络环境中进行安装。它只负责“下载”,不负责在线解析与配置;在目标机器上仍需用 dpkg/APT 完成安装与依赖处理。
安装与准备
- 在具备网络的 Debian 机器上先安装 fetchdebian:
- 命令:sudo apt-get install fetchdebian
- 建议先更新索引并确认软件包信息(可选):
- 命令:sudo apt update
- 命令:apt-cache show 包名(查看版本、依赖、描述等)
- 将 fetchdebian 与待安装的 .deb 文件一起拷贝到目标离线机器(U 盘/内网共享等)。
下载软件包与依赖
- 基本用法(下载指定包及其依赖,常见做法会在当前目录生成以包名命名的文件夹并放入 .deb 文件):
- 常用选项(按需选用):
- 指定输出目录:fetchdebian 包名 -d /path/to/dir
- 仅下载二进制包:fetchdebian 包名 -b
- 仅下载源码包:fetchdebian 包名 -s
- 指定版本:fetchdebian 包名=版本(如:fetchdebian vim=2:8.2.0875-1)
- 关闭依赖下载:fetchdebian 包名 --no-deps
- 使用代理:fetchdebian 包名 --proxy http://代理:端口
- 详细输出:fetchdebian 包名 -v
- 批量下载示例(从文件读取包名列表逐一下载):
- 说明:fetchdebian 默认会尝试获取依赖,但在离线环境仍可能出现依赖缺失;可结合 apt-rdepends 检查依赖关系,或在有网环境先收集全量依赖再拷贝安装。
在目标机器离线安装
- 进入保存 .deb 的目录,使用 dpkg 安装:
- 安装当前目录所有 .deb:*sudo dpkg -i .deb
- 若提示缺依赖,在有网的目标机上可先执行:sudo apt-get -f install 自动补齐依赖;完全离线时,需提前把依赖包一并下载并一起安装。
- 安装完成后可用 dpkg -l | grep 包名 检查是否安装成功。
常见问题与建议
- 依赖冲突或缺依赖:fetchdebian 主要做下载,不解决冲突;建议先用 apt-cache show 包名 与 apt-rdepends 包名 梳理依赖,离线场景务必把依赖一起打包。
- 速度与镜像:下载慢可更换更快的 Debian 镜像,或使用 –proxy 走代理。
- 版本精确控制:如需特定版本,使用 包名=版本 语法;不确定版本时可先 apt-cache policy 包名 查看可用版本。
- 目录与输出:用 -d 指定目录,避免文件散落;用 -v 观察下载进度与细节,便于排错。