Linux headers all deb

How to Install Kernel Headers in Ubuntu and Debian

In our last article, we have explained how to install kernel headers in CentOS 7. Kernel Headers contain the C header files for the Linux kernel, which offers the various function and structure definitions required when compiling any code that interfaces with the kernel, such as kernel modules or device drivers and some user programs.

It is very important to note that the kernel headers package you install should match with the currently installed kernel version on your system. If your kernel version ships with the default distribution installation or you have upgraded your Kernel using dpkg or apt package manager from the Ubuntu or Debian base repositories, then you must install matching kernel headers using package manager only. And if you’ve compiled kernel from sources, you must also install kernel headers from sources.

In this article, we will explain how to install Kernel Headers in Ubuntu and Debian Linux distributions using default package manager.

Install Kernel Headers in Ubuntu and Debian

First check your installed kernel version as well as kernel header package that matches your kernel version using following commands.

$ uname -r $ apt search linux-headers-$(uname -r)

Check Kernel Version and Kernel Headers in Ubuntu

On Debian, Ubuntu and their derivatives, all kernel header files can be found under /usr/src directory. You can check if the matching kernel headers for your kernel version are already installed on your system using the following command.

$ ls -l /usr/src/linux-headers-$(uname -r)

Check Kernel Headers in Ubuntu

From the above output, it’s clear that the matching kernel header directory doesn’t exist, meaning the package is not yet installed.

Before you can install the appropriate kernel headers, update your packages index, in order to grab information about the latest package releases, using the following command.

Then run the following command that follows to install the Linux Kernel headers package for your kernel version.

$ sudo apt install linux-headers-$(uname -r)

Install Kernel Headers in Ubuntu

Next, check if the matching kernel headers have been installed on your system using the following command

$ ls -l /usr/src/linux-headers-$(uname -r)

Verify Installed Kernel Headers in Ubuntu

That’s all! In this article, we have explained how to install kernel headers in Ubuntu and Debian Linux and other distributions in the Debian family tree.

Always keep in mind that to compile a kernel module, you will need the Linux kernel headers. If you have any quires, or thoughts to share, use the comment form below to reach us.

Читайте также:  Linux and computer graphics

Источник

Как установить последние версии ядра Linux в Ubuntu и Linux Mint

Последние версии ядра Linux имеют драйверы для новых устройств и другие нововведения. К сожалению, многие популярные дистрибутивы Linux не спешат обновить ядро. Данная инструкция покажет, как легко, без компиляции, установить любую версию ядра Linux в Ubuntu и Linux Mint. Вы можете выбрать для установки как более новое ядро, так и более старое, чем предлагает репозиторий вашего дистрибутива.

При желании, вы без проблем можете удалить установленные ядра Linux и вернуться к ядру из репозитория.

Поскольку Linux Mint основана на Ubuntu, то данная инструкция в полной мере применима и к дистрибутивам Linux Mint, кроме LMDE. Для LMDE (Linux Mint Debian Edition) смотрите статью «Как установить последние версии ядра Linux в Debian и основанные на Debian дистрибутивы».

Предупреждение перед обновлением ядра

Необходимо помнить, что из-за несовместимости ядра с программами (в первую очередь, с проприетарными видео драйверами), вы можете столкнуться с проблемами, в том числе с чёрным экраном во время загрузки.

В большинстве случаев, возникшие проблемы можно решить без переустановки дистрибутива. Начните с того, что в меню загрузки перейдите в дополнительные параметры и загрузитесь с предыдущей версией ядра. Выполнив загрузку, удалите проблемное ядро.

Проблемы могут вызвать проприетарные драйверы для видеокарт, поскольку старые версии могут быть не совместимы с последними версиями ядра без патча. Если у вас установлены проприетарные видео драйверы, то серьёзной подумайте, прежде чем следовать инструкциям ниже. Также подготовьтесь, поищите инструкции, как решить проблему при загрузки дистрибутива в чёрный экран.

Следует быть особенно осторожным владельцам старых дистрибутивов — настоятельно рекомендуется обновлять ядро только на последних версиях ОС.

Ещё одна вполне вероятная проблема, с которой вы можете столкнуться если установите ядро самой последней версии — проблема с неразрешёнными зависимостями и как следствие невозможность использования менеджера пакетов apt для обновления и установки программ. Если вы столкнулись с ситуацией, когда после успешной установки нового ядра не получается обновить пакеты с помощью apt, то попробуйте устанавливать более ранние версии ядра, которые вам подходят, а версии, вызывающие проблемы с зависимостями, удаляйте. Помните, что невозможно удалить ядро с которым вы загрузились — перед удалением загрузите компьютер с любой другой версией ядра.

mainline — репозиторий ядер Ubuntu

Для Ubuntu имеется репозиторий скомпилированных ядер mainline всех версий, в том числе самых последних, поэтому установка не вызывает особых сложностей — компилировать ядро Linux не нужно. Более того, имеются инструменты, в том числе с графическим интерфейсом для установки любых ядер.

На самом деле, если ядра уже скомпилированы, то достаточно скачать из одной папки с сервера файлы следующего вида:

  • linux-headers-*-generic_*_amd64.deb
  • linux-headers-*_all.deb
  • linux-image-unsigned-*-generic_*_amd64.deb
  • linux-modules-*-generic_*_amd64.deb
Читайте также:  Изменить меню линукс минт

Но процесс можно упростить ещё больше, используя утилиты для работы с ядрами.

mainline (продолжение бесплатной версии ukuu) — программа с графическим и консольным интерфейсом для обновления ядра

Если вы предпочитаете графический интерфейс, то используйте Mainline.

Чтобы установить программу выполните следующие команды:

sudo apt-add-repository -y ppa:cappelikan/ppa sudo apt update sudo apt install mainline

Для запуска графического интерфейса выполните:

Для запуска консольной версии выполните:

Использование графической версии не должно вызвать затруднений. При запуске будет получена информация о доступных ядрах, вы можете выбрать любое ядро и установить его, просто нажав на кнопку «Установка». Дополнительно доступны такие действия как удаление ядер и просмотр списков изменений для каждой версии ядра.

Использование консольной версии следующее:

Справка по опциям и командам:

Команды: --check Проверить обновления ядра --notify Проверить обновления ядра и уведомить текущего пользователя --list Показать список всех доступных ядер mainline --list-installed Показать установленные ядра --install-latest Установить последнее ядро mainline --install-point Установить последнее точечное обновление для текущей серии --install ИМЯ Установить указанное ядро mainline(1) --uninstall ИМЯ Установить указанное ядро(2) --uninstall-old Установить ядра старше, чем текущее ядро --download ИМЯ Загрузить указанное ядро(2) --clean-cache Удалить файлы из кэша приложения Опции: --include-unstable Включать нестабильные выпуски и кандидаты в выпуск --hide-unstable Прятать нестабильные выпуски и кандидаты в выпуск --debug Включить подробный отладочный вывод --yes Подразумевать Да на все запросы (неинтерактивный режим) --user Переопределить пользователя

(1) Строка версии должна браться из вывода —list

(2) Одна или более строк версий (разделённые запятыми) берутся из вывода —list

Перезагрузите компьютер, чтобы использовать новое ядро.

По умолчанию ваша система будет загружена с последним ядром, если вы хотите это изменить, то перейдите в дополнительные параметры загрузки

и выберите желаемую версию из установленных ядер.

Утилита ubuntu-mainline-kernel.sh

Последнюю версию ядра на Ubuntu и Linux Mint также можно установить с помощью утилиты командной строки ubuntu-mainline-kernel.sh.

Загружаем и устанавливаем скрипт ubuntu-mainline-kernel.sh:

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh sudo install ubuntu-mainline-kernel.sh /usr/local/bin/

Справка по ubuntu-mainline-kernel.sh

ubuntu-mainline-kernel.sh -c|-l|-r|-u
Аргументы: -c Проверить, доступна ли более новая версия ядра -i ВЕРСИЯ Установить ядро ВЕРСИИ, список доступных версий смотрите с опцией -l. Не нужно указывать префикс «v». Например, -i 4.9 это то же самое, что и -i v4.9. Если версия пропущена, то будет установлена последняя версия -l ИСКАТЬ Вывести список версий локально установленных ядер. Если указан аргумент с этой опцией, то будет выполнен поиск по этой строке -r ИСКАТЬ Вывести список доступных ядер. Если с этой опцией указан аргумент, то будет выполнен поиск по этой строке -u ВЕРСИЯ Удалить ядро указанной версии. Если версия пропущена, отображается список из максимально 10 установленных ядер -h Показать справку Опции: -s, --signed Устанавливать только подписанные пакеты ядра (не реализовано) -p, --path DIR Рабочая директория, .deb файлы загружаются в эту папка. Если пропущена, то будет использоваться папка /tmp/ubuntu-mainline-kernel.sh/. Путь является относительным к $PWD -ll, --low-latency Использовать версию ядра low-latency, только для amd64 и i386 -lpae, --lpae Использовать ядро Large Physical Address Extension, только для armhf --snapdragon Использовать ядро Snapdragon, только для arm64 -do, --download-only Только загрузить файлы deb, не устанавливать их -ns, --no-signature Не проверять gpg подпись контрольной суммы файла -nc, --no-checksum Не проверять sha подпись файлов .deb -d, --debug Показать отладочную информацию, все внутренние команды будут показывать их вывод --rc Также включить кандидаты в выпуски --yes Подразумевать Да на все вопросы (используйте с осторожностью!)

Пример установки последней версии ядра

Читайте также:  Run rpm file on linux

Проверяем текущую версию ядра:

Проверяем, какая версия ядра является последней:

Чтобы вывести список доступных для установки версий ядер выполните команду:

sudo ubuntu-mainline-kernel.sh -r

Например, мы хотим установить ядро версии v5.12.11, тогда команда следующая (префикс «v» указывать не надо):

sudo ubuntu-mainline-kernel.sh -i 5.12.11

Если вы хотите установить последнюю на данный момент версию, то запустите следующую команду:

sudo ubuntu-mainline-kernel.sh -i

Вам будет задан вопрос, хотите ли вы продолжить, введите «y»:

Latest version is: v5.14.6, continue? (y/N)

Программа завершила работу — чтобы изменения вступили в силу, требуется перезагрузка.

Опять проверяем версию ядра:

Как восстановить Linux после установки ядра

Если ваш компьютер загружается с чёрным экраном, зависает или что-то не работает после обновления ядра, перезагрузитесь и выберите Дополнительные параметры для вашего дистрибутива в меню GRUB:

Затем выберите предыдущую версию ядра и нажмите Enter:

Независимо от причины, вам необходимо загрузиться с предыдущей версией ядра, если вы хотите удалить последнее ядро. Это потому, что вы не можете удалить ядро, которое в настоящее время используется.

Если вы не видите меню GRUB2, нажмите и удерживайте клавишу Shift или несколько раз нажмите клавишу Esc (это может варьироваться в зависимости от загрузки BIOS или UEFI и от используемой вами версии Ubuntu/Linux Mint) при загрузке GRUB. Должно появиться меню Grub, позволяющее выбрать предыдущую версию ядра.

После загрузки предыдущего ядра вы можете удалить неисправное ядро. ubuntu-mainline-kernel.sh позволяет удалять ядра, установленные из PPA ядра Ubuntu.

С помощью ubuntu-mainline-kernel.sh вы можете удалить версию ядра, запустив:

sudo ubuntu-mainline-kernel.sh -u ВЕРСИЯ

Где ВЕРСИЯ — это версия ядра, например 5.14. Вы также можете эту утилиту с -u без указания версии, и в этом случае инструмент выведет список до 10 версий ядра и спросит вас, какую из них вы хотите удалить. Стоит отметить, что ubuntu-mainline-kernel.sh не будет показывать в этом списке официальные ядра Ubuntu.

Обновите настроки GRUB если это не было сделано автоматически:

Источник

Оцените статью
Adblock
detector