推荐用 sudo apt install ./package.deb 安装 deb 包,它由 apt 全流程接管,自动处理依赖解析、下载与配置;必须带 ./ 前缀,避免误搜远程仓库,安装失败时执行 sudo apt install -f 修复。

直接用 sudo apt install ./package.deb 最省事,它能自动处理依赖;sudo dpkg -i package.deb 仅适合你明确知道依赖已就绪,或准备手动补救。
用 apt install ./xxx.deb 安装(推荐)
这是 Ubuntu 16.04+ 和 Debian 11+ 的默认推荐方式,本质是让 APT 接管整个安装流程,不只是解包,还包括依赖解析、下载、配置。
- 必须带
./前缀,否则 APT 会当成远程包名去仓库搜索,报错E: Unable to locate package xxx.deb - 如果系统没更新过索引,可能漏判依赖,建议先运行
sudo apt update - 安装失败时通常会提示缺失哪些包,接着执行
sudo apt install -f即可修复,不用重装 - 卸载时直接用
sudo apt remove package-name,和普通 apt 安装的包行为一致
用 dpkg -i xxx.deb 安装(低层但需手动兜底)
dpkg 是纯本地解包工具,不联网、不查依赖、不调用 APT,适合离线环境或调试场景,但容易卡在“依赖未满足”上。
- 执行后若报类似
dependency is not satisfiable: libxxx,说明缺依赖,此时不能跳过,得立刻补:sudo apt install -f -
dpkg -i不会自动触发配置脚本(postinst),有时装完软件无法启动,需手动运行:sudo dpkg --configure -a - 不要用
dpkg -r package-name卸载——它只删文件,不清理配置和依赖,残留多;应优先用sudo apt remove package-name
图形界面双击安装是否可靠?
GNOME 的 “Software”、KDE 的 “Discover” 或 Ubuntu Software 默认支持双击 .deb,背后其实调用的是 apt 或 gdebi,只要桌面环境没被魔改,基本可用。
- 优点:对新手友好,有进度条和错误提示,点“安装”后自动处理依赖
- 缺点:某些企业定制版桌面(如 Deepin 23 旧版、部分国产发行版)会禁用或替换后台安装器,导致双击无反应或报错
Failed to install: No installation backend available - 遇到这类问题,别折腾 GUI,退回终端用
sudo apt install ./xxx.deb更快
依赖修复失败怎么办?
当 sudo apt install -f 提示“held broken packages”或反复循环提示同一依赖,大概率是源冲突或架构混用。
- 检查 deb 包架构是否匹配系统:
file package.deb应含amd64或arm64,和dpkg --print-architecture输出一致 - 确认第三方源没引入冲突版本:临时注释
/etc/apt/sources.list.d/下非官方源,再试sudo apt update && sudo apt install -f - 极少数情况需要强制覆盖安装(慎用):
sudo dpkg -i --force-all package.deb,之后务必立即sudo apt install -f补依赖,否则系统可能不稳定
真正容易被忽略的是:deb 包名里的版本号和架构标识(如 google-chrome-stable_123.0.6312.86-1_amd64.deb)决定了它能否被 apt 正确识别为同一软件。换包升级时,别只看主名,要核对完整包名,否则 apt remove 可能删不干净,新旧版本共存导致命令冲突。










