Jak wymusić usunięcie, gdy skrypt poinstalacyjny zawsze zawodzi

37

Mam zainstalowany niestandardowy pakiet na moim Ubuntu 10.10 i próbując go usunąć, otrzymałem:

$ sudo dpkg -r package
sub-process script post-installation installed returne an error state 127

(wiadomość zwrócona z polecenia została przetłumaczona z portugalskiego (br).

Zauważyłem więc, że w skrypcie instalacyjnym tego pakietu utworzyłem wpis przy uruchamianiu, utworzyłem folder na / opt i utworzyłem użytkownika.

Usunąłem wszystko, co stworzyłem. Ale teraz chcę tylko usunąć go z listy dpkg, ponieważ chcę, aby mój Linux działał tak, jakbym nigdy nie instalował tego pakietu.

W jaki sposób mogę to zrobić?

Gabriel L. Oliveira
źródło

Odpowiedzi:

47

Może być konieczne ręczne usunięcie pakietu za pomocą:

sudo dpkg --purge --force-all package

Zamień packagena nazwę pakietu.

Uwaga: zaleca się zgłaszanie błędu, jeśli pakiet nie jest twój lub nie wiesz, co robi skrypt.

Braiam
źródło
1
@jcomeau_ictx oczywiście ... pytanie dotyczy post-usunięcia, a nie pre.
Braiam
30

próba usunięcia xmaila dpkg --purge --force-all xmailnie powiodła się, ponieważ skrypt wstępnego usuwania kończył się niepowodzeniem, próbując zatrzymać demona xmaila. Znalazłem rozwiązanie tutaj: https://serverfault.com/questions/179570/how-to-remove-a-package-which-post-installation-and-pre-removal-script-fails

konkretnie, edytowałem /var/lib/dpkg/info/xmail.prerm i zmieniłem || exit $!na|| true

jcomeau_ictx
źródło
1
Nie rozumiem opinii. drugie rozwiązanie nie obejmuje wszystkich przypadków, a to zapewnia pewną pomoc dla pozostałych.
jcomeau_ictx
1
Jeśli muszę zgadywać, odpowiedz „nie powiodło się, ponieważ skrypt przed usunięciem”, to pytanie dotyczy skryptu „po instalacji”. Nie odpowiadasz na aktualnie zadane pytanie.
Braiam
2
Miałem problem ze skryptem przed usunięciem i to mi pomogło.
Bogdan Calmac,
2
Jak można się spodziewać, jeśli edytowanie *.prermplików jest zbyt uciążliwe, możesz je również usunąć - proces deinstalacji działa bez nich
Paulius Šukys
dzięki, nie wiedziałem o tym! to jest warte osobnej odpowiedzi, jeśli chcesz to zrobić.
jcomeau_ictx