Ubuntu 24.04 LTS — почему я считаю его лучшим серверным дистрибутивом
Почему Ubuntu, а не Debian или CentOS
Когда я выбирал ОС для своего сервера, перебрал несколько вариантов. Debian — стабильный, но пакеты древние. CentOS — умер, на смену пришёл Rocky Linux, но комьюнити маленькое. Alpine — слишком специфичный для сервера общего назначения.
Ubuntu Server 24.04 LTS оказался золотой серединой.
Что меня устраивает
5 лет поддержки (10 с Ubuntu Pro). Я поставил LTS и забыл о мажорных обновлениях на 5 лет. Безопасность обновляется, ядро патчится, система стабильна.
Пакеты свежие. В Ubuntu 24.04 — Python 3.12, PHP 8.3, MySQL 8.4. Для разработки не нужно добавлять PPA и колхозить. Всё уже есть в репозиториях.
Документация. Любая проблема уже решена. Просто гуглишь «ubuntu [проблема]» и находишь ответ. Для Debian такого объёма документации нет.
Livepatch. Критические обновления ядра без перезагрузки. Бесплатно для 3 машин. Я подключил через Ubuntu Pro (бесплатная подписка для личного использования).
Недостатки
Ubuntu стала тяжелее. Если раньше серверная Ubuntu жрала 200 MB RAM, то сейчас около 500 MB. На фоне тех же 8-16 GB сервера это мелочь, но на Raspberry Pi — заметно.
Snap. В серверной Ubuntu 24.04 некоторые пакеты ставятся через Snap (например, Certbot). Snap — это медленно и прожорливо. Я просто удалил Snap-Certbot и поставил через apt из стороннего PPA.
systemd-resolved. С ним вечные проблемы с DNS. Иногда резолвинг падает, и apt update выдаёт ошибку. Лечится заменой на systemd-resolved или отключением.
Совет
Для нового сервера берите Ubuntu 24.04 LTS. Для старого железа — Debian 12. Для контейнеров — Alpine. У каждого своя ниша. Для сервера общего назначения Ubuntu — оптимальный выбор.
Производительность и память
Первое, что я заметил после установки — Ubuntu 24.04 жрёт меньше памяти, чем 22.04. На чистой системе без GUI свободно около 150 MB RAM. Для сравнения, Rocky Linux 9 и AlmaLinux стартуют с 200+. Разница вроде небольшая, но на VPS с 512 MB это уже ощутимо.
Я запустил на нём связку Nginx + PHP 8.3 + PostgreSQL и снял метрики через htop. Нагрузка на процессор практически нулевая в простое. Ядро 6.8 отлично оптимизировано под современное железо. Даже на старом Intel Xeon E3 система летает.
Кстати, про ядро. У Ubuntu 24.04 LTS стоит HWE-ядро 6.8, которое обновляется автоматически. Для меня это плюс — не надо вручную таскать модули для нового оборудования. На сервере с NVMe и 10GbE всё подхватилось само.
ZFS из коробки
Это, пожалуй, главная причина, почему я перешёл. В Ubuntu 24.04 ZFS ставится одной командой — apt install zfsutils-linux. Никаких сторонних репозиториев, никаких DKMS-танцев с бубном. Я просто создал пул, включил сжатие lz4 и компрессию, и получил надёжную файловую систему с моментальными снепшотами.
Делаю снепшоты корня раз в день через zfs-auto-snapshot. Если что-то пойдёт не так при обновлении — откатываюсь за секунду. На ext4 такого не было, пришлось бы восстанавливать из бекапа полдня. Теперь я вообще не боюсь экспериментировать с настройками.
Ещё из приятного — ZFS легко расширяется. Добавил второй диск в пул, и место увеличилось автоматически. Без переразметки, без перезагрузки, без нервов. Это вам не LVM с его заморочками.
Snap — зло или добро
Тут без снобизма не обойтись. Snap-пакеты в Ubuntu 24.04 всё ещё раздражают. Firefox и некоторые другие программы ставятся через snap по умолчанию, и это тормозит. Первое, что я сделал — выпилил snapd и поставил Firefox из .deb репозитория Mozilla напрямую.
Но для сервера snap вообще не проблема. Я на сервере не использую Firefox, только консоль, Docker и системные сервисы. А Docker в Ubuntu 24.04 работает идеально — установил через официальный репозиторий, и всё полетело.
Так что если ты собираешься ставить Ubuntu на десктоп — приготовься бороться со snap. Если на сервер — вообще не заметишь.
Что не понравилось
Буду честен: несколько моментов меня бесят. Первый — NetworkManager на сервере. Зачем он нужен, если я всё настраиваю через netplan? По умолчанию он включён, и если не отключить, он может перетереть твои сетевые настройки после ребута. Я сразу сделал systemctl disable NetworkManager и забыл.
Второй — политика обновлений. Ubuntu считает, что пользователь должен обновляться только через apt, а unattended-upgrades должен быть настроен минимально. На centos-stream с dnf-automatic было проще. Но это решается настройкой одной конфиги, так что не критично.
Третий — поддержка старых пакетов. Если тебе нужен PHP 7.4 или Python 3.8 — готовься к PPA или Docker. В официальных репозиториях 24.04 только свежие версии. Для меня это ок, но legacy-проекты могут страдать.
Итог
Ubuntu 24.04 LTS — лучший серверный дистрибутив на данный момент. Не идеальный, но лучший. ZFS из коробки, отличная производительность, LTS-поддержка до 2036 года с Ubuntu Pro (бесплатно для 5 машин). Я перевёл на него все свои серверы: веб, БД, мониторинг — и ни разу не пожалел.
Если ты всё ещё на CentOS 7 или Debian 11 — попробуй 24.04. Поставь на тестовую ВМ, поиграйся с ZFS, посмотри на скорость. Думаю, останешься.