dpkg "cycle found while processing triggers" libc-bin



在debian/ubuntu 16.04.01系统(gcloud-compute(上,我正在尝试删除并重新安装一个搞砸的后缀包,而不删除依赖于它的包(automysqlbackup(并首先强制安装它。 由于这是一个正在运行的系统,我尽量不要打扰太多。 尝试查看将会发生什么:

$ dpkg --simulate --purge postfix
dpkg: could not open log '/var/log/dpkg.log': Permission denied
dpkg: dependency problems prevent removal of postfix:
bsd-mailx depends on default-mta | mail-transport-agent; however:
Package default-mta is not installed.
Package postfix which provides default-mta is to be removed.
Package mail-transport-agent is not installed.
Package postfix which provides mail-transport-agent is to be removed.
bsd-mailx depends on default-mta | mail-transport-agent; however:
Package default-mta is not installed.
Package postfix which provides default-mta is to be removed.
Package mail-transport-agent is not installed.
Package postfix which provides mail-transport-agent is to be removed.

由于导致后缀的邮件链是可以的,我想将其保留在原位:

$ dpkg --simulate --ignore-depends bsd-mailx --purge postfix
dpkg: could not open log '/var/log/dpkg.log': Permission denied
(Reading database ... 171222 files and directories currently installed.)
Would remove or purge postfix (3.1.0-3ubuntu0.3) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
dpkg: cycle found while processing triggers:
chain of packages whose triggers are or may be responsible:
libc-bin -> libc-bin
packages' pending triggers which are or may be unresolvable:
libc-bin: ldconfig
dpkg: error processing package libc-bin (--purge):
triggers looping, abandoned
Errors were encountered while processing:
libc-bin

我对此并不精通,并且正在使用一个不是我创建的系统,因此任何帮助/指示将不胜感激。libc-bin 循环问题看起来有些事情搞砸了,需要在处理后缀问题之前修复。 如何进行?

解决方案是安装 nullmailer,它删除了后缀,但仍满足默认的 mta 和邮件传输代理依赖项。 然后清除后缀,然后安装后缀:

apt install nullmailer
apt purge postfix
apt install postfix

非常感谢 ubuntu 用户组中的 Peter Silva 提出这种方法。

相关内容

最新更新