데비안은 왜 Linux 헤더 파일을 두 개의 다른 위치에 설치합니까?

데비안은 왜 Linux 헤더 파일을 두 개의 다른 위치에 설치합니까?

데비안에는 두 개의 헤더 패키지가 있습니다. 하나는 아키텍처에 종속되고 다른 하나는 아키텍처에 독립적입니다. 그들은 헤더를 설치 /usr/src/$LINUX/common하므로 /usr/src/$LINUX/$ARCH두 개의 디렉토리( build 및 source )가 설치됩니다 /lib/modules. 이로 인해 dkms에 많은 문제가 발생할 수 있습니다.

이 작업을 수행하고 일반적인 작업은 수행하지 않는 타당한 이유가 있습니까?

답변1

의견을 말하기에는 너무 길지만 실제로는 답변이 아닙니다.

다음을 게시하면 알 수 없는 문제를 명확히 하는 데 도움이 될 수 있습니다.

inxi -Fxz

이는 설정에 발생할 수 있는 문제를 표시하는 데 도움이 됩니다.

지금 몇 시지:

  1. dkms는 별 것이 아니며 모듈 및 빌드 스크립트 등의 모음입니다. 어떤 모듈이 실패하는지 지정해야 합니다. 이는 dkms 실패가 아니며 현재 데비안 커널에서 잘 작동하는 모듈입니다. 특정 dkms 모듈이 실패한다는 사실은 표준 데비안 패키징이 예상대로 작동하고 작동하는 이유가 아니라 그것이 실패한 이유를 찾아야 함을 의미합니다. Dkms는 실패하지 않습니다. 실패하는 것은 모듈입니다. 거의 100% 확실합니다.

  2. 임의의 모듈을 지원하는 것은 데비안 커널의 일이 아니므로 어떤 모듈이 실패하는지 매우 구체적으로 설명해야 합니다. 모듈과 해당 dkm이 올바르게 코딩되고 커널을 지원하는 한 표준 Debian 방식의 헤더 패키징을 사용하는 dkm에는 일반적인 문제가 없습니다. 제대로 작동합니다.

  3. 어떤 데비안 브랜치를 사용하고 있는지 언급하지 않으셨는데, 이는 중요합니다. 안정적인? 다음 마구간, 일명 "파괴자"는 불안정합니까?

  4. 아키텍처에 해당하는 linux-headers 패키지를 설치한 다음 공개 패키지를 종속성으로 가져옵니다. 공통은 공통을 의미합니다. 즉, 공개 패키지는 가끔 예외를 제외하고는 다양한 아키텍처에서 동일합니다.

예:

apt-cache search linux-headers
...
linux-headers-5.10.0-6-686 - Header files for Linux 5.10.0-6-686
linux-headers-5.10.0-6-686-pae - Header files for Linux 5.10.0-6-686-pae
linux-headers-5.10.0-6-amd64 - Header files for Linux 5.10.0-6-amd64
linux-headers-5.10.0-6-cloud-amd64 - Header files for Linux 5.10.0-6-cloud-amd64
linux-headers-5.10.0-6-common - Common header files for Linux 5.10.0-6
linux-headers-5.10.0-6-common-rt - Common header files for Linux 5.10.0-6-rt
linux-headers-5.10.0-6-rt-686-pae - Header files for Linux 5.10.0-6-rt-686-pae
linux-headers-5.10.0-6-rt-amd64 - Header files for Linux 5.10.0-6-rt-amd64
...

예외적으로 rt 커널에는 자체 공통 파일이 있지만 그렇지 않으면 공통 파일이 공유됩니다. 데비안은 항상 이와 같은 작업을 수행합니다. 이를 좋은 패키징이라고 합니다. 데비안이 좋은 패키징을 제공한다는 사실은 버그나 문제가 아니라 dkms 모듈의 버그나 문제를 드러낼 뿐입니다.

관련 정보