Как восстановить поврежденную установку пакета (mysql)

После обновления до Ubuntu 16.04, я заметил, что mysql испытывает ошеломляющие ошибки. Убедившись, что это была сломанная настройка, я попытался запустить очистку mysql. Это, казалось, не удаляло все, поэтому я попытался сделать это сам:

sudo rm -r /etc/mysql
sudo rm -r /usr/share/mysql-workbench
sudo rm -r /usr/share/mysql
sudo rm -r /usr/share/mysql-common

Это была ошибка. Никогда не пытайтесь это сделать. Теперь mysql даже не будет правильно установлен. Я попытался переустановить зависимости:

sudo apt-get install --reinstall $(apt-cache depends mysql-server | grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ' )

И сами пакеты:

sudo apt install mysql-workbench mysql-server --reinstall

Но я получаю всевозможные загадочные ошибки, такие как:

[ f4]

И удалите

sudo apt-get remove mysql-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libmysqlclient20 : Depends: mysql-common (>= 5.5) but it is not going to be installed
 mariadb-client-core-10.0 : Depends: mariadb-common (>= 10.0.24-7) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Или, если я переконфигурирую

sudo dpkg --configure -a
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server

Или, если I Force install:

sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 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.
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Или если я выполнить очистку:

sudo apt-get -f purge mysql-server 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  mysql-server*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 159 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 348226 files and directories currently installed.)
Removing mysql-server (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)

Возможно ли apt не восстановиться после частичной установки? Нужно ли переустанавливать ОС?

1
задан 30 May 2016 в 11:50

5 ответов

Благодаря @Videonauth

sudo dpkg -r mysql-client-5.7
sudo dpkg -r mysql-server-5.7
sudo dpkg -r libmysqlclient20:i386
sudo dpkg -r libmysqlclient20:amd64
sudo dpkg -r libmysqlclient18:amd64
sudo dpkg -r mysql-common

Затем выполняется:

sudo apt-get purge mysql\* mariadb\* libmysql\* libmariadb\*

Если что-то не удается, просто запустите sudo dpkg -r <failedpackage>, и если THAT не удастся просто удалить пакет, который зависит в теме. Если вы повторите, в конце концов apt-get снова будет работать.

См. Также В чем разница между dpkg и aptitude / apt-get?

7
ответ дан 23 May 2018 в 11:03
  • 1
    Удаление этих пакетов libmysqlclient, даже если другие пакеты опираются на них, и очистка всего этого трюка. Хотя теперь я получаю ошибки mysql_upgrade. – skerit 26 May 2016 в 12:43
  • 2
    У меня никогда не было ошибок mysql_upgrade. Но вам, возможно, придется удалить еще больше пакетов . Я полагаю, что это зависит от того, какой пакет был поврежден. Есть способ поиска всех установленных пакетов, связанных с mysql, но я забыл, как это сделать. Я думаю, что это команда списка dpkg, пропущенная через grep – Jonathan Leaders 30 May 2016 в 11:49

Попробуйте это,

запустите эту команду, чтобы очистить mysql, замените версию 5.7 вашей установленной версией

sudo apt purge mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7 mysql-server

запустите это, чтобы очистить и обновить пакеты

[ f2]

окончательно установить mysql

sudo apt install mysql-server

, это сработало для меня.

3
ответ дан 23 May 2018 в 11:03
  • 1
    Это сработало для меня, где выбранный ответ не был (он не сработал на sudo dpkg -r mysql-client-5.7) – jeff-h 3 May 2018 в 04:28

После очистки mysql, как было показано выше, вам необходимо установить mysql следующим образом:

sudo apt-get install mysql-common 
sudo apt-get install mysql-server

При установке этого способа у вас не будет ошибки установки.

1
ответ дан 23 May 2018 в 11:03

Это сработало для меня

sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get dist-upgrade

, после чего я снова установил mysql с

sudo apt-get install mysql-server и теперь его работоспособность.

0
ответ дан 23 May 2018 в 11:03

Команда sudo dpkg -r не работает для меня ..

Я использовал sudo apt-get purge mysql-* для удаления всех выпущенных страниц, а затем переустановил их

0
ответ дан 23 May 2018 в 11:03

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

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