Installation des dépendances MariaDB - Unmet, mariadb-server-5.5

je tente d'installer MariaDB sur Ubuntu 12.04 LTS.

j'ai suivi les instructions fournies à https://askubuntu.com/questions/64772/how-to-install-mariadb et du MariaDB.org qui apparaissent lorsque vous choisissez le téléchargement.

la dernière étape est sudo apt-get install mariadb-server qui retourne:

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:
 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.

la question de la dépendance est une question de reconnaissance ( https://mariadb.atlassian.net/browse/MDEV-3882 ) mais je crois que le paquet cassé m'empêche de travailler autour de cela.

si j'essaie d'installer libmariadbclient18, j'obtiens ce qui suit:

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:
 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 défectueux en utilisant sudo apt-get install -f , mais je ne peux toujours pas installer mariadb-server ou libmariadbclient18.

27
demandé sur Community 2013-04-25 16:16:49

8 réponses

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 reprend les deux bibliothèques mysql qui ont été heurtée ubuntu à côté de l'ancienne mariadb. La seconde, on peut alors procéder normalement.

Les paquets

ont été retirés parce que quelque chose comme apt-get dist-upgrade a été lancé. L'interface graphique vous prévient que quelque chose ne va pas.

pour éviter que cette question ne réapparaisse, dites à apt de favoriser le repo MariaDB via pinning en créant un fichier dans /etc/apt/preferences.d :

$ cat /etc/apt/preferences.d/MariaDB.pref
Package: *
Pin: origin <mirror-domain>
Pin-Priority: 1000

aussi, assurez-vous d'installer libmariadbclient-dev si vous avez besoin de compiler quelque chose (comme des gemmes Ruby).

34
répondu Lloeki 2013-11-15 08:14:03

j'ai fait quelque chose de similaire à @Lloeki

$ sudo apt-get purge libmariadbclient18 mariadb-server mariadb-client-5.5 libmysqlclient18 mysql-common```

a alors cherché le candidat pour l'installer et l'a réinstallé:

$ 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 ce Plugin désactivé avertissement mais en redémarrant mysql avec sudo service mysql restart et l'installation de mon sql, innodb semblait bien et show create table mytable montrait ENGINE=InnoDB DEFAULT CHARSET=utf8 comme prévu.

9
répondu yuvilio 2013-04-28 18:07:19

@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 (aussi LinuxMint 14).

apparemment MariaDB est "sensible" à n'importe quel endroit où le noyau a été mis à jour après quelque chose comme 3.5.0-25 qui semble affecter l'installation de MariaDB en utilisant un simple vanille "sudo apt-get install mariadb-server"

@yuvilio mentionne que les plugins 'InnoDB ' et' FEEDBACK ' sont désactivé mais que InnoDB fonctionne après cette installation.

cela a tout son sens parce que MariaDB utilise XTRA-DB en remplacement de InnoDB. Il est probable que MariaDB dispose également d'un nouveau module de feedback (ils veulent que MariaDB feedback aille à mariadb.org et pas à Oracle/mySQL)

4
répondu Felix Bachofner 2013-05-02 17:23:31

la réponse de @Lloeki ne fonctionne plus pour moi, parce que les versions mentionnées ne sont pas disponibles pour moi, résultant en cette erreur:

E: Version '5.5.30-mariadb1~precise' for 'libmysqlclient18' was not found

pour contourner cela, vous devez trouver une version correcte:

Vous pouvez obtenir une liste des versions disponibles avec aptitude versions libmysqlclient18 . Pour mon système cela ressemblait à:

Package libmysqlclient18:
[...]
p   5.5.31+maria-1~precise                                         <NULL>                                      1000
i   1:5.5.32-rel31.0-549.precise                                   <NULL>                                      500
[...]    

(il y a plusieurs lignes, mais seulement les lignes 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 ceci, tout comme je l'ai fait, ne doit pas être le même pour vous (changements au fil du temps).

dans cet exemple vous pouvez continuer comme ceci:

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 pouvez continuer avec:

 sudo apt-get install mariadb-server

sans l'erreur de L'OP.

4
répondu Nanne 2013-07-10 14:25:43

Essayer

sudo dpkg --remove --force-remove-reinstreq BROKEN_PACKAGE
3
répondu dezza 2013-04-25 13:04:49

Permettez-moi de partager avec comment j'ai résolu dans mon cas ( Ubuntu 14.04 ).

j'avais 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
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:
 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:

Étape 1: sudo apt-get install libmysqlclient18

Étape 2: sudo apt-get install mariadb-server

Notes:

2
répondu Askar 2015-01-22 07:16:58

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 mené à cette page, mais rien que j'ai essayé n'a aidé.

j'ai finalement réalisé que mon /tmp dir appartenait à root et que les autres utilisateurs ne pouvaient pas lui écrire. J'ai réglé ce problème et je l'ai fait:

apt-get remove mariadb-server

pour essayer de l'installer à nouveau, mais la suppression a échoué, donc j'ai supprimé"" et puis essayé:

apt-get remove mariadb-server

à nouveau et il a réellement installé mariadb-server et l'a fait fonctionner...

ça marche maintenant.

2
répondu Chris Seline 2016-07-12 05:25:06

j'ai pu faire installer mariadb en supprimant tous les paquets mysql puis en lançant:


    sudo apt-get install mariadb-server-5.5 mariadb-client-5.5 \
    mariadb-server-core-5.5 mariadb-common mariadb-server \
    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 que la suppression de mysql ait été nécessaire.

0
répondu dropslowly 2013-04-26 04:20:21