Ошибка удаляет пакет, который не установлен

Я всегда получаю уведомление что: Ubuntu стояла перед внутренней ошибкой. После проверки это поворачивается, там пакет, не полностью установленный или удаленный libapache2-mod-wsgi-py3.

Когда я работаю: sudo apt-get upgrade Я добираюсь:

dpkg: error processing package libapache2-mod-wsgi-py3 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 libapache2-mod-wsgi-py3
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я пытался использовать sudo apt autoremove. Но не полностью удалил его, я также сделал: sudo dpkg --remove libapache-mod-wsgi-py3 Когда я пытаюсь удалить пакет, я получаю это:

dpkg: warning: ignoring request to remove libapache-mod-wsgi-py3 which isn't installed

Но все еще имея ту же ошибку. Как зафиксировать это??

0
задан 26 April 2018 в 12:56

1 ответ

Шаг 1: Мешайте apache2 сервису работать

Перед удалением вводят эту команду в Терминал/другой CLI:

sudo systemctl stop apache2.service

Шаг 2: Удалите двоичные файлы пакета, конфигурационные файлы в масштабе всей системы и осиротевшие зависимости

Для завершенного удаления самого пакета, наряду с его конфигурационными файлами в масштабе всей системы и любыми зависимостями, которые требовались пакетом, но больше не нуждались, выполнитесь:

sudo apt-get purge --auto-remove <packagename>

Объяснение: purge делает то же самое как apt-get remove --purge; это избавляется от самого пакета и связанных конфигурационных файлов. Это похоже на один шаг выше apt-get remove, который только удаляет двоичные файлы. --auto-remove делает то же самое как apt-get autoremove; это избавляется от осиротевших зависимостей.

Извините я не дал Вам, что определенная команда для использования в комментариях но это прекрасно подходит, чтобы сделать все с помощью отдельных команд, а не одной единственной команды, так как те же действия выполняются. В Вашем конкретном случае, так как Вы уже сделали remove --purge, можно просто выполнить автоудалить часть теперь с sudo apt autoremove и это должно заботиться о материале, которые удаляют - чистка не удалила. Однократный путь просто немного быстрее.

С другой стороны, если Вы хотите быть выборочными о том, какие зависимости удалены, можно избавиться от --auto-remove флаг (выполнение sudo apt-get purge <packagename>) и выполните шаги, которые я нашел из этого удивительного ответа для легкого создания своего рода пользовательского деинсталлятора зависимости. Следующая команда сначала перечисляет все зависимости от пакета, затем передает тот список по каналу в человека apt-get remove команды, которые все отправляется в сценарий оболочки, который можно открыть в текстовом редакторе и изменить по мере необходимости. Затем Вы просто выполняете сценарий оболочки, после того как Вы довольны им. Команда:

apt-cache depends <packagename>|awk '{print "sudo apt-get remove "$NF}' >pg_remove.sh

pg_remove.sh файл сохранен к Вашему корневому каталогу (очевидно, можно добавить путь перед именем выходного файла, если Вы хотите сохранить его где-то в другом месте). Для запущения скрипта выполняются bash pg_remove.sh (снова, если Ваш выходной файл не находится в Вашем корневом каталоге, измените эту команду для включения пути к его местоположению).

Шаг 3: Удалите пользовательские конфигурационные файлы

Затем необходимо вручную удалить определенные для пользователя конфигурационные файлы, сохраненные в корневом каталоге. Они могут быть в их собственном каталоге, и/или в ~/.config, ~/.cache, ~/.local.

Сначала ищите файлы, которые содержат имя пакета в ~/.config и удалите их. Можно использовать ls -a ~/.config или ls -A ~/.config видеть все содержание Вашего домашнего, включая скрытые файлы/папки. При использовании Наутилуса, чтобы сделать это, удостоверьтесь, что Вы включили опции просмотреть скрытые файлы (View>Show Hidden Files). Затем удалите их использующий комнату или Наутилус.

Также посмотрите в своей домашней папке для каталога с именем пакета (или что-то, что похоже на имя пакета - это не может быть точно то же). Это, вероятно, будет скрыто по умолчанию, и это, вероятно, начнется с a"." - если это будет существовать. Я не знаю так много об апаче, таким образом, я не уверен, будет ли этот каталог там, или на что он был бы похож. Так или иначе, если это существует, удалите его также!

Кроме того, регистрация ~/.cache и ~/.local/share для каталога, названного в честь пакета.

Ссылки для Шагов 2 и 3: Как можно полностью удалить пакет?, Что корректный путь состоит в том, чтобы полностью удалить приложение?, Как удалить конфигурационные файлы полностью

Возможная будущая переустановка

Этот пакет может иметь библиотеки Вы, Вам на самом деле нужно в будущем, и Вы, возможно, должны переустановить его. Ubuntu идет с установленным libapache2-mod-wsgi-py3, который похож на версию по умолчанию, таким образом, мое предположение - то, что это не могло играть приятно с любой версией Python, которую Вы использовали. Если Вы хотите знать больше проверки вывод which python и ps -fA | grep python... Если конфликт с версией Python был действительно проблемой, то этот вопрос и этот адрес, как можно правильно установить модификацию-wgsi через зернышко (зернышко пакета устанавливает, являются чем-то названным mod_wgsi).

0
ответ дан 30 October 2019 в 01:06

Другие вопросы по тегам:

Похожие вопросы: