내 컴퓨터에 Linux 3.14.0 kernel(CentOS 6.2)
실행 중인 프로그램이 있지만 소스 코드가 없습니다 /usr/src/
.
어디서 컴파일되었는지 알 수 있는 방법이 있나요?
소스 코드는 컴퓨터 어딘가에 있어야 하며 동료 중 한 명이 컴파일한 것입니다. 또한 이는 인터넷에 연결되지 않은 연구실 컴퓨터이므로 소스 코드를 수동으로 복사하고 설치해야 합니다.
현재 커널 이미지를 기반으로 대상을 지정하면 됩니다.
답변1
/lib/modules/$(uname -r)/source
커널 소스 트리에 대한 심볼릭 링크여야 합니다(합리적인 방식으로 설치된 경우).
게다가
find / -type d -name "linux-3.14.0"
3.14.0 Linux 커널의 배포 디렉토리를 찾습니다. 이것은 tarball의 압축을 풀 때 얻을 수 있는 디렉토리입니다. 실패하면,
find / -type d -name "linux-*"
find / -type f -name "Kbuild"
너무 많은 오탐지를 제공해서는 안됩니다.
컴파일해야 하는 경우 소스 코드를 기계로 전송하고 임베디드 .config
( CONFIG_IKCONFIG
옵션)를 사용하여 컴파일한다면 처음부터 시작할 수 있습니다. /proc/config.gz
커널이 지원하는 경우 - 옵션 참조 CONFIG_IKCONFIG_PROC
) 에서 추출 하거나 scripts/extract-ikconfig
커널 소스 디렉토리의 스크립트를 사용하여 추출할 수 있습니다.
그 외에는 동료에게 물어보는 것이 전혀 불가능한 일인가요?