내 로컬 Linux/Ubuntu에는 두 개의 Linux src 디렉터리가 있습니다.
/usr/src/linux-3.16.0
/usr/src/linux-3.16.0-generic
나는 3.16.0-generic보다 3.16.0에 훨씬 더 많은 코드가 있다는 것을 발견했습니다. 이 두 디렉토리가 왜 그리고 어떻게 다른지 알고 싶습니다(무엇을 나타냅니까?)
답변1
이 두 디렉터리는 커널의 헤더 파일이 포함된 해당 패키지에서 제공됩니다. 명령을 사용하여 dpkg
디렉토리를 제공하는 패키지를 찾으십시오.
$ dpkg -S /usr/src/linux*
linux-headers-X.XX.X-XX: /usr/src/linux-headers-X.XX.X-XX
linux-headers-X.XX.X-XX-generic: /usr/src/linux-headers-X.XX.X-XX-generic
...
첫 번째 디렉터리에는 /usr/src/linux-headers-X.X.XX-XX
x86, amd64, powerpc 등을 포함한 여러 아키텍처에 대한 헤더 파일이 포함되어 있어 파일 수가 많고 패키지 크기도 큽니다.
또 다른 디렉터리에는 /usr/src/linux-headers-X.X.XX-XX-generic
주로 로컬 설치를 위한 x86 아키텍처와 관련된 소스 코드가 포함되어 있는 것으로 보입니다.
해당 패키지는 이미 설명에 암시되어 있습니다. 예:
$ apt-cache show linux-headers-3.16.0-25 | grep -A3 Description-en
Description-en: Header files related to Linux kernel version 3.16.0
This package provides kernel header files for version 3.16.0, for sites
that want the latest kernel headers. Please read
/usr/share/doc/linux-lts-utopic-headers-3.16.0-25/debian.README.gz for details
내가 아는 한, 이 두 디렉토리에는 바이너리가 아닌 소스 코드만 포함되어 있습니다. 둘 사이의 주요 차이점은 다음과 같습니다.대상 아키텍처소스 코드.
관련된:커널 소스 트리에는 무엇이 포함되어 있나요? 이것은 Linux 커널 헤더 파일과 관련이 있습니까?
자세한 답변 (2015.07.30)
관련 코드가 저장되어 있는데,
x86
두 디렉토리에 있는 코드의 차이점은 무엇인가요?x86
— Richard가 2015년 7월 29일 19:11에
/usr/src/linux-headers-X.X.XX-XX-generic
에 포함된 대부분 의 디렉토리와 파일 은 /usr/src/linux-headers-X.X.XX-XX
.arch/x86
asm
*-generic
config
이 두 패키지 사이에서 알 수 있는 또 다른 주요 차이점은 generated
서신과 디렉토리가 있다는 것 입니다 *-generic
.
*-generic
제가 이해한 바에 따르면 이 디렉토리에는 아키텍처 종속 모듈을 구성하고 컴파일하는 데 필요한 헤더 파일이 포함되어 있다고 생각됩니다 x86
.아니요예기치 않게 변경되었습니다 linux-headers-x.x.xx-xx
.
가장 중요한 점은 이 두 디렉터리가 해당 플랫폼에서 패키지를 패키징하고 컴파일하는 "깨끗한" 방법일 수 있다는 것입니다. 하지만 나는 이 문제를 명확히 할 자격이 없습니다.
응답자의 메모: 나는 이 답변을 순진하게 썼습니다. 무엇이 옳고 그른지 확실하지 않으며 아마도 중간에 몇 가지 설명이 누락되었을 수 있습니다. 따라서 이 답변은 이제 커뮤니티 위키이므로 최소한의 평판을 가진 사람이라면 누구나 이 문서를 개선하여 차이점을 완전히 설명할 수 있습니다.