Ich habe GDM auf meinem VPS installiert und möchte es jetzt entfernen, erhalte aber diese Fehlermeldung:
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#
Antwort1
beim Entfernen des Pakets werden einige Bereinigungsskripte ausgeführt. Es scheint, als ob eines davon fehlschlägt (nämlich /etc/init.d/gdm3
), wodurch die Deinstallation unvollständig bleibt.
Der richtige Weg, dies zu beheben, besteht darin, zu prüfen, warum das Skript fehlschlägt. Versuchen Sie, auszuführen
/etc/init.d/gdm3 stop
manuell und finden Sie heraus, warum es fehlschlägt. Beheben Sie den zugrunde liegenden Fehler und versuchen Sie dann die Deinstallation erneut.
ein hässlicher Hack
Wenn das zugrunde liegende Problem (von Ihnen) nicht behoben werden kann, haben Sie möglicherweise mit der folgenden einfachen Lösung mehr Glück:
Stellen Sie zunächst sicher, dass es gdm3
nicht mehr ausgeführt wird (als letztes Mittel können Sie es beenden).
Fügen Sie dann die Zeile exit 0
am Anfang der /etc/init.d/gdm3
Datei hinzu (irgendwann nach dem Shebang, aber bevor das Skript tatsächlich etwas tut, z. B. Zeile 2). Dadurch wird das Skript praktisch deaktiviert und es wird so getan, als sei es immer erfolgreich.
Führen Sie abschließend die Deinstallation erneut aus.
NOTIZ: Das ist ein wirklich hässlicher Hack, da er alle Bereinigungsvorgänge umgeht, die das init.d-Skript möglicherweise durchführen müsste. Seien Sie gewarnt.