Ядро - это один из самых важных компонентов системы, именно здесь реализуется поддержка оборудования, выполняются основные действия по управлению процессами, памятью, сетью и другие действия. Новые версии ядра имеют максимальную поддержку современного оборудования, содержат исправления уязвимостей и многое другое. Поэтому очень важно, чтобы система использовала самые новые версии ядра.
Но Debian - это стабильный дистрибутив, поэтому в нем изначально применяется уже устаревшая версия. Но если захотеть, то можно установить более новую. В этой статье мы рассмотрим как выполняется обновление ядра Debian. Какие программы лучше использовать и так далее.
Обновление ядра Debian
Когда вы используете Debian, вы должны понимать, что самые новые версии пакетов вы не всегда можете получить. Один из таких компонентов - ядро. Вы можете взять ядро, собранное для других дистрибутивов, например, Ubuntu, но там использованы свои патчи, и скорее всего, оно не будет правильно работать в Debian. Самым простым способом получить новое ядро в этой системе будет использование тестовых репозиториев, таких, как backports и experimental. Например, сейчас самая новая версия Debian - 9. В ней используется ядро 4.9. Но в репозитории experimental есть ядро 4.13, на данный момент, это самая новая версия, доступная на Kernel.org.
uname -a
Давайте рассмотрим как установить ядра из exprimental и backports. Пакеты из backports тоже свежие, но не настолько как из experimental, поэтому они более стабильны. Сначала рассмотрим backports, а уже затем experimental. Нам нужно добавить репозиторий в систему, для этого откройте файл /etc/apt/sources.list и добавьте туда такую строку:
Обновите список пакетов:
Дальше нужно обновить список пакетов, а затем смотрим, какие версии ядра появились в системе:
apt search linux-headers
Как видите, в репозитории backports уже есть ядро 4.11, в то время как в официальном стабильном репозитории только 4.9. Теперь мы можем обновить ядро debian:
sudo apt install linux-headers-4.11-bpo.1 linux-image-4.11-bpo.1
После завершения установки ядра будет автоматически обновлен загрузчик Grub и вам останется только перезагрузить компьютер чтобы изменения вступили в силу. Обратите внимание, что если вы используете ноутбук, то вам еще нужно будет установить прошивку firmware из репозитория backports. Например, для iwlwifi:
sudo apt -t wheezy-backports install firmware-iwlwifi
Если вы хотите самую новую версию ядра, то вам придется использовать репозиторий experimental, но тут дела обстоят немного сложнее. Это экспериментальный репозиторий, поэтому перед добавлением нужно указать настройки чтобы по умолчанию он вообще не использовался и активировался для определенного пакета вручную. Для этого добавьте в файл /etc/apt/preferences:
vi /etc/apt/preferences
Package: *
Pin: release o=Debian,a=experimental
Pin-Priority: 102
Мы установили такой приоритет, что он намного ниже стандартных репозиториев, а значит ничего случайно не обновится и не установится.
Теперь добавьте репозиторий в систему:
sudo vi /etc/apt/sources.list
И обновите список пакетов:
sudo apt update
Проверьте, сработала ли настройка приоритета:
apt-cache policy
Дальше ищем доступные версии ядра:
sudo apt search linux-headers
Тут мы уже видим новую версию ядра Linux 4.13 из репозитория experimental, о которой я говорил выше. Дальше мы можем ее установить:
sudo apt install linux-headers-4.13 linux-image-4.13
Опять же, после установки будет автоматически обновлен Grub и вы сможете перезагрузить компьютер чтобы работать с новым ядром. Если вы поймаете какую-либо ошибку, то всегда можете выбрать в меню загрузчика предыдущее ядро, которое хорошо работало, а новое удалить командой:
sudo apt purge linux-headers-4.13 linux-image-4.13
Возможно, вам нужно будет указать другие версии пакетов, если вы выполняли установку из backports.
Выводы
В этой небольшой статье мы рассмотрели как выполняется обновление ядра Debian 9. Возможно, это сложнее, чем для других дистрибутивов, но в целом нет ничего сверх сложного и все можно сделать за несколько десятков минут. Но вам нужно учитывать, что если вы используете проприетарные драйвера от NVIDIA или AMD, то ядро лучше вообще не трогать, потому что драйвера могут еще не поддерживать новые версии. Вы можете не только обновить ядро из репозиториев, но и собрать ядро из исходников. Если у вас остались вопросы, спрашивайте в комментариях!
отличная прям статья )
Cпасибо, очень познавательно
Настройка приоритета репозитория - очень полезно!
а как мне заставить загружаться с linux-headers-5.4.0-0.bpo.4-rt-amd64 5.4.19-1~bpo10+1
Last login: Sun Mar 22 22:33:14 2020 from 10.240.110.206
sid@kino:~$ sudo apt install linux-headers-$(dpkg --print-architecture)
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-amd64 is already the newest version (5.4.19-1~bpo10+1).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
sid@kino:~$ dpkg -l |grep headers-
ii linux-headers-5.4.0-0.bpo.2-amd64 5.4.8-1~bpo10+1 amd64 Header files for Linux 5.4.0-0.bpo.2-amd64
ii linux-headers-5.4.0-0.bpo.2-common 5.4.8-1~bpo10+1 all Common header files for Linux 5.4.0-0.bpo.2
ii linux-headers-5.4.0-0.bpo.3-amd64 5.4.13-1~bpo10+1 amd64 Header files for Linux 5.4.0-0.bpo.3-amd64
ii linux-headers-5.4.0-0.bpo.3-common 5.4.13-1~bpo10+1 all Common header files for Linux 5.4.0-0.bpo.3
ii linux-headers-5.4.0-0.bpo.3-common-rt 5.4.13-1~bpo10+1 all Common header files for Linux 5.4.0-0.bpo.3-rt
ii linux-headers-5.4.0-0.bpo.3-rt-amd64 5.4.13-1~bpo10+1 amd64 Header files for Linux 5.4.0-0.bpo.3-rt-amd64
ii linux-headers-5.4.0-0.bpo.4-amd64 5.4.19-1~bpo10+1 amd64 Header files for Linux 5.4.0-0.bpo.4-amd64
ii linux-headers-5.4.0-0.bpo.4-common 5.4.19-1~bpo10+1 all Common header files for Linux 5.4.0-0.bpo.4
ii linux-headers-5.4.0-0.bpo.4-common-rt 5.4.19-1~bpo10+1 all Common header files for Linux 5.4.0-0.bpo.4-rt
ii linux-headers-5.4.0-0.bpo.4-rt-amd64 5.4.19-1~bpo10+1 amd64 Header files for Linux 5.4.0-0.bpo.4-rt-amd64
ii linux-headers-amd64 5.4.19-1~bpo10+1 amd64 Header files for Linux amd64 configuration (meta-package)
sid@kino:~$ uname -a
Linux kino 5.4.0-0.bpo.3-rt-amd64 #1 SMP PREEMPT_RT Debian 5.4.13-1~bpo10+1 (2020-02-07) x86_64 GNU/Linux
sid@kino:~$
грузится с 13ой версии
данную тему стоит обновить? я лишь спросить.