检查您是否使用了第三方源。如果是就禁用它们,它们常常导致问题。
然后在终端中运行以下命令:apt-get install -f
Transaction failed: 软件包系统已损坏
下列软件包未满足的依赖关系:
libc6-dbg: Depends: libc6 (= 2.31-0ubuntu9.2) 但是 2.31-0ubuntu9.1 已经安装
libc6-dev: Depends: libc6 (= 2.31-0ubuntu9.2) 但是 2.31-0ubuntu9.1 已经安装
Depends: libc-dev-bin (= 2.31-0ubuntu9.2) 但是 2.31-0ubuntu9.2 已经安装
【处理过程】
根据提示,运行apt-get install -f尝试修复安装
[ubuntu ~]$ sudo apt-get install -f
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: 处理归档 /var/cache/apt/archives/libc6_2.31-0ubuntu9.2_amd64.deb (--unpack
)时出错:
新的 libc6:amd64 软件包 pre-installation 脚本 子进程返回错误状态 1
在处理时有错误发生:
/var/cache/apt/archives/libc6_2.31-0ubuntu9.2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
下列软件包有未满足的依赖关系:
libc6-dbg : 依赖: libc6 (= 2.31-0ubuntu9.2) 但是 2.31-0ubuntu9.1 已经安装
libc6-dev : 依赖: libc6 (= 2.31-0ubuntu9.2) 但是 2.31-0ubuntu9.1 已经安装
先行尝试使用 dpkg -i -force-overwrite 安装指定的包,发现也提示同样错误
[ubuntu ~]$ dpkg -i -force-overwrite /var/cache/apt/archives/libc6_2.31-0ubuntu9.2_amd64.deb
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: 处理归档 /var/cache/apt/archives/libc6_2.31-0ubuntu9.2_amd64.deb (--unpack
)时出错:
新的 libc6:amd64 软件包 pre-installation 脚本 子进程返回错误状态 1
在处理时有错误发生:
/var/cache/apt/archives/libc6_2.31-0ubuntu9.2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
这时,注意到这一句:debconf: DbDriver “config”: /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable。表示文件被其他进程锁死,才会无法继续进行安装。
那就尝试找出这进程并kill掉,释放文件占用锁死。
[ubuntu ~]$ lsof /var/cache/debconf/config.dat #会显示打开此文件的进程和PID
[ubuntu ~]$ kill -9 PID #强制杀掉进程
但结果无法结束进程。。。
【最终解决方法】
删除/var/cache/debconf/下的所有dat文件,然后update软件源,再次运行更新安装恢复正常
[ubuntu ~]$ sudo rm -rf /var/cache/debconf/*.dat
[ubuntu ~]$ sudo apt-get update
[ubuntu ~]$ sudo apt-get install -f