извиняюсь за вопрос нуба, но когда я пытаюсь
sudo apt-get install Linux-kernel-devel
Я получаю следующее:
sudo apt-get install linux-kernel-devel
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-kernel-devel
Я пробовал следующее:
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install build-essentials
sudo apt-get install Linux-headers-generic
без радости ... есть предложения?
installation
kernel
package-management
paschwan
источник
источник
Ответы:
Управляющее резюме
Вы, вероятно, хотите установить пакет под названием
linux-headers-generic
.Если ход
uname -r
дает вам что - то другое , чемgeneric
после того , как номер версии, заменить , что дляgeneric
вlinux-headers-generic
. (Это может бытьserver
илиgeneric-pae
в некоторых установках некоторых выпусков Ubuntu, и есть несколько других случайных «ядер».)Поскольку вам, скорее всего, это нужно для того, чтобы вы могли создать драйвер (который может быть автоматизирован, вам не нужно «собирать его самостоятельно»), рекомендуется также установить
build-essential
его, чтобы у вас были все необходимые инструменты. ,Полное объяснение
Насколько мне известно, ни у одной операционной системы нет пакета под названием
Linux-kernel-devel
. Это по двум причинам:Связанные с ядром пакеты в системах, использующих Red Hat Package Manager (
rpm
) и связанные утилиты , часто встречаютсяkernel
в названии своих пакетов. Например, у Mageia есть несколько пакетов , имена которых начинаются сkernel
и заканчиваются наdevel
. Эти пакеты почти всегда (в Mageia и любой операционной системе, в которой они есть) предоставляют файлы заголовков, необходимые для сборки драйверов из исходного кода для использования с ядром. Они также могут предоставить соответствующие утилиты для облегчения. Эти пакеты:В Ubuntu, как видно из приведенного здесь списка , пакеты с заголовками ядра имеют имена, начинающиеся с
linux-headers
. Обычно правильный пакет для установкиlinux-headers-generic
. Однако, чтобы быть уверенным в том, какой пакет установить для получения заголовков, соответствующих вашему текущему ядру, выполните:Вы получите вывод, который выглядит примерно так:
Таким образом, у вас будет номер версии (который будет включать
.
символы и, как правило, по крайней мере, один-
), за которым следует буква a-
, за которой следуют одно или несколько слов, указывающих, какое ядро вы используете.Если вы просто хотите , чтобы заголовки для конкретной версии вам случится быть запущен в настоящее время, вы можете установить пакет, имя которого ,
linux-headers-*
где*
заменяется полным выходомuname -r
. Например, в моей системе я мог запустить:Я мог бы даже автоматизировать это:
Эти подходы эквивалентны, но, как правило, не лучший путь.
Вместо этого вы обычно захотите установить метапакет, который всегда предоставляет новейшие заголовки ядра в качестве обновления (постоянно в зависимости от того, какой пакет заголовков является самым новым). Это аналогично тому, как ваше скомпилированное работающее ядро устанавливается и обновляется. Для этого посмотрите только часть
uname -r
вывода после номера версии. То есть, еслиuname -r
дает вам3.5.0-36-generic
, возьмите толькоgeneric
участие.Затем установите пакет с именем ,
linux-headers-*
где*
заменяются той частью. Таким образом, в моей системе это было бы так,linux-headers-generic
и один из способов, которым я мог бы установить это, было бы запустить:Для большинства людей это
linux-headers-generic
, но в зависимости от того, что Ubuntu релиза вы работаете, какая архитектура и типа устройства вы используете его, и как он установлен и настроен, другие возможности включают в себяgeneric-pae
,highbank
,omap
,server
, иvirtual
.Связанные пакеты
Заголовочные файлы облегчают разработку и компиляцию / сборку программного обеспечения, которое использует средства, предоставляемые программным обеспечением, чьи заголовочные файлы используются. Наиболее распространенная причина, по которой вам могут понадобиться заголовки ядра, - это то, что вы собираетесь собрать драйвер (модуль ядра) из исходного кода. Некоторым приложениям, таким как VMware и VirtualBox, иногда требуется это, и они сами автоматизируют сборку.
Помимо заголовочных файлов, для сборки программного обеспечения необходим компилятор и другие инструменты. Чтобы максимизировать вероятность того, что у вас есть необходимые инструменты, рекомендуется установить
build-essential
пакет.Никому не нужен настоящий полный исходный код ядра (если, конечно, вы не планируете собирать ядро из исходного кода). Но если вам это нужно, вам придется установить и другой пакет. В Ubuntu пакет для полного исходного кода ядра называется
linux-source
. (Это соответствует соглашению Debian / Ubuntu о присвоении имен пакетам, которые предоставляют существенные части ядра Linux,linux
а неkernel
.)Если у вас все еще есть проблемы
Если вы попытаетесь установить какой-либо из этих пакетов, но у вас возникнут проблемы, и вам понадобится помощь, вам придется включить полный и точный текст из Терминала, включая строки, в которых вы вводили команды. Лучший способ обеспечить это - отредактировать ваш вопрос, но если он слишком длинный, вы можете вставить его где-нибудь, например, http://paste.ubuntu.com и предоставить нам URL-адрес, по которому мы сможем получить к нему доступ.
Если вы прокомментируете этот вопрос, я буду уведомлен. Вы можете отредактировать свой вопрос, а также прокомментировать здесь, чтобы привлечь внимание к информации, которую вы указали в своем вопросе. (Важную информацию лучше хранить в вопросах и ответах.) Удачи!
источник
Как говорится в отчете (E: Невозможно найти пакет linux-kernel-devel) Подобных пакетов не существует. Вы можете установить любую нужную версию ядра, загрузив пакеты ядра Debian отсюда
Например; мы хотим установить ядро 3.9.8 (архитектура i386); Загрузите все ** пакеты i386.deb, а также пакет * * * all.deb в папку. Войдите в папку с помощью команды cd в терминале;
Это установит желаемую версию ядра. Вы можете проанализировать версии основной и долгосрочной версий ядра на этом сайте.
источник
Вы должны будете сами определить, какой конкретный deb вам нужен, но в сборках ядра Ubunut вам понадобятся дабы .
Честно говоря, я сначала сверился с этим,
sudo apt-get update
а затемsudo apt-get dist-upgrade
удостоверился, что у вас запущено последнее ядро, и в скором времени мне не нужно будет делать это снова.Затем просмотрите список сборки ядра для вашей версии, которая соответствует вашей
uname -r
. Вам нужно посмотреть в каждой сборке build.log, чтобы узнать, какую версию заголовка они сопоставляют с этой сборкой. У меня 3.5.0-34 # 55 в списке моего ядра, но это действительно соответствует 3.5.7.14-квантуля . Установите все библиотеки, соответствующие этой версии, чтобы получить ваши заголовки и тому подобное, и убедитесь, что у вас есть инструменты сборки сsudo apt-get install build-essential
Ваш пробег может сильно зависеть от того, что вы планируете делать с файлами devel.
источник
linux-kernel-devel - это имя пакета SUSE / Redhat, предоставляющего такие вещи, как genksyms.
Очень быстрый Google предполагает, что linux-headers-generic предоставляет genksyms в Debian / Ubuntu.
источник