내 컴퓨터에서 특정 커널 소스 코드를 찾는 방법

내 컴퓨터에서 특정 커널 소스 코드를 찾는 방법

signal.c내가 가지고 있는 것과 가지고 있는 것 사이의 차이점(있는 경우)을 연구하기 위해 내 컴퓨터에서 커널의 소스 코드를 찾고 싶습니다.이것소스 코드. 나는 따라가려고 노력한다이것제안은 하되 너무 멀리 가지 마세요.

좀 더 구체적인 지시가 필요할 것 같아요. 저는 ubuntu 14.04, x86_64, linux-source-3.13.0을 사용하고 있습니다(마지막 것이 출력입니다 apt-cache search linux-source).

답변1

지침을 따랐다면 다음과 같은 커널 소스 패키지가 설치되었습니다.linux-source-3.13.0, 예를 들어 다음을 통해

sudo apt-get install linux-source-3.13.0

또는

sudo apt-get install linux-source

그것은 설치한다가상 패키지그게 설치되어 있어요버전이 매겨진종속성으로 패키지합니다.

이 작업을 수행한 후에는 찾고 있는 파일을 찾을 수 있습니다(패키지 이름 사용).

dpkg -L linux-source-3.13.0 |grep -F signal.c

해당 패키지에 있는 "signal.c"라는 파일의 경로 이름을 가져옵니다.

패키지가 실제로 소스 코드의 타르볼인 경우, 예를 들어 를 사용하여 파일을 추출해야 합니다 tar. 이 경우 dpkg -L linux-source타르볼만 나열됩니다(그리고 grep은 아무것도 반환하지 않습니다).

타르볼의 경우 다음과 같이 할 수 있습니다:

tar tvf $(dpkg -L linux-source-3.13.0) |grep -F signal.c

파일이 하나만 포함된 경우. 하지만 당신에게 다음과 같은 것이 있다고 가정 해 봅시다.

/usr
/usr/src
/usr/src/linux-patch-3.13-rt.patch.bz2
/usr/src/linux-source-3.13.tar.bz2
/usr/share
/usr/share/doc
/usr/share/doc/linux-source-3.13
/usr/share/doc/linux-source-3.13/copyright
/usr/share/doc/linux-source-3.13/changelog.Debian.gz
/usr/share/doc/linux-source-3.13/README.Debian

그러면 찾고 있는 파일이 "tar.bz2" 파일에 있을 것이므로...

tar tvf $(dpkg -L linux-source-3.13.0|grep -F .tar.bz2) |grep -F signal.c

tarball에 "signal.c"의 경로 이름이 표시됩니다.

추가 자료:

관련 정보