AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 773287
Accepted
Jonathan
Jonathan
Asked: 2016-05-17 08:20:23 +0800 CST2016-05-17 08:20:23 +0800 CST 2016-05-17 08:20:23 +0800 CST

如何修复损坏的包安装(mysql)

  • 772

升级到 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

但是我得到了各种神秘的错误,例如:

sudo apt-get install --reinstall mysql-server
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:amd64

并卸载

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

或者如果我强制安装:

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 无法从部分安装中恢复吗?我必须重新安装操作系统吗?

apt
  • 9 9 个回答
  • 106832 Views

9 个回答

  • Voted
  1. Videonauth
    2016-05-17T15:26:49+08:002016-05-17T15:26:49+08:00

    执行以下操作以清除损坏的包:

    sudo apt-get clean
    sudo apt-get update
    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 dpkg -r mysql 
    

    之后重新安装它:

    sudo apt-get install mysql mysql-client* mysql-server*
    
    • 31
  2. Best Answer
    Jonathan
    2016-05-17T15:22:52+08:002016-05-17T15:22:52+08:00

    感谢@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>,如果失败,只需删除依赖它的包。如果你重复,最终 apt-get 将再次工作。

    另请参阅dpkg 和 aptitude/apt-get 有什么区别?

    • 17
  3. rahul
    2017-07-10T11:16:08+08:002017-07-10T11:16:08+08:00

    尝试这个,

    运行此命令以清除 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
    

    运行它来清理和更新包

    sudo apt update && sudo apt dist-upgrade && sudo apt autoremove && sudo apt -f install
    

    最后安装mysql

    sudo apt install mysql-server
    

    这对我有用。

    • 12
  4. tomek
    2017-04-29T01:18:18+08:002017-04-29T01:18:18+08:00

    mysql如上所示清除后,您必须以这种方式安装mysql:

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

    以这种方式安装时,不会出现安装错误。

    • 4
  5. s1l3n0
    2019-04-18T05:24:00+08:002019-04-18T05:24:00+08:00

    我不知道确切的原因,但所有这些方法都对我不起作用。就我而言,纠正问题的程序是:

    sudo apt-get purge mysql-*
    sudo apt-get autoremove
    sudo apt-get autoclean
    sudo apt-get dist-upgrade
    
    sudo rm -rf /etc/mysql
    sudo rm -rf /var/lib/mysql*
    

    并重新启动!

    终于,我能跑了 sudo apt-get install mysql-server!

    • 4
  6. mad_greasemonkey
    2017-12-13T21:47:35+08:002017-12-13T21:47:35+08:00

    这对我有用

    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 现在它工作正常。

    • 1
  7. Muhammad Faizan Fareed
    2020-08-11T02:54:25+08:002020-08-11T02:54:25+08:00

    我也遇到了这些错误,浪费了很多时间。运行这些命令

    sudo apt-get remove --purge mysql-server
    sudo /etc/init.d/mysql stop
    sudo apt-get remove --purge mysql-common
    sudo rm -rf /var/lib/mysql
    
    sudo apt-get autoremove --purge
    sudo apt-get autoclean
    sudo apt-get clean
    
    sudo apt update
    sudo apt install mysql-server
    

    我在这个网站上找到 了解决方案 解决方案的来源

    • 1
  8. Ruijie Yuan
    2018-04-20T09:41:23+08:002018-04-20T09:41:23+08:00

    命令sudo dpkg -r对我不起作用..

    我曾经sudo apt-get purge mysql-*卸载所有相关页面然后重新安装它们

    • 0
  9. Cesar Devesa
    2020-11-03T04:30:26+08:002020-11-03T04:30:26+08:00

    这为我修复了它(MySQL 8.0 - Ubuntu 20.04)

    sudo apt-get purge mysql\* libmysql\*
    sudo apt autoremove
    

    但是包“mysql-client-core-8.0”没有卸载,所以......

    sudo apt --fix-broken install
    sudo apt-get --reinstall install mysql-client-core-8.0
    sudo apt-get purge mysql\* libmysql\*
    sudo apt autoremove
    sudo apt update
    sudo apt install mysql-server
    

    没有更多的错误!

    • 0

相关问题

  • 如何编写 shell 脚本来安装应用程序列表?

  • 如何查看存档中可用的软件包的所有版本?

  • 是否可以说出我安装的哪些软件包不在原版安装中?

  • 如何删除 PPA?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve