
Linux 커널 3.11.1을 실행하는 PC에 SSH를 통해 연결했습니다.
root@alix:~# uname -r
3.11.1
특정 파일이나 커널 버전이 각각 어떤 패키지에 설치되었는지 어떻게 알 수 있나요?
나는 노력했다
root@alix:/boot# dpkg -S vmlinuz-3.11.1
dpkg-query: no path found matching pattern *vmlinuz-3.11.1*
설치된 다른 커널 버전은 다음 명령을 사용하여 찾을 수 있습니다.dpkg-S:
root@alix:/boot# dpkg -S vmlinuz-3.2.23
linux-image-3.2.23-ath5kmod: /boot/vmlinuz-3.2.23-ath5kmod
내 목적: 버전 3.11.1의 해당 Linux 헤더 파일을 설치하여 이에 대한 커널 모듈을 컴파일하고 싶습니다.apt-cache는 리눅스 헤더를 검색합니다15개의 서로 다른 헤더 버전이 나열되어 있지만 3.11.1에는 헤더 버전이 나열되어 있지 않습니다.
매우 감사합니다.
답변1
설치된 모든 패키지를 나열하고 커널 패키지를 사용하여 dpkg -l
결과를 필터링할 수 있습니다.grep
dpkg -l | grep 'linux-image'
dpkg -l | grep 'linux-image' | grep '3.11'
실행 중인 커널에 대한 커널 헤더 패키지를 찾으려면:
apt-cache search linux-headers-`uname -r`
답변2
나의 초기 문제는 현재 설치된 Linux 커널(3.11.1)에 적합한 커널 헤더가 없다는 것이었습니다.
마지막으로 저는 이 문제를 네 단계로 해결했습니다.
- 다음을 통해 설치된 커널을 제거했습니다.적절한.
제거된 사용자 정의 커널:
- /boot/vmlinuz*커널 버전*
- /boot/initrd*커널 버전*
- /boot/system 맵*커널 버전*
- /시작/구성-커널 버전
- /lib/모듈/커널 버전/
- 바라보다여기상세 설명.
설치된 커널그리고패키지 관리자가 기본적으로 전송하는 해당 헤더적절한(버전 3.2.0-4-486).
- 그럽을 업데이트하여그럽 업데이트.
이제 필요한 Linux 커널 모듈을 컴파일하고 사용할 수 있습니다. 나에게 올바른 방향을 알려준 Crick에게 감사드립니다. :)
답변3
답변4
apt-get install linux-headers
설치된 모든 커널에 대한 헤더를 제공해야 합니다.