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 腳本可能需要執行的任何清理。被警告。

相關內容