推荐用 sudo apt install ./package.deb,因它自动解析依赖并从源安装;dpkg -i 仅解压安装、不处理依赖,易报错或装后不可用,需手动 sudo apt install -f 修复。

直接用 sudo apt install ./package.deb 最省事,能自动解决依赖;dpkg -i 虽然底层可靠,但缺依赖时会卡住,必须手动补救。
为什么别一上来就用 dpkg -i
dpkg 是纯安装器,不查源、不拉依赖、不修复中断状态。常见现象是执行 sudo dpkg -i xxx.deb 后报错:dependency is not satisfiable: libxxx 或直接静默失败——软件装上了但打不开,命令找不到。
- 它只解压文件、运行 preinst/postinst 脚本,不管系统里有没有
libssl1.1这类基础库 - 即使安装成功,后续用
apt upgrade也可能把刚装的包标记为 “held back”(被保留) - 修复方式只能跟一句
sudo apt install -f,但这个命令有时会误删其他包,尤其在源配置混乱时
sudo apt install ./xxx.deb 才是推荐入口
Ubuntu 16.04+ 和 Debian 9+ 都支持该语法,apt 会先解析 .deb 的 Depends: 字段,再从启用的源里找匹配版本并批量安装——和装仓库软件逻辑一致。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 路径必须带
./或绝对路径,写成apt install xxx.deb会报错Unable to locate package - 如果提示
E: Unable to correct problems, you have held broken packages,说明本地源缺失对应依赖,需先sudo apt update - 安装后可用
dpkg -s package-name确认状态,Status:行显示install ok installed才算真正就位
图形界面双击安装的隐性限制
Ubuntu Software、GDebi 点几下确实快,但它们底层调用的仍是 dpkg + apt 组合,只是封装了交互。容易忽略的点有:
- GDebi 默认不启用“安全更新源”,遇到需要
universe或multiverse源的依赖时会失败,得手动勾选 - Ubuntu Software 在某些版本(如 22.04 LTS)对非 Snap 包支持变弱,点击安装后可能卡在“正在准备”不动
- 双击安装无法复现过程,出错时终端没输出,排查依赖缺失比命令行更费时间
装完打不开?先查这三件事
不是所有 .deb 都能装完即用,尤其第三方闭源工具(如 VS Code 官方包、Postman)。
- 运行
which command-name或ls /usr/bin/ | grep name,确认可执行文件是否真落到了 PATH 路径 - 查日志:
journalctl -u appname.service --since "1 hour ago"(如果是 systemd 服务) - 桌面快捷方式失效很常见:检查
/usr/share/applications/*.desktop文件里Exec=路径是否指向真实二进制,有些包会硬编码/opt/xxx/xxx但实际装在/usr/lib/xxx
真正麻烦的从来不是安装动作本身,而是 deb 包作者写的 control 文件里写的依赖是否和你的系统源完全对齐——这点连 apt install -f 都不一定兜得住,得看运气和源同步时效。










