sim*_*lis 1 debian apt mysql5.5
我运行 Debian 6 服务器并使用它来托管十几个基于 LAMP 的网站。我将其配置为在有软件更新可用时通过电子邮件发送给我,今天早上我收到了 6 个与 mySql 相关的新可用更新的通知:
mysql-server, mysql-client, mysql-common
和其他一些依赖项。我试图运行
apt-get 更新 apt-get 升级
一切顺利,直到升级过程遇到mysql-client。我得到的错误如下:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be upgraded:
mysql-client-5.5
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/1,772 kB of archives.
After this operation, 7,049 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Reading changelogs... Done
(Reading database ... 84121 files and directories currently installed.)
Preparing to replace mysql-client-5.5 5.5.38-1~dotdeb.0 (using .../mysql-client-5.5_5.5.46-0+deb6u1_amd64.deb) ...
Unpacking replacement mysql-client-5.5 ...
dpkg: error processing /var/cache/apt/archives/mysql-client-5.5_5.5.46-0+deb6u1_amd64.deb (--unpack):
trying to overwrite '/usr/share/man/man1/mysql.1.gz', which is also in package mysql-client-core-5.5 5.5.38-1~dotdeb.0
configured to not write apport reports
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Processing triggers for man-db ...
Errors were encountered while processing:
/var/cache/apt/archives/mysql-client-5.5_5.5.46-0+deb6u1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
我没有足够的经验来完全理解发生了什么。我尝试按照消息的建议运行 apt-get -f install,但没有任何反应。我还尝试删除 mysql-client (想法是“我删除了这个,然后从头开始重新安装它”)但是这个操作也失败了,并出现了同样的错误。我试图清除 mysql,但系统也无法完成该操作。
目前,我重新启动了该服务,现在看起来一切正常,但是这次升级失败的问题仍然存在。
这是我在服务器上安装的所有与 mysql 相关的软件包的 grep:
~# dpkg -l | grep -i mysql
ii libdbd-mysql-perl 4.016-1 Perl5 database interface to the MySQL database
ii libmysqlclient16 5.1.73-1+deb6u1 MySQL database client library
ii mysql-client 5.5.46-0+deb6u1 MySQL database client (metapackage depending on the latest version)
ii mysql-client-5.5 5.5.38-1~dotdeb.0 MySQL database client binaries
ii mysql-client-core-5.5 5.5.38-1~dotdeb.0 MySQL database core client binaries
ii mysql-common 5.5.38-1~dotdeb.0 MySQL database common files, e.g. /etc/mysql/my.cnf
ii mysql-common-5.5 5.5.46-0+deb6u1 MySQL database common files, e.g. /etc/mysql/my.cnf
ii mysql-server 5.5.46-0+deb6u1 MySQL database server (metapackage depending on the latest version)
rc mysql-server-5.1 5.1.73-1+deb6u1 MySQL database server binaries and system database setup
iU mysql-server-5.5 5.5.46-0+deb6u1 MySQL database server binaries and system database setup
ii mysql-server-core-5.5 5.5.46-0+deb6u1 MySQL database server binaries
ii php5-mysql 5.4.45-1~dotdeb+6.1 MySQL module for php5
rc php5-mysqlnd 5.4.45-1~dotdeb+6.1 MySQL module for php5 (Native Driver)
ii phpmyadmin 4:3.3.7-10 MySQL web administration tool
Run Code Online (Sandbox Code Playgroud)
添加 apt-get remove 的结果
~# apt-get remove mysql-server-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 : Depends: mysql-server-5.1 but it is not going to be installed or
mysql-server-5.5 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Run Code Online (Sandbox Code Playgroud)
谁能帮我理解如何解决这个问题?提前谢谢你,西蒙娜
正如@M Somerville 所解释的那样,您正在使用的 dotdeb 存储库之前安装的软件包与现在包含更新版本 mysql 5.5 的官方 debian 存储库之间存在冲突。
您需要做的是完全删除 mysql 5.5,然后安装存储库中可用的最新版本。
这为我解决了问题而没有任何数据/配置丢失:
apt-get remove mysql-client-5.5 mysql-client-core-5.5 mysql-client mysql-server-5.5 mysql-server
Run Code Online (Sandbox Code Playgroud)
然后
apt-get install mysql-client mysql-server
Run Code Online (Sandbox Code Playgroud)
无论如何,在您尝试此操作之前,我怎么强调备份的重要性都不为过。
祝你好运
归档时间: |
|
查看次数: |
1606 次 |
最近记录: |