Короткий ответ: для обычного десктопа бери linux или linux-zen, для сервера и старого железа linux-lts, для максимальной защиты linux-hardened. А ещё лучше поставить linux-lts рядом с основным ядром как запасной вариант: если свежее ядро сломает загрузку, ты всегда стартуешь с LTS. Все эти ядра лежат в официальных репозиториях Arch, ставятся одной командой и спокойно сосуществуют на одном диске. Дальше разберём каждый вариант по сценариям: кому что подходит и как всё это настроить.
Все сборки собираются из одних исходников Linux, но с разными патчами и настройками. Отсюда разница в поведении, производительности и совместимости.
Ядро по умолчанию. Свежие версии, новые фичи, поддержка самого нового железа. Обновляется часто, поэтому риск регрессий чуть выше. Для большинства пользователей это правильный выбор.
Собирается из ветки с длительным сроком поддержки. Обновления редкие и консервативные: только исправления безопасности и багов. Никаких новых фич, зато максимальная предсказуемость. Идеально для серверов, старого железа и как запасной вариант.
Патчи, нацеленные на интерактивность: другой планировщик задач, тюнинг под десктопные нагрузки. Популярно у геймеров и тех, кто работает с тяжёлыми приложениями. По сути то же свежее ядро, но с другими приоритетами планирования.
Набор патчей безопасности поверх свежего ядра: защита от эксплуатации уязвимостей, ужесточение прав, дополнительные проверки. Платишь производительностью и совместимостью: часть софта, включая некоторые игры и VR, может не работать.
Для задач с жёсткими требованиями к задержкам: аудиостудии, робототехника, промышленные контроллеры. Собирается с патчами PREEMPT_RT, которые делают время отклика предсказуемым. На обычном десктопе разницу не почувствуешь, а настройка сложнее: нужны свои параметры загрузки и проверка реального времени. Обычному пользователю это ядро не нужно.
Ниже таблица для быстрой ориентации. Цифры производительности намеренно не привожу: они сильно зависят от железа и задач.
| Ядро | Для кого | Плюсы | Минусы |
|---|---|---|---|
| linux | большинство пользователей | свежие фичи, новое железо | частые обновления |
| linux-lts | серверы, старое железо | стабильность, редкие обновления | нет новых фич |
| linux-zen | десктоп, игры | отзывчивость | разница субъективная |
| linux-hardened | защита от атак | патчи безопасности | медленнее, ломает софт |
| linux-rt | реальное время | низкие задержки | нишевый, сложный |
Для повседневного десктопа выбор простой: linux или linux-zen. Не хочешь думать, ставь linux. Хочется более отзывчивую систему под интерактивную нагрузку, попробуй linux-zen. Разница в ощущениях субъективная, но многие замечают более плавную работу при переключении между окнами и тяжёлыми приложениями.
Проверить текущее ядро:
uname -r
Для игр linux-zen выбирают чаще всего: патчи планировщика снижают задержки ввода, а свежая версия ядра лучше поддерживает новые видеокарты и контроллеры. Если играешь через Steam или Proton, разница может проявиться в более плавной картинке. Если не хочешь экспериментировать, linux даст почти то же самое.
Для рабочей станции с компиляцией, виртуалками и тяжёлыми IDE linux-zen тоже неплох: планировщик быстрее реагирует на интерактивные задачи, пока фоновые сборки жуют ядра. Но если система работает стабильно на linux, менять ничего не нужно.
linux-lts спасает в трёх ситуациях.
Первая: сервер. Тебе не нужны новые фичи, нужна предсказуемость. LTS обновляется редко и не преподносит сюрпризов.
Вторая: старое железо. Свежие ядра иногда отбрасывают поддержку устаревших устройств или меняют поведение драйверов. LTS работает как раньше.
Третья: новое железо, которое не поддерживается свежим ядром. Звучит парадоксально, но бывает: проприетарные драйверы, например Nvidia, иногда отстают от свежих версий ядра. Пока драйвер не обновили, LTS остаётся единственным рабочим вариантом. То же касается прошивок: если свежему ядру не хватает linux-firmware для нового устройства, LTS часто работает без проблем. Подробнее про драйвер Nvidia читай в статье «Установка драйвера Nvidia на Arch Linux».
Какую именно ветку поддерживает Arch, видно по версии пакета: pacman -Si linux-lts покажет номер серии. Обычно это последняя LTS-ветка с kernel.org, и живёт она несколько лет.
Если держишь машину с публичным IP, работаешь с чужими файлами или просто параноик по натуре, linux-hardened даёт дополнительный слой защиты. Патчи усложняют эксплуатацию уязвимостей: случайные адреса, ужесточённые проверки, ограничения на часть системных вызовов.
Минусы честно: выше накладные расходы, ниже производительность в отдельных задачах, часть софта ломается. Игры с античитом и VR-шлемы часто не работают на hardened. Для игрового десктопа это плохой выбор.
И ещё один момент: hardened не защищает от глупых действий. Пароль от root, открытый SSH с паролем, запуск скриптов из интернета без проверки сведут на нет любые патчи. Сначала базовая гигиена, потом hardened.
Никто не мешает поставить два или три ядра сразу. Это стандартная практика: основное ядро для работы, LTS как страховка.
pacman -S linux-lts linux-lts-headers
Пакет linux-lts-headers нужен для сборки модулей под LTS. Установка автоматически перегенерирует initramfs и добавит новую запись в загрузчик. Если используешь GRUB, конфиг обновится сам через хуки pacman. Хуки вызывают mkinitcpio и grub-mkconfig автоматически, поэтому руками ничего запускать не нужно. Если хук не сработал, пункт в меню не появится, и тогда конфиг перегенерируешь вручную.
После установки в меню GRUB появится пункт с LTS. Как сделать его загрузкой по умолчанию и как устроено меню с несколькими ядрами, разобрано в статье «Несколько ядер в меню загрузки».
Если свежее ядро сломалось, просто выбери LTS в меню загрузчика и продолжай работать. Старое ядро никуда не делось, оно лежит рядом в /boot.
Если используешь systemd-boot вместо GRUB, записи для нового ядра появятся автоматически. Про разницу загрузчиков читай в статье «systemd-boot vs GRUB: второе ядро».
Чтобы GRUB запоминал твой выбор и грузил последнее выбранное ядро, открой /etc/default/grub и поставь:
GRUB_DEFAULT=saved
Затем перегенерируй конфиг:
grub-mkconfig -o /boot/grub/grub.cfg
Теперь при каждой загрузке GRUB стартует с того пункта, который ты выбрал в прошлый раз. Выбрал LTS один раз, и система будет грузиться с него, пока ты не выберешь другое ядро.
Если хочешь жёстко зафиксировать конкретный пункт меню, поставь вместо saved его номер, например GRUB_DEFAULT=1. Нумерация начинается с нуля, порядок пунктов смотри в /boot/grub/grub.cfg.
Заголовочные файлы ядра нужны для сборки внешних модулей: драйверов Nvidia, модулей VirtualBox, DKMS-пакетов. Без linux-headers модуль не соберётся под твоё ядро. Это не библиотеки для программ, а именно заголовки для компиляции модулей. Обычному пользователю они нужны только потому, что без них не соберутся драйверы. Каждому установленному ядру соответствует свой пакет -headers: linux → linux-headers, linux-lts → linux-lts-headers, linux-zen → linux-zen-headers.
Если модуль собран под одно ядро, а загрузилось другое, он просто не загрузится. Поэтому после установки нового ядра пересобирай внешние модули. DKMS делает это автоматически при каждом обновлении.
Механизм автоматической пересборки модулей при обновлении ядра описан в статье «DKMS: динамические модули».
Посмотреть, какие ядра стоят:
pacman -Q | grep linux
Удалить ненужное, например linux-zen:
pacman -R linux-zen linux-zen-headers
После удаления перегенерируй конфиг GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
Не удаляй последнее рабочее ядро, пока не убедишься, что запасное грузится. Сначала проверь uname -r и перезагрузись на LTS.
Кстати, pacman -Q | grep linux покажет и заголовочные пакеты, и модули. Удаляй их вместе с ядром, иначе останутся сироты.
Самый частый сценарий: после обновления система не грузится или грузится с ошибками. Не паникуй. Перезагрузись, в меню GRUB выбери предыдущее ядро или LTS, зайди в систему и разберись с проблемным обновлением. Пока LTS стоит рядом, у тебя всегда есть рабочий вход в систему.
Частая причина проблем после обновления ядра: несовпадение версий ядра и initramfs или сломанный хук mkinitcpio. Если LTS грузится, а свежее ядро нет, сравни вывод uname -r и файлы в /boot: vmlinuz-linux и initramfs-linux.img должны быть от одной версии.
Если хочешь больше контроля над ядром, чем дают готовые сборки, можно собрать своё. Процесс описан в статье «Сборка своего ядра за 5 шагов».
Да, без проблем. Ядра не конфликтуют: у каждого свои файлы в /boot и свой пакет -headers. Файлы называются по-разному: vmlinuz-linux, vmlinuz-linux-lts, vmlinuz-linux-zen. В меню загрузчика появится несколько пунктов, между ними переключаешься при перезагрузке.
Тем же свежим ядром, но с патчами под интерактивность: другой планировщик, другие приоритеты для десктопных задач. Версии совпадают, обновления выходят примерно в одно время. Для серверных нагрузок zen не оптимизирован, там лучше обычный linux или LTS.
Не обязательно. Arch хранит несколько версий ядра в /boot, и это нормально. Старые версии занимают десятки мегабайт, не больше. Удалять их можно, но лучше оставить хотя бы одну запасную, особенно LTS.
Скорее всего, не сработал хук перегенерации конфига. Выполни вручную:
grub-mkconfig -o /boot/grub/grub.cfg
После этого пункт появится.
linux или linux-zen. Ноутбуки часто имеют свежее железо, и свежее ядро лучше знает новые чипы и контроллеры Wi-Fi. LTS поставь рядом на всякий случай.
Выбор ядра сводится к сценарию: десктоп берёт linux или linux-zen, сервер и старое железо linux-lts, защита linux-hardened. Универсальная страховка одна: поставь linux-lts рядом с основным ядром. Тогда любое проблемное обновление перестаёт быть страшным, потому что запасной вариант загрузки всегда под рукой. Пакеты -headers ставь для каждого ядра, которое держишь, и не забывай перегенерировать конфиг загрузчика после установки и удаления. Пять минут настройки избавят от ночного ремонта системы.
Задай вопрос в чате — отвечаем быстро, по делу и без воды.
Комментарии