Назад | Перейти на главную страницу

APT / DPKG не работает - невозможно удалить mysql-server-core-5.5

Я хочу полностью удалить все пакеты, связанные с mysql, на моем сервере. Но мне кажется, что я не могу выполнить эту задачу. APT, похоже, не может понять, что mysql-server не установлен на сервере. Можно ли вручную указать apt, что пакет удален?

╭─root@home /etc/apt
╰─➤  apt-get remove mysql-server-core-5.5                                                                              
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
mysql-server-5.5 : Depends: mysql-client-5.5 (>= 5.5.54-0+deb8u1) but it is not going to be installed
                Depends: mysql-server-core-5.5 (>= 5.5.54-0+deb8u1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a  solution).

Я тоже пробовал провести "чистку"

╭─root@home /etc/apt
╰─➤  apt-get purge mysql-server-core-5.5                                                                             100 ↵
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 mysql-server-5.5 : Depends: mysql-client-5.5 (>= 5.5.54-0+deb8u1) but it is not going to be installed
                    Depends: mysql-server-core-5.5 (>= 5.5.54-0+deb8u1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Запуск apt-get -f install не решает никаких проблем

dpkg: error processing package mysql-server-5.5 (--configure):
 subprocess installed post-installation script returned error exit status 6
Processing triggers for libc-bin (2.19-18+deb8u7) ...
Errors were encountered while processing:
 mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

Запуск apt-get install mysql-server-5.5 --reinstall не работает ни с одним из них.

╭─root@home /etc/apt
╰─➤  apt-get install mysql-server-5.5 --reinstall                                                                    100 ↵
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for mysql-server-5.5:amd64

Попытка удалить вручную с помощью dpkg --purge --force-all mysql-community-server mysql-server-5.5 mysql-server-core-5.5 бесполезна

╭─root@home /etc/apt
╰─➤  dpkg --purge --force-all mysql-community-server mysql-server-5.5 mysql-server-core-5.5                            1 ↵
(Reading database ... 40739 files and directories currently installed.)
Removing mysql-community-server (5.7.17-1debian8) ...
Purging configuration files for mysql-community-server (5.7.17-1debian8) ...
................
dpkg: error processing package mysql-community-server (--purge):
 subprocess installed post-removal script returned error exit status 1
Removing mysql-server-5.5 (5.5.54-0+deb8u1) ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: error processing package mysql-server-5.5 (--purge):
 subprocess installed pre-removal script returned error exit status 5
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
Failed to start mysql.service: Unit mysql.service failed to load: No such file or directory.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 6
dpkg: warning: ignoring request to remove mysql-server-core-5.5 which isn't installed
Errors were encountered while processing:
 mysql-community-server
 mysql-server-5.5

Удаление пакетов по одному также не работает, мне предлагается "диалоговое окно", в котором я хочу, чтобы я установил пароль root для mysql-сервера.

apt-get удалить mysql-server apt-get remove mysql-client apt-get remove mysql-server-core

Я сделаю все возможное, чтобы обновить этот вопрос по вашему желанию, но сейчас я вырываю из-за этого волосы. Я почти собираюсь переустановить весь сервер.

Из показанного сообщения, из-за зависимостей, apt-get stop, это правильное поведение. В противном случае модули, зависящие от пакета, перестанут работать.

Правильный способ - это прочитать сообщение о модулях, зависящих от него, затем удалить их один за другим, пока вы не исчерпаете все.

Из сообщения mysql-server-core требуется mysql-сервером. Так что вы должны делать удаление по порядку.

sudo apt-get purge mysql-server
sudo apt-get purge mysql-client
sudo apt-get purge mysql-common
# I think when you uninstall mysql-server, it will also remove the core

Лучший способ всегда использовать dpkg -l | grep mysql для проверки установленных связанных пакетов.

Пожалуйста, попробуйте применить ответ, указанный в этом вопросе если все вышеперечисленное не удалось. Тем не менее, некоторая проблема возникает из-за указания на устаревший репозиторий debian / ubuntu, который содержит старый установочный скрипт / buggies, но это случается редко.