У меня есть архив с исходным кодом: ap-kernelmodule-1.0.14-13.tar.gz
Я должен скомпилировать из него модуль ядра и получил указание установить инструменты разработки для моей версии Ubuntu (12.10). Формат: sudo apt-get install linux-headers-$(uname -r) build-essential
Вопрос № 1: что такое uname
?
(Когда я устанавливал Ubuntu, я вводил в качестве имени мое имя Шарон, а также имя моей учетной записи. Я открываю окно терминала, появляются слова sharon@sharon:
) В зависимости от формата я должен ввести:
sudo apt-get install linux-headers-$(sharon -r) build-essential
или
sudo apt-get install linux-headers-$sharon -r build-essential
Вопрос № 2: Что из перечисленного выше правильно?
(я новичок в Linux и Ubuntu; следовательно, подробные инструкции приветствуются)
Не копируйте мои команды, вы должны ввести их и использовать клавишу табуляции, потому что мое ядро может отличаться от вашего. Я объясняю игру игрой:
Откройте терминал и введите:
sudo apt-get update
Это обновление дает вашему компьютеру информацию о файлах, которые вам могут понадобиться. Но нет файлов для загрузки, только информация о том, что можно скачать. Если вы не сделали этого первыми, у вас может не быть последней ссылки на обновления безопасности или последние версии программного обеспечения.
Во время ввода нажмите клавишу на вкладке , чтобы завершить команду. Начните вводить команду, которая установит build-essential
. Как только вы доберетесь до этого места:
sudo apt-get install linux-headers-
Следующей частью, которая должна появиться, будет ваше ядро Linux. Итак, откройте другой терминал и введите:
uname -r
Вы должны увидеть что-то вроде этого:
3.2.0-23-generic
Теперь вернитесь к другому терминалу и нажмите Tab как тип. Вы должны увидеть всплывающее ядро. Выберите это.
sudo apt-get install linux-headers-3.2.0-23-generic
Теперь введите пробел и добавьте build-essential (не забудьте использовать вкладку для завершения).
sudo apt-get install linux-headers-3.2.0-23-generic build-essential
Теперь нажмите Enter, и файлы будут загружены, чтобы помочь вам скомпилировать код.
uname
- это команда, которую необходимо вводить в командной строке. Поэтому, если вы откроете терминал и наберете uname
, он выведет слово Linux
. В упомянутой вами команде вы найдете -r
. Это вариант uname
. Он дает команду uname
напечатать номер выпуска ядра. Таким образом, он в основном распечатает некоторые числа (например, 3.2.0-41-amd64).
Вы должны ввести команду
sudo apt-get install linux-headers-$(uname -r) build-essential
, как написано. $(something)
говорит вашей командной строке (лучше слово будет shell) выполнить команду something
и вставить вывод этой команды.
Таким образом, в вашем uname
случае (при условии, что написанное мной число верно, что может быть не в вашем случае) выполняемая команда имеет вид sudo apt-get install linux-headers-3.2.0-41-amd64 build-essential
. По сути, вы можете просто найти версию своего ядра и вставить ее вручную.
Как вы видите, ни одна из ваших версий не верна. Решение выглядит немного иначе.