Je tente d’installer MariaDB sur Ubuntu 12.04 LTS.
J’ai suivi les instructions fournies sur https://askubuntu.com/questions/64772/how-to-install-mariadb et sur MariaDB.org qui apparaissent lorsque vous choisissez le téléchargement.
La dernière étape est sudo apt-get install mariadb-server
qui renvoie:
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 dissortingbution 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: mariadb-server : Depends: mariadb-server-5.5 but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Le problème de dépendance est un problème de reconnaissance ( https://mariadb.atlassian.net/browse/MDEV-3882 ), mais je pense que le paquet défectueux m’empêche de contourner ce problème.
Si j’essaie d’installer libmariadbclient18, j’obtiens les éléments suivants:
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 dissortingbution 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: libmariadbclient18 : Depends: libmysqlclient18 (= 5.5.30-mariadb1~precise) but 5.5.31-0ubuntu0.12.04.1 is to be installed E: Unable to correct problems, you have held broken packages.
J’ai essayé de corriger le paquet cassé en utilisant sudo apt-get install -f
, mais je ne peux toujours pas installer mariadb-server ou libmariadbclient18.
sudo apt-get install libmysqlclient18=5.5.30-mariadb1~precise mysql-common=5.5.30-mariadb1~precise sudo apt-get install mariadb-server
Le premier rétablit les deux librairies mysql qui se trouvaient du côté d’ubuntu avec les anciennes librairies mariadb. Le second peut alors procéder normalement.
Les paquets ont été supprimés car quelque chose comme apt-get dist-upgrade
été exécuté. L’interface graphique vous avertit que quelque chose ne va pas.
Pour éviter que ce problème ne se reproduise, indiquez à apt pour favoriser le repository MariaDB en épinglant en créant un fichier dans /etc/apt/preferences.d
:
$ cat /etc/apt/preferences.d/MariaDB.pref Package: * Pin: origin Pin-Priority: 1000
Veillez également à installer libmariadbclient-dev
si vous avez besoin de comstackr quoi que ce soit (comme Ruby gems).
J’ai fait quelque chose de similaire à @Lloeki
$ sudo apt-get purge libmariadbclient18 mariadb-server mariadb-client-5.5 libmysqlclient18 mysql-common```
Puis regarda le candidat pour l’installer et le réinstaller:
$ apt-cache policy libmysqlclient18 | grep -i quantal Installed: 5.5.30-mariadb1~quantal *** 5.5.30-mariadb1~quantal 0 500 http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu/ quantal/main amd64 Packages $ apt-cache policy mysql-common | grep -i quantal Installed: 5.5.30-mariadb1~quantal *** 5.5.30-mariadb1~quantal 0 500 http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntu/ quantal/main amd64 Packages $
$ sudo apt-get install libmysqlclient18=5.5.30-mariadb1~quantal mysql-common=5.5.30-mariadb1~quantal mariadb-server mariadb-client ... * Stopping MariaDB database server mysqld [ OK ] 130428 13:19:40 [Note] Plugin 'InnoDB' is disabled. 130428 13:19:40 [Note] Plugin 'FEEDBACK' is disabled.
J’ai eu cet avertissement Plugin désactivé mais au redémarrage de mysql avec sudo service mysql restart
et l’installation de sql, innodb semblait bien et show create table mytable
montrait ENGINE=InnoDB DEFAULT CHARSET=utf8
comme prévu.
@yuvilio a raison avec:
$ sudo apt-get install libmysqlclient18=5.5.30-mariadb1~quantal mysql-common=5.5.30-mariadb1~quantal mariadb-server mariadb-client
Cela fonctionne dans 12.04, 12.10 et 13.04 (également LinuxMint 14).
Apparemment, MariaDB est “sensible” à tout endroit où le kernel a été mis à jour au-delà de quelque chose comme 3.5.0-25, ce qui semble affecter l’installation de MariaDB avec une simple vanille “sudo apt-get install mariadb-server”
@yuvilio mentionne que les plugins ‘InnoDB’ et ‘FEEDBACK’ sont désactivés mais que InnoDB fonctionne après cette installation.
Cela est parfaitement logique car MariaDB utilise XTRA-DB comme solution de remplacement pour InnoDB. MariaDB a probablement un nouveau module de rétroaction (ils veulent que les commentaires de MariaDB se rendent sur mariadb.org et PAS sur Oracle / mySQL).
La réponse de @Lloeki ne fonctionne plus pour moi, car les versions mentionnées ne sont pas disponibles pour moi, ce qui entraîne cette erreur:
E: Version '5.5.30-mariadb1~precise' for 'libmysqlclient18' was not found
Pour contourner ce problème, vous devez trouver une version correcte:
Vous pouvez obtenir une liste des versions disponibles avec les versions d’ aptitude versions libmysqlclient18
. Pour mon système, cela ressemblait à ceci:
Package libmysqlclient18: [...] p 5.5.31+maria-1~precise 1000 i 1:5.5.32-rel31.0-549.precise 500 [...]
(il y a plusieurs lignes supplémentaires, mais seules les lignes pertinentes sont affichées).
La ligne avec i
est la version actuellement installée, et il n’y avait pas de ligne pour le 5.5.30-mariadb1~precise
suggéré. Il y avait cependant un autre candidat qui semble prometteur. Sachez que cela n’a pas à être le même pour vous (au fil du temps).
Dans cet exemple, vous pouvez continuer ainsi:
sudo apt-get install libmysqlclient18=5.5.31+maria-1~precise
et après cela, l’installation sélectionnera à la fois le client et mariadb-common
, et vous pourrez continuer avec:
sudo apt-get install mariadb-server
sans erreur de l’OP.
Essayer
sudo dpkg --remove --force-remove-reinstreq BROKEN_PACKAGE
Laissez-moi partager avec comment j’ai résolu dans mon cas ( Ubuntu 14.04 ).
J’ai eu une erreur :
$ sudo apt-get install mariadb-server-5.5 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 dissortingbution 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: mariadb-server-5.5 : Depends: mariadb-client-5.5 (>= 5.5.41+maria-1~trusty) but it is not going to be installed Depends: mariadb-server-core-5.5 (>= 5.5.41+maria-1~trusty) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Solution:
Etape 1: sudo apt-get install libmysqlclient18
Étape 2: sudo apt-get install mariadb-server
Remarques:
Je ne sais pas si cela aide quelqu’un, mais j’ai eu du mal à installer mariadb 10 et j’ai eu une erreur qui m’a conduit à cette page, mais rien n’a essayé.
J’ai finalement réalisé que mon répertoire / tmp appartenait à root et que les autres utilisateurs ne pouvaient pas y écrire. J’ai corrigé ce problème et ensuite fait:
apt-get remove mariadb-server
pour essayer de l’installer à nouveau, mais la suppression a échoué, j’ai donc supprimé /var/lib/mysql
et a ensuite essayé:
apt-get remove mariadb-server
encore une fois et il a effectivement installé mariadb-server et l’a mis en marche …
Ça fonctionne maintenant.
J’ai pu installer mariadb en supprimant tous les paquets mysql en cours d’exécution:
sudo apt-get installer mariadb-server-5.5 mariadb-client-5.5 \ mariadb-server-core-5.5 mariadb-commun mariadb-serveur \ libmariadbclient18 libdbd-mysql-perl mariadb-client-core-5.5 \ libmysqlclient18 = 5.5.30-mariadb1 ~ quantal \ mysql-common = 5.5.30-mariadb1 ~ quantal
Je ne suis pas sûr de devoir d’abord supprimer mysql.