Как принудительно удалить, когда сценарий после установки всегда терпит неудачу

37

У меня на Ubuntu 10.10 установлен пользовательский пакет, и, пытаясь удалить его, я получил:

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

(сообщение, возвращенное командой, было переведено с португальского (br).

Итак, я заметил, что в сценарии установки этого пакета он создал запись при моем запуске, создал папку в / opt и создал пользователя.

Я удалил все, что он создал. Но сейчас я просто хочу удалить его из списка dpkg, потому что я хочу сделать мой linux таким, как если бы я никогда не устанавливал этот пакет.

Как я могу это сделать?

Габриэль Л. Оливейра
источник

Ответы:

47

Возможно, вам придется вручную удалить пакет, используя:

sudo dpkg --purge --force-all package

Замените packageна название пакета.

Обратите внимание: рекомендуется сообщить об ошибке, если пакет не ваш или вам неизвестно, что делает скрипт.

Braiam
источник
1
@jcomeau_ictx конечно ... вопрос касается пост-удаления, а не предварительного.
Брайам
30

Попытка удалить xmail с ошибкой завершилась, dpkg --purge --force-all xmailтак как завершился сценарий предварительного удаления с ошибкой при попытке остановить демон xmail. Я нашел решение здесь: https://serverfault.com/questions/179570/how-to-remove-a-package-which-post-installation-and-pre-removal-script-fails

в частности, я отредактировал /var/lib/dpkg/info/xmail.prerm и изменил || exit $!на|| true

jcomeau_ictx
источник
1
Я не понимаю, отрицательный голос. другое решение не охватывает все случаи, и это обеспечивает некоторую помощь для остальных.
jcomeau_ictx
1
Если я угадаю, вы отвечаете «Сбой из-за сценария перед удалением», этот вопрос о сценарии «после установки». Вы не отвечаете на текущий вопрос.
Брайам
2
У меня была проблема со сценарием предварительного удаления, и это помогло мне.
Богдан Калмак
2
Как и следовало ожидать, если редактирование *.prermфайлов слишком утомительно, вы можете также удалить их - процесс удаления работает с ними отсутствует
Paulius Šukys
спасибо, не знал этого! Это стоит отдельного ответа, если вы хотите это сделать.
jcomeau_ictx