행정상 개요
라는 패키지를 설치하고 싶을 것입니다 linux-headers-generic
.
실행이 경우 uname -r
당신이 아닌 다른 제공 generic
의 버전 번호 후, 대체 그 generic
에서 linux-headers-generic
. (때문일 수 있습니다 server
또는 generic-pae
일부 우분투 버전의 일부 설치에, 그리고 몇 가지 다른 가끔 커널이있다 "맛.")
드라이버를 빌드하려면 (자동화 될 수도 있고, "직접 빌드하지 않을 수도 있습니다")이 기능이 필요할 가능성이 높 build-essential
으므로 반드시 필요한 도구를 모두 갖도록 설치하는 것이 좋습니다. .
전체 설명
내가 아는 한, 운영 체제에는 패키지라는 패키지가 없습니다 Linux-kernel-devel
. 이것은 두 가지 이유 때문입니다.
- 대문자로 시작하는 패키지 이름은 모든 유닉스 계열 OS에서 매우 드 rare니다.
- GNU / Linux 운영 체제는 일반적으로 커널 관련 패키지의 이름을 지정하여 이름에 단어 kernel 또는 단어 linux 가 포함되지만 둘 다 포함되지는 않습니다. (우분투에서는 linux 라는 단어 입니다.)
Red Hat Package Manager ( rpm
) 및 관련 유틸리티를 사용하는 시스템의 커널 관련 패키지는 패키지 이름으로 사용하는 것이 일반적입니다 kernel
. 예를 들어 Mageia에는 이름이로 시작 하고 끝나는 여러 패키지 가 있습니다 . 이 패키지는 거의 항상 (Mageia 및 패키지가있는 모든 OS 에서) 커널과 함께 사용할 소스에서 드라이버를 빌드하는 데 필요한 헤더 파일을 제공합니다 . 또한 촉진을 위해 관련 유틸리티를 제공 할 수도 있습니다. 이 패키지들 :kernel
devel
- 커널의 전체 소스 코드를 제공 하지 마십시오 . 그것은 다른 패키지에서 제공됩니다.
- 사전 컴파일되고 사용 가능한 커널을 제공 하지 마십시오 . 그것은 다른 패키지에서 제공됩니다.
- 컴파일러 또는 대부분의 다른 목적 빌드 도구를 제공 하지 마십시오 . 이것들도 다른 패키지에서 제공됩니다.
우분투에서 여기 목록에서 알 수 있듯이 커널 헤더를 제공하는 패키지 이름은로 시작합니다 linux-headers
. 일반적으로 설치할 올바른 패키지는 linux-headers-generic
입니다. 그러나 현재 실행중인 커널에 해당하는 헤더를 얻기 위해 설치할 패키지를 확인하려면 다음을 실행하십시오.
uname -r
다음과 같은 출력이 나타납니다.
3.5.0-36-generic
즉, 버전 번호 ( .
문자 및 일반적으로 하나 이상 포함 -
), 뒤에 -
, 뒤에있는 커널 종류를 나타내는 하나 이상의 단어가 있습니다.
지금 실행중인 특정 버전의 헤더 만 원하는 경우 이름이 linux-headers-*
있는 패키지를 *
전체 출력으로 대체 할 수 uname -r
있습니다. 예를 들어, 내 시스템에서 다음을 실행할 수 있습니다.
sudo apt-get update && sudo apt-get install linux-headers-3.5.0-36-generic
나는 그것을 자동화 할 수도 있습니다.
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
이러한 접근 방식은 동일하지만 일반적으로 가장 좋은 방법은 아닙니다.
대신, 항상 최신 커널 헤더를 항상 업데이트로 제공 하는 메타 패키지 를 설치하려고 합니다 (최신 헤더 패키지에 따라 영구적으로). 이것은 컴파일되고 실행중인 커널이 설치되고 업데이트되는 방식과 유사합니다. 이를 위해서는 버전 번호 다음uname -r
의 출력 부분을 살펴보십시오 . 즉, 만약 당신에게 제공한다면 , 그 일부만 취하십시오 .uname -r
3.5.0-36-generic
generic
그런 다음 linux-headers-*
where *
로 교체 된 패키지 를 해당 부분으로 설치하십시오 . 따라서 내 시스템에서 linux-headers-generic
설치하고 실행할 수있는 한 가지 방법 은 다음 과 같습니다.
sudo apt-get update && sudo apt-get install linux-headers-generic
대부분의 사람들이있다 linux-headers-generic
, 그러나 설치 및 구성 방법 우분투 당신이 그것을 실행중인 장치의 어떤 구조와 유형, 실행중인 제품을 출시하고, 내용에 따라 다른 가능성을 포함 generic-pae
, highbank
, omap
, server
,와 virtual
.
관련 패키지
헤더 파일 은 헤더 파일이 사용되는 소프트웨어에서 제공하는 기능을 사용하는 소프트웨어 개발 및 컴파일 / 빌드를 용이하게합니다. 커널 헤더가 필요할 수있는 가장 일반적인 이유는 소스 코드에서 드라이버 (커널 모듈)를 빌드하려는 경우입니다. VMware 및 VirtualBox와 같은 일부 애플리케이션은 때때로이를 필요로하며 빌드 자체를 자동화합니다.
헤더 파일 외에도 소프트웨어를 빌드하려면 컴파일러 및 기타 도구가 필요합니다. 필요한 도구가있을 가능성을 최대화하려면 build-essential
패키지도 설치하는 것이 좋습니다 .
실제 전체 커널 소스 코드가 필요한 사람은 드물다 (물론 소스에서 커널을 만들 계획이 아니라면). 그러나 필요한 경우 다른 패키지도 설치해야합니다. 우분투에서는 전체 커널 소스 코드를위한 패키지가 호출 linux-source
됩니다. (이것은 리눅스 커널의 실질적인 부품 제공하는 패키지 이름의 데비안 / 우분투 규칙과 유지에 linux
보다는를 kernel
.)
여전히 문제가있는 경우
이러한 패키지를 설치하려고하는데 문제가 발생하지만 도움이 필요한 경우 명령을 입력 한 행을 포함하여 터미널의 완전하고 정확한 텍스트를 포함해야합니다. 이를 제공하는 가장 좋은 방법은 질문을 편집하는 것입니다. 그러나 질문이 너무 길면 http://paste.ubuntu.com 과 같은 곳에 붙여넣고 액세스 할 수있는 URL을 제공 할 수 있습니다.
이 질문에 대해 의견이 있으시면 알려 드리겠습니다. 질문을 편집하고 여기에 의견을 달면 질문에 제공 한 정보에주의를 환기시킬 수 있습니다. (중요한 정보는 질문과 답변으로 유지하는 것이 가장 좋습니다.) 행운을 빌어 요!