Я всегда получаю уведомление что: 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
Но все еще имея ту же ошибку. Как зафиксировать это??
Перед удалением вводят эту команду в Терминал/другой CLI:
sudo systemctl stop apache2.service
Для завершенного удаления самого пакета, наряду с его конфигурационными файлами в масштабе всей системы и любыми зависимостями, которые требовались пакетом, но больше не нуждались, выполнитесь:
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
(снова, если Ваш выходной файл не находится в Вашем корневом каталоге, измените эту команду для включения пути к его местоположению).
Затем необходимо вручную удалить определенные для пользователя конфигурационные файлы, сохраненные в корневом каталоге. Они могут быть в их собственном каталоге, и/или в ~/.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).