Я хочу полностью удалить все пакеты, связанные с 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, но это случается редко.