Instalación de MariaDB-Unmet dependencies, mariadb-server-5.5


Estoy intentando instalar MariaDB en Ubuntu 12.04 LTS.

He seguido las instrucciones proporcionadas en https://askubuntu.com/questions/64772/how-to-install-mariadb y de MariaDB.org que aparecen al elegir la descarga.

El último paso es sudo apt-get install mariadb-server que devuelve:

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.

El problema de dependencia es un problema de reconocimiento ( https://mariadb.atlassian.net/browse/MDEV-3882 ) pero creo que el paquete roto me impide trabajar alrededor este.

Si intento instalar libmariadbclient18 obtengo lo siguiente:

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.

He intentado corregir el paquete roto usando sudo apt-get install -f, pero todavía no puedo instalar mariadb-server o libmariadbclient18.

Author: Community, 2013-04-25

8 answers

sudo apt-get install libmysqlclient18=5.5.30-mariadb1~precise mysql-common=5.5.30-mariadb1~precise
sudo apt-get install mariadb-server

El primero revierte las dos libs de mysql que fueron cambiadas del lado de ubuntu a las más antiguas de mariadb. El segundo puede proceder normalmente.

Los paquetes se eliminaron porque se ejecutó algo como apt-get dist-upgrade. La interfaz gráfica de usuario en realidad te advierte que algo anda mal.

Para evitar que este problema vuelva a aparecer, dile a apt que favorezca el repositorio de MariaDB a través de fijar creando un archivo en /etc/apt/preferences.d:

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

También, asegúrese de instalar libmariadbclient-dev si necesita compilar cualquier cosa (como gemas de rubí).

 34
Author: Lloeki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-15 08:14:03

Hice algo similar a @Lloeki

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

Luego buscó el candidato para instalarlo y lo reinstaló:

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

Recibí esa advertencia de desactivación del plugin, pero al reiniciar mysql con sudo service mysql restart e instalar mi sql, innodb parecía estar bien y show create table mytable estaba mostrando ENGINE=InnoDB DEFAULT CHARSET=utf8 como se esperaba.

 9
Author: yuvilio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-28 18:07:19

@yuvilio tiene razón con:

$ sudo apt-get install libmysqlclient18=5.5.30-mariadb1~quantal mysql-common=5.5.30-mariadb1~quantal mariadb-server mariadb-client

Esto funciona en 12.04 , 12.10 y 13.04 (también LinuxMint 14).

Aparentemente MariaDB es "sensible" a cualquier lugar donde el núcleo haya sido actualizado más allá de algo como 3.5.0 - 25, lo que parece afectar la instalación de MariaDB usando un simple "sudo apt-get install mariadb-server"

@yuvilio menciona que los plugins 'InnoDB' y 'FEEDBACK' están deshabilitados pero que InnoDB funciona después de esta instalación.

Esto hace sentido perfecto porque MariaDB utiliza XTRA-DB como una gota en reemplazo de InnoDB. Presumiblemente MariaDB también tiene un nuevo módulo de retroalimentación (quieren que MariaDB feedback vaya a mariadb.org y NO a Oracle / MySQL)

 4
Author: Felix Bachofner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-02 17:23:31

La respuesta de @Lloeki ya no funciona para mí, porque las versiones mencionadas no están disponibles para mí, lo que resulta en este error:

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

Para solucionar esto, necesita encontrar una versión correcta:

Puede obtener una lista de las versiones disponibles con aptitude versions libmysqlclient18. Para mi sistema esto se veía como:

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

(hay varias líneas más, pero solo se muestran las líneas relevantes).

La línea con i es la versión instalada actualmente, y no había línea para el sugerido 5.5.30-mariadb1~precise. Sin embargo, hubo otro candidato que parece prometedor. Ten en cuenta que esto, al igual que yo, no tiene que ser lo mismo para ti (cambia con el tiempo).

En este ejemplo puedes continuar así:

sudo apt-get install libmysqlclient18=5.5.31+maria-1~precise

Y después de esto la instalación seleccionará tanto el cliente y mariadb-common, y puedes continuar con:

 sudo apt-get install mariadb-server

Sin el error del OP.

 4
Author: Nanne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-10 14:25:43

Intenta

sudo dpkg --remove --force-remove-reinstreq BROKEN_PACKAGE
 3
Author: dezza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-25 13:04:49

Permítanme compartir con cómo resolví en mi caso ( Ubuntu 14.04).

Tuve error:

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

Solución:

Paso 1: sudo apt-get install libmysqlclient18

Paso 2: sudo apt-get install mariadb-server

Notas:

  • Estaba instalando de acuerdo con estas instrucciones
  • No había instalado previamente MySQL
 2
Author: Askar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-22 07:16:58

No se si esto ayuda a nadie, pero tuve problemas para instalar mariadb 10 y obtuve un error que me llevó a esta página, pero nada de lo que intenté ayudó.

Finalmente me di cuenta de que mi dir /tmp era propiedad de root y otros usuarios no podían escribir en él. Solucioné ese problema y luego lo hice:

apt-get remove mariadb-server

Para intentar instalarlo de nuevo, pero la eliminación falló, así que eliminé /var/lib/mysql y luego intentó:

apt-get remove mariadb-server

De nuevo y realmente INSTALÓ mariadb-server y lo puso en marcha y ejecutar...

Funciona ahora.

 2
Author: Chris Seline,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-12 05:25:06

Pude instalar mariadb eliminando todos los paquetes mysql que se ejecutaban:


    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

No estoy seguro de si eliminar mysql primero fue necesario.

 0
Author: dropslowly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-26 04:20:21