Debian — Швейцарский нож в мире Linux
Debian — это не самый яркий дистрибутив, но самый надёжный фундамент в мире Linux. За ним стоит крупнейшее сообщество волонтёров-разработчиков, а за его плечами — десятилетия безотказной работы серверов, встраиваемых систем и облачной инфраструктуры. Если ты управляешь Linux-машинами в продакшене, Debian (или его производные) уже присутствует в твоём стеке — осознанно или нет.
Управление пакетами: apt и dpkg
Два инструмента формируют ядро пакетной системы Debian. apt — высокоуровневый интерфейс для работы с репозиториями, разрешения зависимостей и обновления системы. dpkg — низкоуровневый движок, который устанавливает, удаляет и анализирует отдельные .deb-файлы без обращения к репозиториям.
dpkg -i не разрешает зависимости. Если пакет тянет другие библиотеки, используй apt install ./package.deb — apt подтянет недостающие зависимости из репозитория.
Типичная ошибка — смешивание apt и dpkg при частичных установках. Если dpkg -i завершился с ошибкой зависимости, запусти apt --fix-broken install и заверши операцию через apt.
Модель стабильности и ветви релизов
Debian строится на трёх ветвях, определяющих агрессивность обновлений и уровень тестирования.
| Ветвь | Кодовое имя | Стабильность | Когда использовать |
|---|---|---|---|
| stable | bookworm (12) / trixie (13) | Высокая, только безопасность и критические фиксы | Продакшен-серверы, базовая инфраструктура |
| testing | bookworm-progress | Средняя, пакеты проходят период стабилизации | Разработчественные машины, контейнеры |
| unstable | sid | Низкая, ежедневные снапшоты | Эксперименты, бинарный сбор пакетов |
В sources.list это выглядит так:
Секции non-free и non-free-firmware были введены начиная с Debian 12. Без них некоторые проприетарные драйверы (Wi-Fi, GPU) не установятся.
Переход между ветвями — apt dist-upgrade с подменой sources.list. Делай это только на тестовых стендах: бинарная совместимость между testing и stable не гарантирована для всех пакетов.
Поддержка архитектур
Debian официально поддерживает больше аппаратных платформ, чем любой другой дистрибутив. Это критично для embedded и IoT-проектов.
| Архитектура | Порт | Типичное применение |
|---|---|---|
| amd64 | amd64 | Серверы, десктопы, облако |
| arm64 | arm64 | ARM-серверы (AWS Graviton, Raspberry Pi 4/5) |
| armhf | armhf | Встраиваемые устройства с FPU |
| i386 | i386 | Legacy-системы |
| ppc64el | ppc64el | IBM Power Systems |
| s390x | s390x | IBM Z mainframes |
| riscv64 | riscv64 | Открытые RISC-V платформы |
Мультиархитектурная поддержка позволяет ставить пакеты для чужих платформ:
Debian как основа других дистрибутивов
Практически каждый крупный дистрибутив, которым ты пользуешься, построен на Debian или наследует его модель пакетов.
- Ubuntu — берёт testing-ветвь, добавляет свои PPA и проприетарные драйверы.
- Linux Mint — основан на Ubuntu, следовательно, на Debian-пакетах.
- Proxmox VE — модифицированный Debian 12 с добавлением корпоративных репозиториев.
- Kali Linux — Debian unstable с набором инструментов пентеста.
- Raspberry Pi OS (бывший Raspbian) — Debian armhf/arm64 с патчами для Pi.
- MX Linux, antiX — Debian stable с облегчёнными DE.
Если тебе нужен стабильный бэкленд с более свежим софтом — берёшь Debian stable и добавляшь backports-репозиторий. Это даёт обновлённые версии ядра, nginx, PostgreSQL без перехода на testing.
Практические сценарии в DevOps
В повседневной работе Debian-подход проявляется в нескольких ключевых паттернах.
Базовые образы для контейнеров. Официальные Docker-образы debian:bookworm, debian:slim — это отправная точка для сотен минималистичных контейнеров. Вес debian:slim — около 70 МБ против 200+ МБ у ubuntu:latest.
VM-шаблоны. Proxmox, который работает на Debian, использует debootstrap для создания шаблонов контейнеров (LXC). Это тот же инструмент, что лежит в основе установки системы с нуля.
Конфигурационное управление. Ansible, Puppet, Chef — все три работают с Debian-пакетами напрямую. Модуль apt в Ansible — один из самых используемых в любом плейбуке.
CI/CD пайплайны. Сборка .deb-пакетов в GitLab CI или GitHub Actions — стандартный паттерн. debhelper, dh_make, pbuilder или sbuild обеспечивают воспроизводимый билд в чистом chroot.
Ключевые команды для повседневной работы
Сведи эту таблицу в закладки — она покрывает 90% задач на Debian-сервере.
| Задача | Команда |
|---|---|
| Обновить список пакетов | apt update |
| Обновить все пакеты | apt upgrade -y |
| Полный апгрейд с разрешением зависимостей | apt full-upgrade -y |
| Установить пакет | apt install -y <pkg> |
| Удалить пакет с конфигами | apt purge -y <pkg> |
| Найти пакет | apt search <query> |
| Информация о пакете | apt show <pkg> |
| Список установленных | apt list --installed |
| Найти файл принадлежащий пакету | dpkg -S <path> |
| Список файлов пакета | dpkg -L <pkg> |
| Проверить статус пакета | dpkg -l <pkg> |
| Починить сломанные зависимости | apt --fix-broken install |
| Очистить кэш apt | apt clean && apt autoclean |
| Добавить архитектуру | dpkg --add-architecture <arch> |
| Создать .deb из исходников | debuild -us -uc |
Debian не самый быстрый на первый взгляд — нет rolling-релизов и свежих версий софта из коробки. Но именно эта предсказуемость делает его базой для продакшена, на котором работают миллионы серверов. Если ты хочешь надёжность, а не трендовые версии — Debian не подведёт.