Ядро Linux

Тема дорожной карты · Linux & Unix Fundamentals

Ядро — это привилегированное ядро системы: оно планирует процессы, управляет памятью, общается с железом через драйверы и предоставляет интерфейс системных вызовов. Исходники трогают редко, но поведение настраивают через sysctl (/proc/sys/...), модули подгружают через modprobe/lsmod, параметры читают в /sys, а события — через dmesg или journalctl -k. Версии важны: LTS-ядра (например, 6.1, 6.6) долго получают исправления, дистрибутивы добавляют backports, а такие функции как cgroups v2, eBPF, io_uring и namespaces — фундамент для контейнерных рантаймов.

Как это работает

Ядро Linux начинается с понимания, что Linux — это ядро; "дистрибутив Linux" — это ядро + GNU userland + init-система + пакетный менеджер + подборка софта. Основные семейства: Debian (Ubuntu, Mint, Pop!_OS — apt), Red Hat (RHEL, Fedora, Rocky, Alma — dnf/yum), Arch (rolling release, pacman), SUSE (zypper). Большинство серверов — Debian/Ubuntu LTS или RHEL-семейство. В контейнере или на сервере вы живёте в shell (bash, zsh, sh) — GUI опционален.

Когда применять

Ubuntu LTS или Debian — для general-purpose серверов: большое сообщество, предсказуемые релизы, огромная база пакетов. RHEL/Rocky/Alma — когда важны corporate compliance или сертификации. Arch / Fedora — как power-user desktop со свежими пакетами. Для embedded / kiosk / appliance — Buildroot, Alpine, Yocto. Большинство облачных образов дефолтят на Ubuntu LTS не зря.

Типичные ошибки

Ловушки Ядро Linux: прыжки между дистрибутивами в середине проекта и переучивание имён пакетов + путей вместо мастерства одного; путаница ядра и дистрибутива ("ядро Linux Mint" не имеет смысла — ядро одно); desktop-дистрибутив на сервере (больше поверхности атаки, больше bloat); установка через случайные shell-пайпы (curl | bash без инспекции) и доверие тому, что скрипт делает под root.

Связанные понятия

Полезные ресурсы