Вопрос или проблема
У меня в системе возникла проблема с обновлением MariaDb с 10.3 до 10.4. MariaDb по-прежнему работает нормально, но теперь у меня возникли проблемы с обновлением системы. Я пытался найти решения онлайн, но, похоже, не могу ничего найти. Проблема:
$ sudo apt-get upgrade
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение информации о состоянии... Готово
Возможно, вам стоит выполнить 'apt --fix-broken install', чтобы исправить это.
Следующие пакеты имеют неудовлетворенные зависимости:
mariadb-server-10.3 : Зависит: mariadb-client-10.3 (>= 1:10.3.28+maria~buster), но установлен 1:10.3.27-0+deb10u1
mariadb-server-core-10.3 : Ломает: mariadb-client-10.3 (< 1:10.3.28+maria~buster), но установлен 1:10.3.27-0+deb10u1
E: Неудовлетворенные зависимости. Попробуйте 'apt --fix-broken install' без пакетов (или укажите решение).
Во время попытки исправления:
$ sudo apt --fix-broken install
Чтение списков пакетов... Готово
Формирование дерева зависимостей
Чтение информации о состоянии... Готово
Исправление зависимостей... Готово
Следующие пакеты были установлены автоматически и больше не требуются:
libconfig-inifiles-perl libsnappy1v5
Используйте 'sudo apt autoremove', чтобы удалить их.
Следующие дополнительные пакеты будут установлены:
mariadb-client-10.3 mariadb-client-core-10.3
Следующие пакеты будут обновлены:
mariadb-client-10.3 mariadb-client-core-10.3
2 обновлено, 0 ново установленного, 0 для удаления и 9 не обновлено.
6 не полностью установлено или удалено.
Необходимо получить 0 B/1,868 kB архивов.
После этой операции будет освобождено 19.6 MB дискового пространства.
Вы хотите продолжить? [Y/n] Y
Чтение журналов изменений... Готово
dpkg: касательно .../mariadb-client-core-10.3_1%3a10.3.28+maria~buster_amd64.deb, содержащего mariadb-client-core-10.3:
mariadb-client-10.3 конфликтует с mysql-client-core-5.5
mariadb-client-core-10.3 предоставляет mysql-client-core-5.5 и должен быть установлен.
dpkg: ошибка обработки архива /var/cache/apt/archives/mariadb-client-core-10.3_1%3a10.3.28+maria~buster_amd64.deb (--unpack):
конфликтующие пакеты - не устанавливается mariadb-client-core-10.3
dpkg: касательно .../mariadb-client-10.3_1%3a10.3.28+maria~buster_amd64.deb, содержащего mariadb-client-10.3:
mariadb-client-core-10.3 конфликтует с mysql-client-5.5
mariadb-client-10.3 предоставляет mysql-client-5.5 и должен быть установлен.
dpkg: ошибка обработки архива /var/cache/apt/archives/mariadb-client-10.3_1%3a10.3.28+maria~buster_amd64.deb (--unpack):
конфликтующие пакеты - не устанавливается mariadb-client-10.3
Во время обработки возникли ошибки:
/var/cache/apt/archives/mariadb-client-core-10.3_1%3a10.3.28+maria~buster_amd64.deb
/var/cache/apt/archives/mariadb-client-10.3_1%3a10.3.28+maria~buster_amd64.deb
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)
Установлено несколько пакетов? Есть идеи?
редактировать: добавление дополнительной информации
Пожалуйста, отредактируйте свой пост, чтобы показать содержимое вашего /etc/apt/sources.list:
deb http://deb.debian.org/debian/ buster main
deb-src http://deb.debian.org/debian/ buster main
deb http://security.debian.org/debian-security buster/updates main contrib
deb-src http://security.debian.org/debian-security buster/updates main contrib
# buster-updates, ранее называвшийся 'volatile'
deb http://deb.debian.org/debian/ buster-updates main contrib
deb [arch=arm64,ppc64el,amd64] http://mariadb.mirror.globo.tech/repo/10.3/debian buster main
# deb-src [arch=arm64,ppc64el,amd64] http://mariadb.mirror.globo.tech/repo/10.3/debian buster main
deb [arch=arm64,ppc64el,amd64] http://mariadb.mirror.globo.tech/repo/10.4/debian buster main
# deb-src [arch=arm64,ppc64el,amd64] http://mariadb.mirror.globo.tech/repo/10.4/debian buster main
deb-src http://deb.debian.org/debian/ buster-updates main contrib
и любые файлы *.list в /etc/apt/sources.list.d:
ondrej-ubuntu-php-impish.list php7.list
Ранее я также сталкивался с этой проблемой в Kali. Если /etc/apt/sources.list.d
не пуст, то “удалите” все внутри директории. Лучше переименовать эти файлы, чем удалять. Вам следует попробовать следующую команду.
sudo apt clean
sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade
Если проблема сохраняется, то попробуйте
sudo apt --fix-broken install
sudo apt-get upgrade
Если проблема повторяется, то выполните от имени пользователя root (sudo su
)
sudo -s
apt --fix-broken install
apt upgrade
Ответ или решение
Разрешение проблем с обновлением MariaDB на Debian 10
Если у вас возникли проблемы с обновлением MariaDB на Debian 10, особенно при переходе с версии 10.3 на 10.4, это может вызвать сложности с дальнейшими обновлениями системы. Ваша система продолжает функционировать, однако обновления могут зависеть от наличия несовместимых пакетов. Давайте пошагово разберем, как решить эту проблему.
Описание Проблемы
Судя по вашему описанию, на вашей системе установлены несколько конфликтующих пакетов MariaDB. Ошибка при выполнении команды apt-get upgrade
подразумевает, что существует несовместимость между установленными версиями mariadb-client
и mariadb-server
. Сообщение об ошибке указывает, что версия mariadb-client-10.3
требует зависимости, которые либо устарели, либо не могут быть установлены из-за конфликтов.
Постановка Задачи
- Идентификация конфликтующих пакетов: Необходимо установить, какие именно пакеты мешают обновлению.
- Удаление конфликтующих пакетов: Подготовка к процессу удаления тех пакетов, которые вызвали проблему.
- Обновление списка пакетов и их установка: Обновление системы для корректной работы всех программ.
Шаги по Разрешению Проблемы
-
Очистка кэша:
sudo apt clean sudo apt-get autoclean
-
Обновление списка пакетов:
sudo apt-get update
-
Попытка автоматического исправления поврежденных зависимостей:
Выполните команду:sudo apt --fix-broken install
Эта команда попытается автоматически исправить несовместимости. Однако, если это не даст результата или приведет к новым ошибкам, переходите к следующему шагу.
-
Удаление конфликтующих пакетов:
Проверьте, какие пакеты вызывают конфликты. Для этого можно использовать:dpkg -l | grep mariadb
Удалите конфликтующие пакеты:
sudo apt-get remove <имя_пакета>
Например:
sudo apt-get remove mysql-client-core-5.5
-
Переустановка MariaDB:
После удаления конфликтующих пакетов можно попробовать переустановить необходимые пакеты:sudo apt-get install mariadb-server mariadb-client
-
Использование прав суперпользователя:
Если проблемы продолжаются, попробуйте выполнить команды от имени суперпользователя:sudo su apt --fix-broken install apt upgrade
-
Проверка
sources.list
:
При необходимости проверьте файл/etc/apt/sources.list
и файлы в/etc/apt/sources.list.d/
на наличие конфликтующих репозиториев или неправильных записей. Одним из распространенных решений является удаление или комментирование линий, связанных с конфликтующими версиями.
Заключение
После выполнения этих шагов ваша система должна обращаться к необходимым репозиториям и корректно обновлять MariaDB. Если проблема не устраняется, вы можете рассмотреть возможность обращения на форумы Debian или MariaDB для получения дополнительной помощи от сообщества, предоставляя информацию о ваших конфликтах пакетов.
Обратите внимание, что поддержание актуальности пакетов и зависимостей является критически важным для стабильности системы. Регулярное обновление и проверка установленных пакетов помогут избежать подобных проблем в будущем.