dpkg 装包异常
发布时间:2023-06-05 浏览次数:950次 作者:湖南省计算产业生态创新中心 (长沙)
问题描述:
客户有时候装包的时候会反馈报错:dpkg-deb
--control 返回错误状态 2
或者 1,一般出现这种异常方式大多数原因是 Linux 中的软件依赖关系成一颗拓 扑树结构,比如 A 直接或间接依赖 B,那么 B 就不可能直接或间接依赖 A。试想从时间上 A、B 必然有一个先出现,而先出现的不可能依赖于后出现的;并且如果 A 与 B 互相依赖则就是“鸡与蛋”的问题,因此必然有一个先出现而另一个依赖于先者:
1. 由于之前用 dpkg 装包的时候出现强制中断,导致包的信息写入有问题
2. apt 装包的时候没有正常结束安装,或者依赖关系没有满足
3. 包本身有问题,有可能没下完,或者包安装脚本有问题
解决思路:
基本上都是 dpkg 安装包的时候导致的异常,从 dpkg 开始排查,网上查到问题处理方法
解决方法:
一般都提供脚本给用户,或者指导客户敲脚本内容:
#!/bin/bash
mv /var/lib/dpkg/info /var/lib/dpkg/info_old
mkdir /var/lib/dpkg/info
apt-get update
apt-get -f install
mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old
rm -rf /var/lib/dpkg/info
mv /var/lib/dpkg/info_old /var/lib/dpkg/info
目的是更新 info 文件内容,更正一下 info 内容记录,就可以了,第三种情况的处理方式就是核对包的 md5 值,或者找对应的产品对接人核对一下包的可用性。