Debian11下dpkg升级自定义deb包失败,如何排查?
Debian 11下.deb包升级/重复安装失败问题排查
问题背景
我在Debian 11环境中构建了一个可正常安装并运行服务的.deb包,相关信息如下:
- 包文件名称:
foo_bar.deb - 包名:
foobar - 可执行文件名称:
foo_bar
基础安装、卸载流程均符合预期:
- 执行
dpkg -i foo_bar.deb安装后,dpkg -l显示包状态为ii,服务运行正常 - 执行
dpkg -r foobar可完成卸载,包状态变为rc;再执行dpkg --purge foobar可彻底清除残留文件,状态恢复正常
但当包已安装时,尝试通过dpkg -i foo_bar-2.deb进行更新、重复安装或降级操作时,会直接失败,导致系统进入包状态不一致的异常情况,必须执行dpkg --purge --force-all foobar才能修复。报错内容如下:
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Terminated
已通过dpkg -i -D133开启dpkg调试模式并获取了日志,但无法解读其中内容。经过测试确认:安装→卸载→重新安装的流程可正常执行,仅安装→安装这类升级性质的操作会触发该问题。
核心疑问
- 直接升级(覆盖安装)与手动卸载后重装的差异是什么?
- 如何排查这个
.deb包本身存在的问题?
内容的提问来源于stack exchange,提问作者inkms
相关产品推荐
相关产品推荐

