MariaDB 11.4 на Ubuntu 24.04: 404 в репозитории и обход через jammy

Ubuntu 24.04 (Noble) уже на проде, а MariaDB 11.4 из официального зеркала иногда отвечает 404 на пакеты для noble. Метаданные репозитория вроде есть, .deb с суффиксом ubu2404 нет. Рабочий обход: временно брать пакеты ветки jammy (22.04), пока не появятся нормальные сборки под 24.04.

apt: 404 при установке MariaDB 11.4 на Ubuntu 24.04

Симптом: 404 на MariaDB + noble

Типичная запись репозитория:

sudo tee /etc/apt/sources.list.d/mariadb.list <<EOF
deb [arch=amd64,arm64,ppc64el] https://mirror.mariadb.org/repo/11.4/ubuntu noble main
EOF

Дальше:

sudo apt update && sudo apt upgrade

И ошибка вида:

E: Failed to fetch https://mirror.mariadb.org/..._ubu2404.deb 404 Not Found

InRelease/индекс могут отдаваться, а нужных пакетов в дереве нет. Репозиторий «есть на бумаге», содержимого под noble нет. Пока так, apt честно падает с 404.

Обход: репозиторий jammy

Сборки MariaDB 11.4 для Ubuntu 22.04 (jammy) уже лежат в зеркале. На практике пакеты часто ставятся и на noble как временный мост. Это не «вечный канон», а прагматика, пока не появятся официальные *ubu2404*.

1. noble → jammy в sources

sudo sed -i 's/noble/jammy/g' /etc/apt/sources.list.d/mariadb.list

Проверьте файл глазами: там должна быть строка с .../ubuntu jammy main, не noble.

2. update и upgrade

sudo apt update
sudo apt upgrade --allow-downgrades -y

--allow-downgrades нужен, если apt уже «видел» пакеты/версии под noble и пытается разрулить конфликт версий. При поломанных зависимостях:

sudo apt install -f

3. Проверка сервиса

sudo systemctl status mariadb
mariadb --version

Ожидание: unit active (running), версия из линейки 11.4.x. После чистой установки не забудьте mysql_secure_installation (или эквивалент) и нормальные бэкапы.

Когда вернуть noble

Как только в репозитории появятся пакеты под Ubuntu 24.04, можно переключить codename обратно. Следите за страницей репозиториев MariaDB и деревом зеркала.

sudo sed -i 's/jammy/noble/g' /etc/apt/sources.list.d/mariadb.list
sudo apt update && sudo apt upgrade

Перед массовым upgrade на проде снимок/бэкап данных и тестовый прогон на копии. Смена codename репозитория иногда тянет смену версии/сборки пакета.

Ключ подписи и хвосты

После успешной установки:

sudo apt autoremove -y

Ключ релиза MariaDB. Классический apt-key на новых Ubuntu deprecated; предпочтительнее keyring в /usr/share/keyrings/ и signed-by= в deb-строке. Если всё же используете старый путь из документации:

sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

Современный вариант (идея): скачать ASC в keyring, прописать deb [signed-by=/usr/share/keyrings/mariadb-keyring.gpg] .... Так apt не ноет про trusted.gpg.

Мини-скрипт

Если нужно быстро починить уже добавленный noble-list:

#!/bin/bash
set -euo pipefail
sudo sed -i 's/noble/jammy/g' /etc/apt/sources.list.d/mariadb.list
sudo apt update
sudo apt upgrade --allow-downgrades -y
sudo apt install -f -y
sudo systemctl status mariadb --no-pager

Сохраните как fix-mariadb.sh, проверьте путь к list-файлу, запускайте осознанно (на проде в maintenance-окно).

Кратко

  • 404 на *ubu2404*: нет пакетов noble в зеркале, а не «сломан apt».
  • Временный путь: codename jammy в MariaDB 11.4 repo + apt upgrade --allow-downgrades.
  • Когда появятся пакеты under noble, верните codename и обновитесь.
  • Не забудьте keyring, бэкапы и проверку systemctl status mariadb.

С apt проще договориться через правильный sources.list, чем спорить с 404.

Источники и ссылки


Комментарии загружаются…