나는 이전에 커널 패치를 해본 적이 없으며 최근에야 그것이 어떻게 수행되는지 조사하기 시작했습니다. 패치 파일 이름에서 커널 버전(예: dm-raid45-2.6.25-rc2_20080221.patch.bz2)을 알려줍니다. 그래서 커널 2.6.25에서는 반드시 이 패치를 적용해야 한다는 것을 알고 있습니다. 하지만 확실하게 알고 싶습니다. 언급된 것보다 최신 커널(예: 2.6.26)이 있다면 패치가 2.6.26 커널 버전으로 이동되었으며 적용할 필요가 없다는 의미입니까? 전혀요?
설명해 주셔서 감사합니다!
답변1
첫째, 커널이 최신이 아니라는 이유만으로 커널을 패치할 필요는 없습니다. 일반적으로 패치 적용을 위해 배포 관리자에게 의존하게 됩니다. 일반적이지 않은 하드웨어가 있는 경우 패치가 필요할 수 있지만 대부분의 경우 커널과 별도로 제공되는 다르거나 최신 커널 모듈이 필요합니다. 현재 터치패드에 Ubuntu 커널에 문제가 있지만 커널을 패치하는 대신 문제를 해결하기 위해 다른 사람이 만든 패키지를 설치했습니다. 커널을 패치하는 가장 일반적인 이유 중 일부는 새로운 기능을 테스트하거나 장치 드라이버보다 더 핵심적인 것을 업데이트하기 위한 것입니다.
커널 패치가 필요하거나 단순히 패치를 원한다고 가정하면 대부분의 패치는 kernel.org에서 다운로드할 수 있으므로 기본 커널용이라는 점에 유의하세요. 대부분의 Linux 배포판은 이미 기본 커널에 대해 선택한 만큼 많은 패치를 적용하고 있으며, 이로 인해 패치가 적용되지 않을 수 있습니다. 커널 패치 방법을 배우고 싶다면 먼저 기본 커널 빌드를 연습하고 패치하기 전에 해당 커널에서 한 번 부팅해 보시기 바랍니다.
마지막 질문에 답하려면 상황에 따라 다릅니다. 패치가 무엇인지 정확히 모르고 2.6.26에 대한 변경 로그를 살펴보지 않으면 해당 패치가 커널의 최신 버전에 있는지 알 수 없습니다. 많은 사람들이 다양한 이유로 커널용 패치를 제공합니다. 패치는 버그 수정일 수도 있고 기능 향상일 수도 있습니다. 때로는 디스크 I/O 처리량을 향상시키기 위한 실험이거나 다른 실험이기도 합니다. 의도적으로 또는 의도하지 않게 다음 커널 버전과 통합될 수 있습니다. 패치는 버그를 수정하기 위한 것이 아니며, 사소한 버그를 수정하려고 시도했지만 취약점을 생성하여 통합 전에 거부될 수 있습니다.