从官网下了一个 .deb 文件,双击弹出一个软件商店窗口,点了安装进步条卡在最后,报「依赖关系不满足」。这就是新装 Ubuntu 的人最常遇到的场面。
dpkg 装单个包,但不管依赖
.deb 是 Debian 系的软件包格式。最直接的安装命令是 dpkg,参数 i 表示 install:
sudo dpkg -i ./tool_1.2_amd64.deb它的问题就是不管依赖。如果这个包依赖别的库没装,dpkg 会报一串 dependency problems 然后把它标记成未配置状态。这时候别急着重装,跑一句补齐依赖:
sudo apt-get install -f这条会去仓库里把缺的依赖拉下来,再把刚才那个半装的包配置好。
apt 装本地 deb 更省心
较新的 apt 支持直接吃本地路径,会自动处理依赖:
sudo apt install ./tool_1.2_amd64.deb注意路径前必须带 ./,否则 apt 会当成仓库里的包名去搜,找不到就报 Unable to locate package。
装完怎么确认装没装上
- 看包状态:dpkg -l | grep 包名
- 看文件落哪了:dpkg -L 包名
- 这个文件属于哪个包:dpkg -S /usr/bin/xxx
- 卸载:sudo apt remove 包名,想连配置一起清就加 purge
要不要用图形工具 gdebi
gdebi 会先用界面把依赖列出来再装,适合不熟命令的人。代价是多装一个软件,而且没法像 apt 那样在脚本里循环。服务器上就别折腾它了。
总结一句:自己打包测试用 dpkg -i 配 apt-get install -f;从网上随手下的包,直接 apt install ./xxx.deb 最稳,省得跟依赖纠缠。