maria-discuss team mailing list archive
-
maria-discuss team
-
Mailing list archive
-
Message #00678
Re: KB Question: Drop-in replacement on Debian
Le 16/11/2012 22:46, Daniel Bartholomew a écrit :
The following question has been posted to the Knowledgebase:
https://kb.askmonty.org/en/drop-in-replacement-on-debian/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Is there a way to make MariaDB install over MySQL on a Debian machine?
I have my puppet master, which is running Debian/sid. It has
puppet-dashboard, which utilizes MySQL 5.5.28. Much to my dismay, I am
unable to install MariaDB over it:
- - - - -
The following packages have unmet dependencies:
libmariadbclient18 : Depends: libmysqlclient18
(= 5.5.28-mariadb1~wheezy) but 5.5.28+dfsg-1 is to be installed
E: Unable to correct problems, you have held broken packages.
- - - - -
But if I try to uninstall the parts of MySQL, then apt wishes to
uninstall everything, up to and including puppet-dashboard:
- - - - -
The following packages were automatically installed and are no longer
required:
dbconfig-common libaio1 libhttpclient-ruby1.8
mysql-server-core-5.5 rake ruby-dbi ruby-deprecated unzip zip
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
libdbd-mysql-perl libdbd-mysql-ruby libmysqlclient18 mysql-client
mysql-client-5.5 mysql-server mysql-server-5.5 puppet-dashboard
ruby-dbd-mysql ruby-mysql
- - - - -
This is unacceptable for a live box... Is there something else I can do
to make the install less painful?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Thanks.
It's due to the fact that the libmysqlclient18 package from the Wheezy
MySQL package set is conflicting with the one from the Mariadb set.
While the Maria package should have an higher "priority" if both are to
be choosen it doesnt, so it falls back on the wrong one, this can be
verified this way :
root@servor:~# apt-cache policy libmysqlclient18
libmysqlclient18:
Installed: 5.5.24+dfsg-9
Candidate: 5.5.24+dfsg-9
Version table:
5.5.28+dfsg-1 0
996 http://ftp2.fr.debian.org/debian/ sid/main amd64 Packages
5.5.28-mariadb1~wheezy 0
500 http://mirror2.hs-esslingen.de/mariadb/repo/5.5/debian/
wheezy/main amd64 Packages
*** 5.5.24+dfsg-9 0
999 http://cdn.debian.net/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status
Candidate should be 5.5.28-mariadb1~wheezy in that case, you can
manually pin the Mariadb package with an higher priority but it should
be fixed upstream so there is no need to force packages priorities.
Here is a quick fix (don't forget to ajust to the Maria mirror you are
using) :
echo -e "Package: libmysqlclient18\nPin: origin
mirror2.hs-esslingen.de\nPin-Priority: 1000" >
/etc/apt/preferences.d/mariadb-mysqlclient18
Then you can verify with "apt-cache policy libmysqlclient18" that the
candidate package is the right one this time and the package
installation should now work well.
ps: same kind of conflict (on the same package) happens when you have
both Percona and Maria5.5 repositories on a Squeeze, it tries to install
the Percona libmysqlclient18 package rather then the Maria one.
References