Gdm 卸载失败(“预删除脚本返回错误”)

Gdm 卸载失败(“预删除脚本返回错误”)

我在我的 vps 上安装了 gdm,现在我想删除它,但出现此错误:

root@server2:/etc/init.d# apt-get remove gdm3
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  gdm3
0 upgraded, 0 newly installed, 1 to remove and 6 not upgraded.
After this operation, 7066 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 119416 files and directories currently installed.)
Removing gdm3 ...
invoke-rc.d: initscript gdm3, action "stop" failed.
dpkg: error processing gdm3 (--remove):
 subprocess installed pre-removal script returned error exit status 127
configured to not write apport reports
                                      invoke-rc.d: initscript gdm3, action "reload" failed.
Errors were encountered while processing:
 gdm3
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@server2:/etc/init.d#

答案1

删除包时,会运行一些清理脚本。似乎其中之一失败(即/etc/init.d/gdm3),导致卸载不完整。

解决此问题的正确方法是检查脚本失败的原因。尝试跑步

/etc/init.d/gdm3 stop

手动,看看失败的原因。修复根本错误,然后尝试再次卸载。

一个丑陋的黑客

如果根本问题(由您自己)无法修复,则通过以下简单修复可能会更幸运:

首先确保它gdm3不再运行(作为最后的手段,你可能会杀死它)。

然后将该行添加exit 0到文件的开头/etc/init.d/gdm3(有时在 shebang 之后,但在脚本实际执行任何操作之前;例如 line#2)。这实际上会禁用该脚本并使其假装总是成功。

最后重新运行卸载。

笔记:这是一个非常丑陋的黑客,因为它绕过了 init.d 脚本可能需要执行的任何清理。被警告。

相关内容