Debian и Ubuntu — родственные дистрибутивы с общим форматом пакетов и инструментом apt, поэтому выбор между ними редко упирается в командную строку. Разница проявляется позже: в сроках поддержки, свежести ПО, способе установки обновлений и работе с прошивками. Ниже — сравнение по практическим критериям, команды для проверки системы и чек-лист.
Общая база и разные приоритеты
Ubuntu строится на пакетах Debian testing и unstable, которые Canonical стабилизирует и дополняет. Debian stable замораживает версии на момент релиза и получает преимущественно исправления безопасности и критичные правки. Отсюда главное отличие: Debian предсказуем и консервативен, Ubuntu даёт более свежее ПО и собственные инструменты.
Оба используют systemd, apt, dpkg и AppArmor, поэтому администратор переходит между ними почти без обучения. Развилка начинается на уровне политики: сроки поддержки, правила обновлений и допустимые компромиссы.
Сроки поддержки и темп релизов
У Debian стабильная ветка выходит примерно раз в два года. Базовая поддержка security-команды вместе с расширенной LTS-поддержкой сообщества даёт запас, но планировать крупное обновление всё равно придётся. Debian 13 Trixie следует этой модели.
Ubuntu LTS выходит раз в два года в апреле: 24.04, затем 26.04. Стандартная поддержка — пять лет, с Ubuntu Pro — десять и более, включая расширенную безопасность. Для серверов рассматривайте только LTS: промежуточные выпуски живут девять месяцев.
cat /etc/os-release
apt-cache policy nginx
apt list --upgradable
apt-cache madison postgresql
Команды показывают версию системы, доступные версии пакетов и обновления. Сравните их на тестовой машине: иногда «старый» Debian содержит более свежий PostgreSQL, а Ubuntu предлагает несколько веток.
Свежесть пакетов и обратная совместимость
В Debian stable версии Nginx, PHP и PostgreSQL отстают от upstream, зато не меняют поведение внезапно. Для новых возможностей есть backports: пакеты собираются против текущей stable и требуют точечного включения. Смешивать backports со всей системой не стоит.
Ubuntu предлагает более новые версии, а для ядра — Hardware Enablement, который приносит драйверы и поддержку нового железа в рамках LTS. Это удобно на свежих серверах, но добавляет зависимость от графика HWE. В Debian отдельной ветки HWE нет.
Если приложению нужна конкретная версия runtime, ставьте его из репозитория vendor или в контейнере. Тогда различия между дистрибутивами почти исчезают.
Обновления безопасности и перезагрузки
Оба дистрибутива умеют автоматически ставить исправления через unattended-upgrades. Настройка почти идентична, но в Ubuntu дополнительно доступны Ubuntu Pro и ESM для пакетов вне основной поддержки. На Debian похожую роль играет проект Debian LTS, хотя покрытие там неполное.
sudo apt install unattended-upgrades apt-listchanges needrestart
sudo dpkg-reconfigure --priority=low unattended-upgrades
sudo systemctl status unattended-upgrades --no-pager
sudo needrestart -r l
Файл /etc/apt/apt.conf.d/20auto-upgrades включает периодическое обновление списков и установку исправлений. Для сервера полезно добавить уведомления о перезагрузке и проверять, какие службы используют старое ядро или библиотеки:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "7";
Unattended-Upgrade::Mail "root";
Автообновления не отменяют перезагрузку после нового ядра. На Debian встроенного livepatch нет, в Ubuntu есть Livepatch через Pro. Если простой недопустим, используйте балансировщик и поочерёдный вывод узлов, а не полагайтесь на горячую замену ядра.
Прошивки, драйверы и железо
Раньше Debian требовал отдельно подключать non-free для firmware. С Debian 12 установщик включает non-free-firmware, и большинство сетевых карт и видеокарт заводятся сразу. Ubuntu традиционно сильнее на новом потребительском железе: в образ входит linux-firmware, а ubuntu-drivers подбирает проприетарные драйверы.
sudo apt install firmware-linux firmware-misc-nonfree
lspci -nnk | grep -A3 -i network
sudo ubuntu-drivers list
dmesg | grep -i -E 'firmware|failed'
Для серверного железа разница минимальна: RAID-контроллеры, сетевые карты и BMC поддерживаются обоими. Смотрите на версию ядра и наличие firmware для конкретной модели, а не на название дистрибутива. На новых процессорах Ubuntu LTS с HWE часто практичнее, на проверенном железе Debian не уступает.
Snap, Flatpak и предсказуемость
Ubuntu поставляет snapd и часть серверных приложений как snap. Это даёт изоляцию и автообновления, но добавляет второй механизм доставки ПО и может неожиданно перезапустить сервис. Обновления можно придержать или запланировать.
snap list
snap refresh --hold
snap refresh --time
systemctl status snapd --no-pager
В Debian snap по умолчанию нет, а Flatpak ставится отдельно. Для сервера это меньше движущихся частей и единый apt-пайплайн. Разрешайте snap только там, где пакета нет в apt, и фиксируйте расписание.
Обновление до новой версии
Debian обновляют вручную: меняют кодовое имя в источниках, обновляют списки и выполняют full-upgrade. Процедура документирована, но требует release notes и проверки конфигов. Ubuntu предлагает do-release-upgrade, которая сама переписывает источники и ведёт диалог; это удобнее, но не отменяет резервную копию.
sudo apt update
sudo apt full-upgrade
sudo do-release-upgrade
sudo systemctl reboot
Перед обновлением сохраните данные, сделайте снимок ВМ или бэкап, проверьте свободное место и зафиксируйте список пакетов. Конфигурацию в /etc удобно вести через etckeeper: изменения попадут в git и будут видны при разборе проблем.
Когда выбирать Debian, а когда Ubuntu
- Debian — минимализм, полный контроль, отсутствие snap и предсказуемые пакеты; администратор сам настраивает бэкапы, мониторинг и обновления.
- Ubuntu LTS — длительная коммерческая поддержка, свежее ядро и драйверы, Ubuntu Pro и знакомая команде экосистема.
- Debian — домашняя лаборатория, роутеры, NAS и сервисы с редкими осознанными обновлениями.
- Ubuntu — облачные образы, узлы Kubernetes и инфраструктура, где вендоры тестируют Ubuntu LTS.
Смотрите на требования приложений, политику обновлений и срок службы сервера. Если система живёт пять лет, разница в поддержке важнее версии Nginx.
Практический чек-лист
- Проверьте версии критичных пакетов в репозитории и backports.
- Уточните дату окончания поддержки релиза и план обновления.
- Включите автообновления безопасности и уведомления администратору.
- Проверьте firmware, сетевые карты и контроллер на тестовой машине.
- Зафиксируйте состояние /etc и процедуру восстановления.
lscpu | grep -E 'Model name|Socket|Thread'
free -h && df -hT
ip -br a
timedatectl
Эти команды дают минимальный срез железа и настроек. Для виртуального сервера проверьте поддержку образа облаком: некоторые провайдеры публикуют только Ubuntu.
Итог
Debian выигрывает там, где ценятся стабильность, простота и отсутствие лишних слоёв. Ubuntu LTS удобнее командам, которым нужна поддержка, свежее железо и коммерческий контракт. Для домашнего или небольшого офисного сервера оба варианта рабочие; решают обычно организационные факторы — кто обслуживает систему и сколько времени готов тратить. Выбирайте дистрибутив, обновления которого вы реально сможете планировать и проверять.