Проблемы с установкой MariaDB 5.5.33 на Debian и Ubuntu
Вскоре после выпуска MariaDB 5.5.33 мы столкнулись с некоторыми проблемами при установке с репозиториев Debian и Ubuntu. Эти проблемы были исправлены в MariaDB 5.5.33a, но из-за особенностей работы apt необходимо предпринять шаги для решения проблем с зависимостями перед обновлением.
Нам известны три сценария, когда возникли проблемы с зависимостями. Шаги по их исправлению практически одинаковы, только список нарушенных зависимостей, а значит, и список пакетов для их исправления, отличается. Основная идея заключается в временном понижении этих пакетов до версии 5.5.32 перед обновлением до 5.5.33a.
Если у вас возникли проблемы при переходе с MariaDB 5.5.32 на MariaDB 5.5.33, просмотрите каждый из трёх сценариев, чтобы определить, какой из них относится к вам, и следуйте шагам для применения соответствующего исправления.
Применение исправления
Для подготовки системы к применению исправления выполните следующие действия:
- Откомментируйте стандартный репозиторий MariaDB 5.5 в файле
/etc/apt/sources.listили/etc/apt/sources.list.d/mariadb.repo(или в том месте, где у вас настроены репозитории).
- Добавьте репозиторий MariaDB 5.5.32 в
sources.list. Самый простой способ — добавить следующее. Просто замените '{os}' и '{dist}' на соответствующие значения.
deb http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.32/repo/{os} {dist} main
Например, в Debian Wheezy строка будет:
deb http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.32/repo/debian wheezy main
А в Ubuntu Raring строка будет:
deb http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.32/repo/ubuntu raring main
- Затем выполните '
sudo apt-get update'
- Затем выполните '
sudo apt-get install' список пакетов для понижения, как указано в соответствующем разделе ниже.
- Далее измените наш sources.list, чтобы удалить репозиторий 5.5.32 и вернуться к стандартному репозиторию 5.5
- Затем выполните '
sudo apt-get update', чтобы всё вернулось в нормальное состояние.
- В качестве дополнительного шага, после того как в вашем стандартном зеркале появится хотя бы MariaDB 5.5.33a, вы можете выполнить '
sudo apt-get upgrade' для обновления. Чтобы проверить, какая версия MariaDB есть у нашего зеркала, выполните следующую команду (после выполнения 'sudo apt-get update'):
apt-cache show mariadb-server | grep Version
Сервер 5.5.32 + клиент 5.5.32 обновлены до начальной версии 5.5.33 (17 сентября 2013 г.)
В этом первом сценарии клиент и сервер были частично обновлены до 5.5.33, прежде чем процесс был прерван. Проблема выглядит так:
You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: libmariadbclient18 : Depends: libmysqlclient18 (= 5.5.32+maria-1~wheezy) but 5.5.33+maria-1~wheezy is installed libmysqlclient18 : Depends: libmariadbclient18 (= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed mariadb-client-5.5 : Depends: libmariadbclient18 (>= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed mariadb-client-core-5.5 : Depends: libmariadbclient18 (>= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed mariadb-server : Depends: mariadb-server-5.5 (= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed mariadb-server-core-5.5 : Depends: libmariadbclient18 (>= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed
Для исправления необходимо временно понизить следующие пакеты сервера и клиента до 5.5.32 (замените 'wheezy' на имя используемой вами дистрибуции):
sudo apt-get install \ libmysqlclient18=5.5.32+maria-1~wheezy \ mariadb-client-5.5=5.5.32+maria-1~wheezy \ mariadb-client-core-5.5=5.5.32+maria-1~wheezy \ mariadb-server=5.5.32+maria-1~wheezy \ mariadb-server-core-5.5=5.5.32+maria-1~wheezy
Сервер Galera 5.5.32 и клиент MariaDB 5.5.32 обновлены до 5.5.33
В этом сценарии клиент был обновлён, но сервер Galera — нет. Проблема выглядит так:
The following packages have unmet dependencies: libmariadbclient18 : Depends: libmysqlclient18 (= 5.5.32+maria-1~wheezy) but 5.5.33+maria-1~wheezy is installed libmysqlclient18 : Depends: libmariadbclient18 (= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed mariadb-client-5.5 : Depends: libmariadbclient18 (>= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed mariadb-client-core-5.5 : Depends: libmariadbclient18 (>= 5.5.33+maria-1~wheezy) but 5.5.32+maria-1~wheezy is installed
Для исправления необходимо временно понизить только пакеты клиента до 5.5.32 (замените wheezy на название вашей дистрибуции):
sudo apt-get install \ libmysqlclient18=5.5.32+maria-1~wheezy \ mariadb-client-5.5=5.5.32+maria-1~wheezy \ mariadb-client-core-5.5=5.5.32+maria-1~wheezy
Сервер 5.3.12 + клиент 5.3.12 + libmariadbclient18 5.5.32 обновлены до 5.5.33
В этом сценарии было обновлено только библиотека. Проблема выглядит так:
The following packages have unmet dependencies: libmariadbclient18: Depends: libmysqlclient18 (= 5.5.32+maria-1~lucid) but 5.5.33+maria-1~lucid is installed libmysqlclient18: Depends: libmariadbclient18 (= 5.5.33+maria-1~lucid) but 5.5.32+maria-1~lucid is installed
Для исправления необходимо понизить библиотеку до 5.5.32 (замените wheezy на название вашей дистрибуции):
sudo apt-get install \ libmysqlclient=5.5.32+maria-1~wheezy \ libmariadbclient=5.5.32+maria-1~wheezy
После возвращения к репозиторию 5.5 библиотеки не будут обновлены, они останутся на версии 5.5.32 до тех пор, пока вы не обновите сервер до 5.5.33a.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mariadb-5533-debian-and-ubuntu-installation-issues/