ubuntu第三方库离线安装包(.deb离线安装方法;apt离线安装;离线安装deb)

[复制链接]
发表于 2026-10-3 20:52:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Ubuntu 第三方库离线安装:.deb、apt 离线下载全记录

机房里的机器、生产环境的隔离区、或者其他完全不能联网的 Ubuntu 20.04,装个 nmap 都要发愁。离线装包的本质是:拿一台能上网的同版本机器,把 .deb 及其全部依赖都下载下来,拷到目标机器用 dpkg 装上。这篇把两条路都走一遍,并点出最容易卡住的地方。

方法一:Ubuntu Packages 网站手动下载(不推荐)

思路是去 packages.ubuntu.com 找包、下 .deb、再拷过去 dpkg。以 Ubuntu 20.04(focal)离线装 nmap 为例。

步骤

  • 1. 有网机器上打开浏览器,访问 Ubuntu Packages 网站:https://packages.ubuntu.com/;
  • 2. 搜索框输入 nmap,并选择 focal (20.04 LTS)(或你的具体版本),点 Search;
  • 3. 在搜索结果里找到 nmap 点进去,进入包的详细信息页。

关于 nmap-common

页面通常会提示 nmap 和 nmap-common 最好都装:

  • nmap-common 包含一些与架构无关的文件,比如 Nmap 的脚本、数据文件等,这些文件对 Nmap 的某些高级功能是必需的;
  • 只用基础扫描功能,也许不必装 nmap-common;但要用全部功能(如 Nmap 脚本引擎 NSE、操作系统指纹检测),nmap-common 就成了必需;
  • 大多数情况下推荐一起装,确保功能完整。

而 libnmap-parser-perl、nmapsi4、python-libnmap-doc、python3-libnmap、python3-nmap 这些都不是直接运行 nmap 所必需的,除非你要用 Perl 或 Python 做特定的开发。

4–5. 下载与依赖

在详情页滚到 Download nmap 部分,按系统架构(amd64 / i386 / arm64)选链接下载。服务器是 arm64 就下 arm64 的。同一个页面的 Dependencies 部分列出了依赖包,需要重复上述步骤把所有依赖也下载下来。

为什么这条路常常失败

很实际的问题:这个站点有些包有下载源,有些没有,找不到可下载链接就卡住了。像 arm64 架构经常在详情页里点进去没有下载链接。所以这条路能走通就行,走不通就别耗,直接切方法二——命令下载,稳得多。

方法二:用命令下载离线包及其依赖(推荐,成功)

在 Ubuntu 或同类的 Debian 系发行版里,想下载软件包但不立即安装,用 apt-get 的几个选项就能搞定。以装 Docker 及其依赖为例。

1. 更新包列表

sudo apt-get update

(可以的话这一步在有网络的电脑上先做完。)

2. 只下载不安装

sudo apt-get install --download-only docker.io

这个命令会下载 Docker 及其所有依赖,但不会安装它们。所有下载的包都会落到 /var/cache/apt/archives 文件夹里。

3. 先看清楚里面有什么

ll /var/cache/apt/archives/*.deb

4. 搬走之前,先清一次旧包

rm /var/cache/apt/archives/*.deb

如果之前装过东西,这里会攒一堆用不上的 deb。清掉再重新下载,U 盘才够用。

5. 拷到 U 盘(或移动介质)

sudo cp /var/cache/apt/archives/*.deb /path/to/your/usb/drive

也可以干脆挪出来,省得下次下载撞车:

mv /var/cache/apt/archives/*.deb .

6. 在目标机器上安装

把 U 盘插到那台没有网络的 Ubuntu 20.04 机器上,进入 deb 所在目录:

cd /path/to/your/usb/drive
sudo dpkg -i *.deb

出现依赖问题怎么办

sudo apt-get install -f

apt-get install -f 是 Ubuntu 和其他 Debian 系发行版里常用的命令,用于自动修复软件包依赖关系问题。-f 是 fix-broken 的缩写,加在 install 后面时,会尝试自动修复满足依赖关系所需的所有未满足依赖。

所以遇到的情形是:装某个包时提示依赖没满足,跑这条命令,它会自动下载并安装缺失的依赖把关系补上。离线环境下前提是你已经把这些缺失依赖也拷进来了。

验证安装结果

nmap --version

能打印版本号就说明整套离线流程走通了。务必确保目标电脑的操作系统版本与源电脑相同(同样是 20.04 focal),否则架构、依赖版本全对不上。真在安装中冒出缺依赖,就回到有网那台机器补下缺失的 deb 再拷过来,重复一遍即可。

两条路的选型建议

  • 方法二(--download-only):能联网但目标机不能联网的最优解,一条命令把依赖树全拿下,几乎不会漏包;
  • 方法一(Packages 网站):源机器和目标机完全隔离、连 apt 源都不可用的兜底方案,但需要人工比对依赖,费时且容易漏;
  • 长期方案:在内网搭一个本地镜像源(apt-mirror 或者干脆同步一份 /var/cache/apt/archives),以后离线装机就是秒级的事。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表