无法更新或删除 mariadb

无法更新或删除 mariadb

我犯了一个错误。我必须将 mariadb 从 10.0 更新到 10.2。因此我做了:

$ sudo apt-get install mariadb-server
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: 
   mariadb-client : Depends: mariadb-client-10.0 (=10.0.33+maria-1~trusty) but 10.0.31-0ubuntu0.16.04.2 is to be installed
   mariadb-server : Depends: mariadb-server-10.2 (>=    10.2.7+maria~xenial) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

然后尝试删除,但出现错误:

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:
   mariadb-client : Depends: mariadb-client-10.0 (=10.0.33+maria-1~trusty) but 10.0.31-0ubuntu0.16.04.2 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

sudo apt-get -f install给我:

Reading package lists... Done 
Building dependency tree        
Reading state information... Done 
Correcting dependencies... Done 
The following additional packages will be installed:   
  mariadb-client-10.0 mariadb-client-core-10.0 mariadb-server-10.0 mariadb-server-core-10.0
Suggested packages:   mailx mariadb-test tinyca
Recommended packages:  libhtml-template-perl 
The following packages will be upgraded:
  mariadb-client-10.0 mariadb-client-core-10.0 mariadb-server-10.0 mariadb-server-core-10.0 
4 upgraded, 0 newly installed, 0 to remove and 26 not upgraded. 
4 not fully installed or removed. 
Need to get 0 B/11,7 MB of archives. 
After this operation, 9709 kB disk space will be freed.
Do you want to continue? [Y/n] y
Preconfiguring packages ... (Reading database ... 304724 files and directories currently installed.)
Preparing to unpack .../mariadb-server-10.0_10.0.33+maria-1~trusty_amd64.deb ...
Unpacking mariadb-server-10.0 (10.0.33+maria-1~trusty) over (10.0.31-0ubuntu0.16.04.2) ...
dpkg: error processing archive /var/cache/apt/archives/mariadb-server-10.0_10.0.33+maria-1~trusty_amd64.deb 
  (--unpack):  trying to overwrite '/usr/share/man/man1/mysql_upgrade.1.gz', which is also in package mariadb-server-core-10.0 10.0.31-0ubuntu0.16.04.2
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
dpkg: regarding .../mariadb-server-core-10.0_10.0.33+maria-1~trusty_amd64.deb containing mariadb-server-core-10.0:
 mariadb-server-10.0 conflicts with mysql-server-core-5.5   mariadb-server-core-10.0
 provides mysql-server-core-5.5 and is to be installed.

dpkg: error processing archive /var/cache/apt/archives/mariadb-server-core-10.0_10.0.33+maria-1~trusty_amd64.deb
  (--unpack):  
conflicting packages - not installing mariadb-server-core-10.0 
dpkg: regarding .../mariadb-client-core-10.0_10.0.33+maria-1~trusty_amd64.deb containing mariadb-client-core-10.0:  
mariadb-client-10.0 conflicts with mysql-client-core-5.5   
mariadb-client-core-10.0 provides mysql-client-core-5.5 and is to be installed.

dpkg: error processing archive /var/cache/apt/archives/mariadb-client-core-10.0_10.0.33+maria-1~trusty_amd64.deb (--unpack):  
conflicting packages - not installing mariadb-client-core-10.0 dpkg: regarding .../mariadb-client-10.0_10.0.33+maria-1~trusty_amd64.deb containing mariadb-client-10.0:  
mariadb-client-core-10.0 conflicts with mysql-client-5.5   
mariadb-client-10.0 provides mysql-client-5.5 and is to be installed.

dpkg: error processing archive /var/cache/apt/archives/mariadb-client-10.0_10.0.33+maria-1~trusty_amd64.deb (--unpack):  
conflicting packages - not installing mariadb-client-10.0 
Processing triggers for man-db (2.7.5-1) ... 
Errors were encountered while processing:  /var/cache/apt/archives/mariadb-server-10.0_10.0.33+maria-1~trusty_amd64.deb 
/var/cache/apt/archives/mariadb-server-core-10.0_10.0.33+maria-1~trusty_amd64.deb
/var/cache/apt/archives/mariadb-client-core-10.0_10.0.33+maria-1~trusty_amd64.deb
/var/cache/apt/archives/mariadb-client-10.0_10.0.33+maria-1~trusty_amd64.deb 
E: Sub-process /usr/bin/dpkg returned an error code (1)

我被卡住了,无法安装,无法删除,无法更新。

我应该怎么办?


这给了我以下信息:

You might want to run 'apt-get -f install' to correct these: 
The following packages have unmet dependencies:  libmysqlclient20 : 
Depends: mysql-common (>= 5.5) but it is not going to be installed  mariadb-client : 
Depends: mariadb-client-10.0 (= 10.0.33+maria-1~trusty) but 10.0.31-0ubuntu0.16.04.2 is to be installed  mariadb-common : 
Depends: mysql-common (>= 10.0.33+maria-1~trusty) but it is not going to be installed  mariadb-server : 
Depends: mariadb-server-10.0 (= 10.0.33+maria-1~trusty) but 10.0.31-0ubuntu0.16.04.2 is to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

答案1

看起来您要安装的软件包有较新版本可用,这些软件包依赖于已安装的软件包的较新版本。除非您告诉 Apt 升级所有这些软件包,否则它不知道如何修复此问题:

sudo apt-get update
sudo apt-get dist-upgrade -f

答案2


你试过了吗

sudo service mysql stop

做之前:

sudo apt-get --purge remove "mysql*"

我已经在笔记本电脑上尝试过并且成功了。

请注意,安装后添加的任何自定义配置仍会存在。

相关内容