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