Какой дистрибутив Linux выбрать для сервера и почему
Что проверяют
Умеете ли вы выбирать по критериям, а не по привычке: срок поддержки, скорость обновлений безопасности, совместимость с тем, что уже есть в компании. Для Python-разработчика важен и практический слой: какая версия Python в системе и что брать базовым образом контейнера. Следом часто спрашивают про Alpine.
Как отвечать
Сначала критерии: длина цикла поддержки, предсказуемость обновлений, экосистема пакетов, требования заказчика или сертификация, опыт команды. Дальше варианты:
- Ubuntu Server LTS: новый LTS раз в два года, пять лет стандартной поддержки и продление через Ubuntu Pro. Самый частый выбор в облаках, под него больше всего инструкций и готовых образов;
- Debian stable: консервативный, без коммерческой привязки, релиз примерно раз в два года. На нём основаны официальные образы
python:*-slim; - RHEL и совместимые Rocky Linux, AlmaLinux: цикл около десяти лет, SELinux из коробки, привычный выбор корпоративной среды. CentOS Linux закрыт, а CentOS Stream идёт впереди RHEL и для стабильного прода не подходит;
- Fedora: свежие пакеты и короткая поддержка, это площадка для разработки, а не прод.
Отдельно про Python. Системный интерпретатор принадлежит ОС: в Debian 12 и новее, в свежих Ubuntu pip install в него без виртуального окружения блокируется ошибкой externally-managed-environment (PEP 668). Приложение ставят в venv, через uv или в контейнер, а нужную версию Python берут из образа, а не из пакетов дистрибутива.
Если приложение живёт в Docker, выбор хоста менее важен, чем базовый образ. Практичный вариант для большинства сервисов python:3.x-slim.
Где спотыкаются
Советуют CentOS как актуальный вариант. Поддержка CentOS 7 закончилась в 2024 году, замена это Rocky Linux или AlmaLinux.
Берут Alpine ради размера образа. Там musl вместо glibc, для части библиотек нет готовых колёс под musllinux, пакеты собираются из исходников, сборка идёт долго, а итоговый образ не всегда меньше slim.
Отвечают «Ubuntu, потому что привык» без критериев. Интервьюер ждёт, что вы свяжете выбор с поддержкой, безопасностью и тем, что уже использует команда.