AlmaLinux 9: обновление и обслуживание с нуля
Сервер, который не обслуживают, медленно превращается в проблему: копятся необновлённые пакеты с дырами, забивается диск логами, растёт список забытых зависимостей. Обновление и обслуживание AlmaLinux 9 с нуля — это несложная рутина, которая держит систему в форме и продлевает её жизнь на годы. AlmaLinux с его долгим сроком поддержки и корпоративной стабильностью особенно благодарен грамотному обслуживанию. Разберём по шагам работу с dnf: как обновлять пакеты и ядро, чистить лишнее, следить за местом и когда нужна перезагрузка.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Зачем регулярно обслуживать сервер
Есть соблазн относиться к серверу по принципу «работает — не трогай». Но с ПО это не работает: в пакетах регулярно находят уязвимости, и необновлённая система со временем превращается в набор известных дыр, через которые её и ломают. Регулярное обновление — это в первую очередь безопасность, а уже потом новые версии и исправления ошибок. Отложенное на полгода обновление часто оказывается болезненным, тогда как еженедельное проходит незаметно.
Вторая сторона обслуживания — гигиена ресурсов. Логи, кэш пакетов, старые ядра и осиротевшие зависимости постепенно съедают дисковое пространство, а забитый под завязку диск роняет службы не хуже взлома. Поэтому обслуживание — это баланс двух задач: держать ПО свежим и не давать системе зарастать мусором. И то и другое делается несколькими командами dnf, которые легко превратить в привычку. Отдельный плюс AlmaLinux — предсказуемость: обновления в стабильной ветке RHEL редко ломают совместимость, поэтому обслуживать такой сервер спокойнее, чем систему с быстро меняющимися версиями.
Обновляем пакеты
Основа всего — одна команда, которая и обновляет списки, и ставит свежие версии:
dnf upgrade -y
В отличие от apt в Debian, где нужны две отдельные команды (update и upgrade), dnf сам обновляет метаданные репозиториев перед установкой, так что достаточно одной. Пакетный менеджер скачивает новые версии из проверенных репозиториев, подписанных цифровыми ключами, поэтому подмена пакета исключена. Перед установкой dnf показывает список того, что будет обновлено, и ждёт подтверждения — флаг -y отвечает за автоматическое согласие. Эту команду стоит запускать хотя бы раз в неделю, тогда обновления мелкие и безболезненные. Если хотите сначала посмотреть, что изменится, запустите её без -y и внимательно прочитайте список.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на AlmaLinux 9Отдельно про обновления безопасности
dnf умеет ставить не все обновления подряд, а только критические для безопасности — это удобно, когда полное обновление откладывать нельзя, но и рисковать не хочется:
dnf upgrade --security -y
Такая команда подтянет только патчи, закрывающие уязвимости, не трогая остальное. Посмотреть список доступных обновлений безопасности заранее можно командой dnf updateinfo list security. Это полезный инструмент для тех, кто хочет держать сервер защищённым, но применяет крупные функциональные обновления реже и осознанно. Возможность отделить безопасность от прочих изменений — сильная сторона RHEL-семейства, ориентированного на предсказуемую эксплуатацию.
Чистим ненужное
После обновлений в системе накапливаются старые зависимости и кэш пакетов. Их безопасно удалить, освободив место:
dnf autoremove -y
dnf clean packages
Команда autoremove удаляет пакеты, которые были установлены как зависимости, но больше никому не нужны. Команда dnf clean packages вычищает кэш скачанных пакетов. Отдельного внимания заслуживают старые ядра: dnf по умолчанию хранит несколько последних версий ядра на случай отката, и это разумно, но со временем они занимают место в /boot. Сколько ядер хранить, задаёт параметр installonly_limit в файле /etc/dnf/dnf.conf — обычно оставляют два-три. Держать одно последнее ядро рискованно: если новое окажется проблемным, не с чего будет загрузиться.
Эта идея хранить несколько ядер заслуживает пояснения, потому что она напрямую связана с надёжностью сервера. Ядро — это сердце операционной системы, и его обновления, хоть и редко, но иногда несут несовместимость с конкретным железом или драйвером. Если хранится только новое ядро, а оно не загрузилось, сервер оказывается в тупике — откатываться не на что. Поэтому dnf намеренно оставляет предыдущие рабочие версии: в меню загрузчика при старте можно выбрать старое ядро и вернуть сервер к жизни, а затем спокойно разобраться с проблемным обновлением. Это одна из причин, по которой RHEL-семейство считается надёжным для эксплуатации: система по умолчанию заботится о возможности отката. Не стоит бороться с этим поведением ради экономии пары сотен мегабайт — лучше при нехватке места в /boot увеличить его или почистить самые старые ядра, оставив запас для безопасного отката.
Управляем логами и диском
Журнал systemd со временем разрастается. Проверьте его размер и при необходимости ограничьте:
journalctl --disk-usage
journalctl --vacuum-time=14d
Первая команда покажет занятое журналом место, вторая удалит записи старше двух недель. Чтобы журнал не рос бесконтрольно, задайте лимит параметром SystemMaxUse в /etc/systemd/journald.conf. Дисковое пространство держите под контролем командой df -h, обращая внимание на корень /: приближение к 90% — сигнал разобраться. Найти крупных потребителей помогает du -sh /var/* | sort -h, а остаток inode проверяет df -i. Заполненный диск — частая причина внезапных сбоев, поэтому заглядывать в df -h стоит при каждом обслуживании.
Автообновления и перезагрузка ядра
Часть рутины перекладывается на систему через dnf-automatic, который ставит критические обновления сам:
dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer
Задайте apply_updates = yes в /etc/dnf/automatic.conf, чтобы патчи устанавливались. Отдельно про перезагрузку: большинство обновлений применяются на лету, но обновление ядра или ключевых библиотек вступает в силу только после reboot. Проверить, требуется ли перезагрузка, помогает утилита из пакета dnf-utils:
dnf install -y dnf-utils
needs-restarting -r
Команда needs-restarting -r прямо скажет, нужна ли перезагрузка из-за обновления ядра или базовых библиотек. Если да — запланируйте reboot в спокойное окно, а не откладывайте на месяцы. Работать на старом ядре, когда установлено новое с исправлениями безопасности, — распространённая недоработка, которую эта проверка помогает вовремя заметить.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на AlmaLinux 9Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Чем dnf отличается от apt?
dnf — пакетный менеджер RHEL-семейства, он сам обновляет метаданные перед установкой, поэтому вместо двух команд apt (update и upgrade) достаточно одной dnf upgrade. Логика похожа, отличаются имена команд.
Как ставить только обновления безопасности?
Командой dnf upgrade --security. Она подтянет лишь патчи уязвимостей, не трогая остальное, — удобно для серверов, где крупные обновления применяют осознанно и реже.
Обязательно ли перезагружаться после обновления?
Только если обновилось ядро или ключевые библиотеки. Проверить это точно поможет команда needs-restarting -r, которая прямо сообщит о необходимости reboot.
Как оплатить VPS на AlmaLinux из России?
У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой и токеном MAAT — иностранная карта не требуется.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.