나는 최근에 Debian Squeeze 설치를 망쳤습니다. (자세히 알아보려면 클릭하세요.). 오디오를 수정했는데 배터리 상태 표시등과 터치패드가 작동하지 않습니다. 이 문제를 해결하려고 시도하는 동안 시스템의 커널 버전이 빌드 OS 버전과 다르다는 것을 발견했습니다. 이것이 출력이다Xorg :1 -configure
root@debian-box:/boot# Xorg :1 -configure X.Org X 서버 1.7.7 출시일: 2010-05-04 X 프로토콜 버전 11, 개정판 0 빌드 OS: Linux 2.6.32.29-dsa-ia32 i686 Debian 현재 운영 체제: Linux debian-box 2.6.32-5-686 #1 SMP Tue Mar 8 21:36:00 UTC 2011 i686 커널 명령줄: BOOT_IMAGE=/boot/vmlinuz-2.6.32-5-686 root=UUID=df9afc0c-27af-42b2-95d7-a7944f3bac70 ro Quiet 빌드 날짜: 2011년 2월 19일 오후 2시 37분 36초 xorg-server 2:1.7.7-13 (Cyril Brulebois) ...
답변1
아니요, X(또는 대부분의 프로그램)를 실행하는 동일한 OS에서 빌드할 이유가 전혀 없습니다. 다양한 프로세서 아키텍처(amd64/arm/ppc/x86/...)용 소프트웨어를 구축하는 것은 종종 더 어렵고 때로는 불가능합니다. 다양한 운영 체제용으로 빌드하는 것이 더 쉽고 정확한 커널 버전은 전혀 관련이 없습니다(커널 모듈을 빌드하지 않는 한).
(그러면 이 정보가 왜 포함되어 있는지 궁금하실텐데요... 저도 궁금합니다. 가능한 릴리스와 버전 표시, 개발 패키지 정보를 표시하여 빌드에 사용되는 컴파일러 버전에 대한 정보를 제공하는 우회적인 방법이 아닌가 싶습니다.)
답변2
"빌드 OS 버전"은 X.Org 서버가 컴파일된 운영 체제를 나타내고 "현재 OS 버전"은 특정 컴퓨터를 나타냅니다.
이렇게 하면:
uname -a
출력은 "현재 운영 체제:"와 일치해야 합니다.
답변3
이 정보는 "사용자"의 근본 원인 문제를 돕는 것보다 개발자를 위한 것입니다. 역사적으로 X "사용자"는 자신의 버그를 만들고 수정할 수 있었으며 대부분의 코드/인터페이스/문서에서는 이 사용자를 가정했습니다(X11 프로토콜은 1987년에 출시되었습니다!).
특히 바이너리를 만들 때 유용성이 떨어집니다.
답변4
커널이 처리하는 시스템 호출이 (너무 많이) 변경되지 않는 한, 소프트웨어가 구축되는 커널은 대체로 관련이 없습니다. 그러나 X는 커널과 밀접하게 연결되어 있으므로 Linux에서는 관련이 있을 수 있는 "일반" 사용자 공간 프로그램보다 커널과 더 밀접하게 관련되어 있습니다. 나 같은 사람(그래픽 스택에 감사하는 사용자)에게는 이것은 사소한 일이지만 디버깅하는 사람에게는 매우 흥미로울 수 있습니다.