замена mysql на mariadb

*Хочу заменить mysql в системе на mariadb.
Выдаёт лист блокировки.*

 # emerge mariadb

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
[ebuild  N     ] dev-perl/TermReadKey-2.300.0 
[ebuild  N     ] perl-core/Time-HiRes-1.972.500 
[ebuild  N     ] perl-core/Term-ANSIColor-4.20.0 
[ebuild  N     ] virtual/perl-Getopt-Long-2.380.0-r2 
[ebuild  N     ] virtual/perl-Time-HiRes-1.972.500-r1 
[ebuild  N     ] virtual/perl-Term-ANSIColor-4.20.0 
[ebuild  N    ~] dev-db/mysql-5.5.32  USE="community embedded perl ssl -cluster -debug -extraengine -jemalloc -latin1 -max-idx-128 -minimal -profiling (-selinux) -static -systemtap -tcmalloc {-test}" 
[ebuild  N    ~] virtual/mysql-5.5  USE="embedded -minimal -static" 
[ebuild  N    ~] dev-db/mariadb-5.5.33a  USE="community pam perl ssl tokudb -cluster -debug -embedded -extraengine -jemalloc -latin1 -max-idx-128 -minimal -oqgraph -profiling (-selinux) -sphinx -static -systemtap -tcmalloc {-test}" 
[blocks B      ] dev-db/mysql ("dev-db/mysql" is blocking dev-db/mariadb-5.5.33a)
[blocks B      ] dev-db/mariadb ("dev-db/mariadb" is blocking dev-db/mysql-5.5.32)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (dev-db/mariadb-5.5.33a::mysql, ebuild scheduled for merge) pulled in by
    mariadb

  (dev-db/mysql-5.5.32::mysql, ebuild scheduled for merge) pulled in by
    =dev-db/mysql-5.5*[embedded=,minimal=,static=] (=dev-db/mysql-5.5*[embedded,-minimal,-static]) required by (virtual/mysql-5.5::mysql, ebuild scheduled for merge)


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked

Не очень понятно, кто кого блокирует и кого надо удалить. MySQL я удалил, его в системе нет. Но если я emerge world сделаю, то он опять установится. Поясните, что нужно предпринять, чтобы установить mariadb.

Попробуйте выполнить

equery d virtual/mysql

и

equery d dev-db/mysql

и особое внимание уделите выводу последней команды. Они покажут, кто тянет за собой mysql.
Запостите их сюда, - тогда будет проще понять, в чём дело.

Ну и еще вы удалили какой пакет? virtual/mysql или dev-db/mysql? Если только первый, удалите второй и попробуйте снова установить mariadb

была у меня такая проблема, в системе очень много пакетов требует virtual/mysql, при чем сам этот пакет может тянуть либо dev-db/mysql либо dev-db/mariadb, при чем первый приоритетнее:

RDEPEND="|| (
    =dev-db/mysql-${PV}*[embedded=,minimal=,static=]
    =dev-db/mariadb-${PV}*[embedded=,minimal=,static=]
)"

помогала маскировка dev-db/mysql

Хочу заменить mysql в системе на mariadb.
Выдаёт лист блокировки.
# emerge mariadb
...

Запустите установку командой
emerge -avt mariadb
это поможет узнать кто кого откуда тянет

emerge -avt mariadb
Даёт тот же вывод, что и emerge mariadb один в один.

equery d virtual/mysql

 # equery d virtual/mysql
 * These packages depend on virtual/mysql:
#

equery d dev-db/mysql

 # equery d dev-db/mysql
 * These packages depend on dev-db/mysql:
#

То есть, нет зависимостей.
Более того, и dev-db/mysql и virtual/mysql замечательно удалились
командами emerge -C dev-db/mysql и emerge -C virtual/mysql
Если повторно ввести эти команды, то выдаёт следующее

 # emerge -C dev-db/mysql
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

--- Couldn't find 'dev-db/mysql' to unmerge.

>>> No packages selected for removal by unmerge

 # emerge -C virtual/mysql
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

--- Couldn't find 'virtual/mysql' to unmerge.

>>> No packages selected for removal by unmerge

Но при этом нет возможности установить mariadb. Выдаёт всё тот же листинг, что я привёл в начале темы.
Меня смущают вот эти строки
*

[blocks B      ] dev-db/mysql ("dev-db/mysql" is blocking dev-db/mariadb-5.5.33a)
[blocks B      ] dev-db/mariadb ("dev-db/mariadb" is blocking dev-db/mysql-5.5.32)

*
Получается как бы mysql блокирует mariadb, а mariadb блокирует mysql.
Может быть действительно замаскировать mysql, как советует уважаемый Alexander Pilipenko?
Что ещё можно предпринять?

Можно замаскировать, хотя это не совсем правильное решение, т. к. оба пакета равноправны.

Что-то мне подсказывает, что, дело в USE-флагах mariadb. Попробуйте вот так:

USE=embedded emerge mariadb

Да, помогло USE=embedded emerge mariadb, но всё же пришлось маскировать mysql-5.5.32.
Всем огромное спасибо!

Обязательно зафиксируйте этот USE, иначе к следующему обновлению мира, можете поиметь новых проблем :wink:

echo ‘dev-db/mariadb embedded’ >> /etc/portage/package.use/dev-db

правильнее тогда уж поставить его глобально “euse -E embedded” к тому же он влияет только на mysql или mariadb (еще amarok но на эту же тему)

Alexander Pilipenko wrote:

правильнее тогда уж поставить его глобально “euse -E embedded” к тому же он влияет только на mysql или mariadb (еще amarok но на эту же тему)

Ну это кому как больше нравится. Я предпочитаю не разбрасываться глобальными USE.