- Как установить заголовочные файлы ядра в Linux
- Установка заголовочных файлов ядра в Debian, Ubuntu или Linux Mint
- Установка заголовочных файлов ядра в Fedora, CentOS или RHEL
- не ставятся headers (uname -r)
- Правильная инструкция по установке linux-headers в Debian Stretch. uname -r|sed ‘s/[^-]*-[^-]*-//’ — работает неправильно?
- How to Install Kernel Headers in Ubuntu and Debian
- Install Kernel Headers in Ubuntu and Debian
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- Debian проблема c apt (linux-headers)
Как установить заголовочные файлы ядра в Linux
Когда вы компилируете драйвер устройства как модуль ядра, вам необходимы установленные заголовочные файлы ядра. Также они требуются, если вы собираете пользовательское приложение, которое взаимодействует напрямую с ядром. При установке заголовочных файлов ядра, необходимо убедиться, что их версия совпадает с версией ядра установленного в системе.
Если версия вашего ядра не менялась после установки дистрибутива, или вы обновляли его с использованием системного менеджера пакетов (то есть apt-get, aptitude или yum) из системных репозиториев, то заголовочные файлы вы также можете установить с помощью пакетного менеджера. Однако если вы скачивали исходный код ядра и компилировали его самостоятельно, то заголовочные файлы необходимо устанавливать с помощью команды make.
Здесь мы предполагаем, что ваше ядро установлено из основного системного репозитория вашего дистрибутива, и вы хотите установить соответствующие заголовочные файлы ядра.
Установка заголовочных файлов ядра в Debian, Ubuntu или Linux Mint
Если вы не компилировали ядро вручную, то можете установить соответствующие заголовочные файлы ядра с помощью команды apt-get.
Сначала проверьте, не установлены ли уже требуемые заголовочные файлы с помощью команды:
Теперь установите заголовочные файлы, как показано ниже.
Проверьте, что установка прошла успешно.
По умолчанию в Debian, Ubuntu или Linux Mint заголовочные файлы находятся в /usr/src.
Установка заголовочных файлов ядра в Fedora, CentOS или RHEL
Если вы не обновляли ядро вручную, то можете установить соответствующие заголовочные файлы ядра с помощью команды yum.
Сначала проверьте, не установлены ли уже требуемые заголовочные файлы. По умолчанию заголовочные файлы ядра расположены в /usr/src/kernels/.
Если подходящих заголовочных файлов не установлено, вы можете установить их с помощью команды yum. Она автоматически найдет подходящий пакет.
Если заголовочные файлы ядра, установленные с помощью вышеприведенной команды, не соответствуют установленному в системе ядре, значит оно устарело. В этом случае обновите ядро системы до последней версии с помощью приведенной ниже команды. После обновления необходимо перезагрузить систему.
Теперь проверьте, что установлены заголовочные файлы соответствующей версии с помощью команды:
Источник
не ставятся headers (uname -r)
Хай всем. Такая вот проблема на хосте стоит kali linux, поставил vbox при запуске машины выдает ошибку 1908- погуглил это с kernel что то, потом еще погуглил,!Вообщем Не ставяться linux-headers-$(uname -r)
root@kali:
# apt-get install linux-headers-$(uname -r)
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Не удалось найти пакет linux-headers-4.3.0-kali1-686-pae
E: Не удалось найти пакет с помощью glob «linux-headers-
4.3.0-kali1-686-pae»
E: Не удалось найти пакет с помощью regex «linux-headers-4.3.0-kali1-686-pae»
с репами все впорядке Как их установить то. Я так понял что из них у меня проблемы с запуском виртуалки,
ставьте себе нормальную слаку и забудьте о таких проблемах
как мне их установить linux-headers, у меня уже в голове каша
Возможно пакет не так называется.
Сам сейчас без линукса, apt-cache,насколько помню, ищет кандидатов на установку.
https://www.kobzarev.com/linux/apt-get-and-apt-cache.html
apt-cache search linux-headers — cмотри что он тебе выдаст.
Зачем тебе kali?
apt-get install linux-headers-i686 или как-то так.
Источник
Правильная инструкция по установке linux-headers в Debian Stretch. uname -r|sed ‘s/[^-]*-[^-]*-//’ — работает неправильно?
(uname -r|sed ‘s/[^-]*-[^-]*-//’) — что вот это вот делает?
Но почему apt-get устанавливает linux-headers откуда-то отсюда:
Или нужно при установке обязательно указывать часть backports?
apt-get install -t stretch-backports linux-headers-`uname -r`
Я читал это, но не понял что вот это делает: (uname -r|sed ‘s/[^-]*-[^-]*-//’)? uname -r — понятно, но sed.. ‘s/[^-]*-[^-]*-//’)?!
Заменяет последовательность «[не минусы]минус[не минусы]минус» на пустую строку
Кстати, можно было написать uname -r | cut -d- -f3 , но люди почему-то любят использовать sed для всего.
Можно, но пока нет
А как желательно писать при установку пакетов для архитектуры процессора amd64?
apt-get install linux-image-amd64
apt-get install linux-image-$(uname -r|sed ‘s/[^-]*-[^-]*-//’)
Зачем это всё, когда есть мета-пакеты? Поставил мета-пакет и у тебя всегда будет актуальная версия ядра и хедеров после обновления.
для amd64 одинаково, но это-то заклинание именно такое, чтобы не задавать новичку лишний раз вопрос об архитектуре системы, чтобы работало везде.
замудрено больно, мне проще посмотреть что там есть вкусного
и потом полностью указать желаемое
Зачем это всё, когда есть мета-пакеты?
И какой мета-пакет нужен мне?
мне проще посмотреть что там есть вкусного
Ещё есть apt-cache policy
uname -r | cut -d- -f3-
linux-image-amd64 linux-headers-amd64 — если для обоих указать backports, то так и поставятся.
Вместо того, чтобы в гугле на первой странице найти ответ на вопрос, ты лезешь на форум спрашивать. Нет предела тупости.
А ну я уже поставил этот мета-пакет. Осталось только найти 5 пакетов для 390 драйвера. А эта установка мета-пакетов тоже нужна из backpor’ов насколько я понял.
Такой подход не всегда нужен. Иногда надо установить определённую версию, а не последнюю в случае указания мета-пакета.
Так для меня актуально ядро 4.17, а не 4.18, на который указывает мета-пакет.
в таком случае проще поставить нужную версию, чем колупать sed.
Правильная инструкция по установке linux-headers
Источник
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.
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.
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.
Install Kernel Headers in Ubuntu
Next, check if the matching kernel headers have been installed on your system using the following command
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.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
Debian проблема c apt (linux-headers)
Проблема такая:
пробую установить linux-haders:
apt-get update apt-get install linux-headers-$(uname -r)
Он мне пишет:
Далее пытаюсь установить gcc-4.3: apt-get install gcc-4.3
P.S. sources.list — http://pastebin.com/XmnBTS0P Для некоторых пакетов мне требовались пакеты из testing и unstable.
А просто если сделать? 🙂
apt-get install -f
apt-get -f install
Ни чем не помогает
на команду от root apt-get -f install что отвечает?
на команду от root apt-get -f install что отвечает?
покажи содержимое /etc/apt/sources.list
У меня есть смутное сомнение что мне придется переустанавливать/ удалять пакеты:
gcc-4.4-base
gcc-4.7-base
если командую apt-get remove gcc-4.4-base
То он предлагает удалить среду рабочего стола, иксы, и так далее.
apt-get remove gcc-4.7-base
Вообще все предлагает удалить (пакетов на гиг), и даже сам apt.
покажи содержимое /etc/apt/sources.list
В первом посте в самом конце. P.S. смотрите. Там ссылка
Может ядро обнови? В сквизе не 32, емнип.
Может ядро обнови? В сквизе не 32, емнип.
Я систему недавно поставил. И пологаю что ядро новое.
Что такое емнип ?
Если мне не изменяет память
Ядро у тебя нормальное
Было. apt-get —reinstall install gcc-4.<4,7>-base
полный выхлоп покажи
Проблему с gcc-4.7 решил, он не скачивался, так как я в sources.list за коментил wheezy. gcc имеется и работает.
Но основная проблема остается:
ССЗБ. Сперва сделал кашу из стейбла, тестинга и сида, а потом новые ветки закомментировал.
Я если честно не совсем понимаю, разве gcc-4.7 не совместим с gcc-4.3?
То есть по идее то что компилится на gcc-4.3 должно компилится и на gcc-4.7?
Нафига ему вообще 4.3 сдался ?
ССЗБ. Сперва сделал кашу из стейбла, тестинга и сида, а потом новые ветки закомментировал.
Согласен, с вами .
Это все из за моей не опытности. Сначало все было норм, но когда мне понадобилось, установить некоторые программы, которые требовали библиотеки более новых версий, пришлось включать testing и unstable. И с тех пор проблем не оберешься. Установилось несколько версий gcc. Много версий разных библиотек и так далее.
несколько версий gcc я бы собиралв в виртуалке.
несколько версий gcc я бы собиралв в виртуалке.
Да я же не совсем по своей воле.
Видимо что то понадобилось мне установить. Я скачал deb пакет. Кинул его в root/debs, dpkg-scanpackages и так далее.
apt-get install этот пакет -y
У него в зависимостях gcc-4.7 и пошло поехало.
Может дадите советы, как лучше поступать в таких случаях ?
1. Не делай мешанину из релизов, только stable 2. Ставь только из репозитория. 3. Если что — то может загадить систему — отправляешь в виртуалку
Тебе получается надо откатиться/обновиться на какую-нибудь определённую ветку. Current stable | testing. А потом в виртуалке/чруте колбаситься по чёрному с фаршем из всего подряд.
Почитай лучше про бэкпорты и больше так не делай.
GCC 4.3 слишком старый набор. Программы в Debian, скорее всего, собраны GCC 4.4 и более старших версий, поэтому пакет GCC 4.3 сломан намеренно, чтобы не ломать рантайм пользователям.
если командую apt-get remove gcc-4.4-base
То он предлагает удалить среду рабочего стола, иксы, и так далее.
apt-get remove gcc-4.7-base
Вообще все предлагает удалить (пакетов на гиг), и даже сам apt.
Чтобы избавиться от этих двух компиляторов, библиотеки рантайма которых в зависимостях у установленных программ, то нужно установить GCC 4.6.x, библиотеки рантайма которого возьмут на себя все их зависимые программы. А GCC 4.4 и 4.7 после этого уже можно удалять.
Почитай лучше про бэкпорты и больше так не делай.
Интересно, про это не знал, суди по описанию:
Backports создан специально для решения подобных задач, новые пакеты при установке не тянут за собой библиотеки из не стабильного Debian и не создают проблем с зависимостями, софт собран специально под текущую стабильную ветку Debian, это очень удобно не правда ли?
Если это описание верно, то это как раз то что нужно.
Спасибо за совет
Для этого и создан. Естественно, что там есть не всё, но тем не менее.
На десктоп уже смело можно ставить Wheezy.
Тестинг в заморозке хуже анстейбла, так что не стоит.
В каком месте он хуже?
Полгода использую на работе — все нормально.
В таком, что не раз сталкивался с определёнными проблемами. Иногда убирается пакет из репов (потом конечно добавляется, но нужен сейчас, а не потом). Так было с каким-то system-settings (для KDE настройка gtk). Могут быть какие-то заскарузлые баги, которые упорно не правятся. И если в unstable прилетает новый софт, то здесь остаётся бажный софт и приходится ждать, пока мейнтейнеры Debian отрегаируют на багзиллу.
Поэтому я предпочитаю или stable или unstable. Хотя сейчас десктопы на Ubuntu.
ну не обновляйся, если нужный тебе пакет убирается. Опять же, при safe-upgrade такого не случается.
Дык в том и дело, что поставил я Testing. А нужного мне пакета нет на данный момент. Есть в stable, есть в unstable, а в testing нет.
И вообще, «не обновляться» это костыль, не должна нормальная ОС так работать.
Дык в том и дело, что поставил я Testing. А нужного мне пакета нет на данный момент. Есть в stable, есть в unstable, а в testing нет.
если тебе _так_ не повезло — чисти карму 😉
Обновляться можно, не нужно делать full-upgrade, не читая вывод апта.
Я лучше буду юзать или stable или unstable =)
Дык никто и не говорил, что нужно отключать мозг. Всегда надо думать, прежде чем что-то делать, не обязательно обновляться.
Источник