我正在运行mc
并尝试在 shell 中安装curl 和 postfix: apt-get install curl postfix
。出现 postfix 的配置对话框,按 Ctrl-o(切换显示/隐藏 MC)两次后,我无法再读取配置消息,因此我使用 F10 退出 MC。 apt-get 进程仍然存在,我用 杀死了它sudo kill xxxx
。现在 apt-get 不起作用了。
我试过了apt-get -f install
X@X ~ % LC_ALL=C sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
exim4-config lsb-invalid-mta
The following packages will be REMOVED:
postfix
The following NEW packages will be installed:
exim4-config lsb-invalid-mta
0 upgraded, 2 newly installed, 1 to remove and 3 not upgraded.
1 not fully installed or removed.
Need to get 0 B/523 kB of archives.
After this operation, 2462 kB disk space will be freed.
Do you want to continue? [Y/n]
Preconfiguring packages ...
dpkg: postfix: dependency problems, but removing anyway as you requested:
lsb-core depends on lsb-invalid-mta (>= 4.1+Debian13+nmu1) | mail-transport-agent; however:
Package lsb-invalid-mta is not installed.
Package mail-transport-agent is not installed.
Package postfix which provides mail-transport-agent is to be removed.
Package exim4-daemon-light which provides mail-transport-agent is not installed.
bsd-mailx depends on default-mta | mail-transport-agent; however:
Package default-mta is not installed.
Package exim4-daemon-light which provides default-mta is not installed.
Package mail-transport-agent is not installed.
Package postfix which provides mail-transport-agent is to be removed.
Package exim4-daemon-light which provides mail-transport-agent is not installed.
(Reading database ... 421170 files and directories currently installed.)
Removing postfix (2.11.3-1) ...
dpkg: error processing package postfix (--remove):
subprocess installed pre-removal script returned error exit status 102
Errors were encountered while processing:
postfix
E: Sub-process /usr/bin/dpkg returned an error code (1)
以及各种问题中提出的其他解决方案(Q1,Q2,第三季度):apt-get purge postfix
、apt-get --reinstall install postfix
、dpkg --pending --configure
。
一个非常相似的问题(重复?)是后缀错误,但没有答案。
如何修复包管理器?我的操作系统是 Debian Jessie。
编辑1
巴哈姆特的建议失败,错误代码为 102:
X@X ~ % LC_ALL=C sudo dpkg --install /var/cache/apt/archives/postfix_2.11.3-1_amd64.deb
Selecting previously unselected package postfix.
(Reading database ... 421172 files and directories currently installed.)
Preparing to unpack .../postfix_2.11.3-1_amd64.deb ...
dpkg: warning: subprocess old pre-removal script returned error exit status 102
dpkg: trying script from the new package instead ...
dpkg: ... it looks like that went OK
Unpacking postfix (2.11.3-1) over (2.11.3-1) ...
Setting up postfix (2.11.3-1) ...
insserv: script postfix is not an executable regular file, skipped!
Postfix configuration was not changed. If you need to make changes, edit
/etc/postfix/main.cf (and others) as needed. To view Postfix configuration
values, see postconf(1).
After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.
Running newaliases
dpkg: error processing package postfix (--install):
subprocess installed post-installation script returned error exit status 102
Processing triggers for systemd (215-17+deb8u5) ...
Processing triggers for ufw (0.33-2) ...
Processing triggers for man-db (2.7.0.2-5) ...
Processing triggers for libc-bin (2.19-18+deb8u6) ...
Errors were encountered while processing:
postfix
答案1
手动删除配置文件有效:
rm /var/lib/dpkg/info/postfix.*
apt-get purge postfix
答案2
尝试dpkg --install /var/cache/apt/archives/postfix_2.11.3-1_amd64.deb
并之后apt -f install