Коротко о главном
AlmaLinux появился как ответ на изменение политики CentOS и сохраняет бинарную совместимость с Red Hat Enterprise Linux. Проект управляется фондом AlmaLinux OS Foundation и ориентирован на серверы, облака и корпоративные рабочие места. Пакетная база и инструменты знакомы всем, кто работал с RHEL. Разберём установку, репозитории, SELinux и обслуживание без подписки.
AlmaLinux даёт предсказуемый цикл поддержки на десять лет и совместимость с пакетами для RHEL. Это важно для серверного ПО, которое поставляется только в виде RPM под Red Hat. Переход между AlmaLinux, Rocky Linux и RHEL проходит с минимальными изменениями. Отсутствие обязательной подписки упрощает развёртывание лабораторий и небольших инфраструктур.
AlmaLinux редко ломается сам по себе. Чаще проблема в неверной конфигурации, устаревшей версии или команде, скопированной без понимания. Разберём типичные сбои и способы их исправления.
Почему это происходит
Ошибки почти всегда связаны с контекстом: другая версия пакета, не тот пользователь, устаревший конфиг или команда из руководства для другой системы. AlmaLinux не исключение. Поэтому сначала фиксируем исходное состояние, затем меняем одну вещь за раз.
Типичные ошибки
Ниже — сбои, которые встречаются чаще всего. Перед исправлением сохраните текущие конфиги и запишите, какие изменения вносите: так проще откатиться.
1. Пакет из EPEL не устанавливается из-за конфликта
Проверьте, не подключён ли репозиторий другой версии, и удалите дубликаты через dnf repolist —all. Иногда нужный пакет уже есть в базовых репозиториях в другой версии.
2. Служба не запускается, в журнале отказ доступа SELinux
Разберите событие через ausearch -m avc и назначьте правильный контекст через semanage fcontext и restorecon. Не переводите систему в permissive навсегда.
3. dnf update зависает на загрузке метаданных
Очистите кэш командой sudo dnf clean all и повторите. Проверьте доступность зеркал и настройки прокси, если сеть корпоративная.
4. После обновления ядра не загружается модуль стороннего драйвера
Проверьте наличие модуля для текущего ядра через modinfo и пересоберите его по инструкции поставщика. Иногда помогает загрузка с предыдущим ядром из меню GRUB.
Как настроить правильно
Правильная последовательность проста: проверить версию и зависимости, сделать резервную копию конфигурации, внести минимальное изменение, проверить логи и только потом двигаться дальше.
Установка
В Debian, Ubuntu и Linux Mint используется пакетный менеджер APT:
sudo apt update && sudo apt full-upgrade
В Fedora и RHEL-совместимых системах пакет ставится через DNF:
sudo dnf upgrade --refresh
В Arch Linux и производных пакет доступен в официальных репозиториях:
sudo pacman -Syu
1. Выбор образа и установка
Для сервера берите минимальный образ, для рабочей станции — DVD с графическим окружением. Установщик Anaconda позволяет настроить разделы, сеть и SELinux. В корпоративной среде часто используют kickstart для автоматизации.
cat /etc/almalinux-release
sudo dnf repolist
2. Обновление и базовые пакеты
После установки обновите систему и поставьте привычные утилиты. Минимальный образ не содержит многих инструментов диагностики. Не отключайте SELinux на этапе настройки.
sudo dnf update -y
sudo dnf install vim tmux bash-completion tar
3. Дополнительные репозитории
EPEL расширяет набор пакетов, но не заменяет базовые репозитории. Для некоторых приложений нужны собственные репозитории vendor. Каждый дополнительный источник увеличивает риск конфликтов, поэтому подключайте его осознанно.
sudo dnf install epel-release
sudo dnf makecache
sudo dnf --enablerepo=epel search htop
4. SELinux и firewall
По умолчанию SELinux работает в режиме enforcing. Для веб-сервера или базы данных проверьте, что контексты файлов соответствуют ожидаемым. Firewalld открывает только явно разрешённые службы.
getenforce
sudo semanage fcontext -l | grep httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
Рабочий конфиг
Начните с минимального рабочего варианта. Не копируйте большой конфиг целиком: добавляйте параметры по одному и проверяйте результат после каждого изменения.
[baseos]
name=AlmaLinux $releasever - BaseOS
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
Практические советы
Эти рекомендации проверены на повседневных задачах. Начните с тех, которые закрывают вашу текущую боль, а не со всего списка сразу.
Совет 1. Проверяйте, что приложение официально поддерживает вашу мажорную верси
Проверяйте, что приложение официально поддерживает вашу мажорную версию AlmaLinux.
Совет 2. Используйте dnf module list, если пакет поставляется в нескольких верс
Используйте dnf module list, если пакет поставляется в нескольких версиях.
Совет 3. Для воспроизводимых установок готовьте kickstart-файл.
Для воспроизводимых установок готовьте kickstart-файл.
Совет 4. Не смешивайте репозитории разных мажорных версий: это ломает зависимос
Не смешивайте репозитории разных мажорных версий: это ломает зависимости.
Профилактика
Большинство повторяющихся сбоев с AlmaLinux связано не с ошибкой в самой программе, а с окружением: обновились зависимости, изменился путь, закончилось место или другой администратор поправил конфиг. Поэтому профилактика начинается с фиксации исходного состояния.
Сохраните рабочий конфиг в систему контроля версий, добавьте короткий комментарий о том, зачем нужен каждый нестандартный параметр, и запишите команду проверки. Через месяц вы скажете себе спасибо: восстановить логику по чужому файлу без пояснений почти невозможно.
Чек-лист
- Версия пакета и конфигурация зафиксированы и доступны для сравнения.
- Есть автоматическая проверка синтаксиса перед перезапуском службы.
- Журналы ротуются, а диск не заполняется ими за неделю.
- Изменения проходят через тестовый стенд, а не сразу на рабочий сервер.
Итог
Большинство ошибок с AlmaLinux лечится не переустановкой, а проверкой конфигурации, логов и прав доступа. Действуйте по одному изменению за раз — и причина быстро найдётся.