리눅스 커널 패치의 목적은 무엇입니까?


21

각 Linux 커널 버전마다 다운로드 할 수있는 패치 파일이 있습니다. 예를 들어, linux-3.12.22 에는 해당 패치 -3.12.22가 있습니다.

그 패치의 목적은 무엇입니까? 해당 커널을 컴파일하기 전에 항상 패치하거나 패치가 일치하는 커널 (이 경우 3.12.22)로 이전 커널 버전을 최신 상태로 유지하려면?

답변:


31

목적은 많은 트래픽을 절약하는 것입니다.

리눅스 타르볼은 약 75MB 인 반면 패치는 보통 몇 KB 정도입니다.

따라서 자신의 커널을 컴파일하고 각 마이너 업데이트에 대해 새로운 75MB 타르볼을 다시 다운로드하는 대신 릴리스 된 날마다 새로운 마이너 버전으로 업데이트하는 경우 주어진 버전의 메인 타르볼을 한 번 다운로드 한 다음 실제로 원하는 버전의 패치. 업데이트가 있으면 이미 다운로드 한 기본 타르볼을 재사용하십시오.

linux-3.14.tar.xz+ patch-3.14.{1..n}.xz는 총 100MB 미만입니다.

linux-3.14.tar.xz+ linux-3.14.{1..n}.tar.xz는 몇 배 100MB입니다.

패치에는 단점이 없으며, 잘못한 것이 없으면 최종 결과는 동일합니다.


9
서면으로, 이것은 질문에 대한 답이 아닙니다. 명백하게, 패치 의 목적 은 패치를 소스의 버전 n-1에 적용하면 버전 n으로 "업그레이드"하는 것입니다. 장점은 대답은 설명대로, 트래픽을 많이 절약 할 수 있다는 것입니다.
— David Richerby 2016 년

1
저는 원어민이 아닙니다. 그러나 어쨌든 이점은 나에게 너무 약하게 들립니다. 대역폭 / 트래픽 저장은 모든 서버에 중요합니다. 목적이 있습니다.
— frostschutz

명시 적으로 대답하지 않은 부분은 "해당 커널을 컴파일하기 전에 항상 패치하거나 패치가 일치하는 커널 (이 경우 3.12.22)로 이전 커널 버전을 최신 상태로 유지하는 것입니까? " patch-3.12.22는 버전 3.12.21에서 .22로 업그레이드되며, 컴파일하기 전에 3.12.22 소스에 적용되지 않습니다.
— David Richerby

패치는 보통 .0예를 들어 VERSION = 3 PATCHLEVEL = 12 -SUBLEVEL = 0 +SUBLEVEL = 22. 20 개의 패치를 통과하는 것은 성가신 일입니다 ...
— frostschutz 2016 년

예를 들어 리포지토리의 git clone을 사용하고 git pull새 버전이 출시 될 때 수행하는 것보다 이러한 트래픽 절약 체계가 어떻게 더 좋을까요?
— Ruslan

5

이것을 "패치 세트"라고합니다. 패치 세트는 동일한 기능을 제공하거나 관련되거나 단계적으로 기능을 구현하는 패치 그룹입니다. 특히 커널의 주요 개정판 (XY)과 후속 제안 / 유지 보수 개정판 (XY Z ) 의 차이점은 다음 과 같습니다.

  • 서버의 공간을 절약하십시오.
  • 대역폭을 절약하십시오.
  • 쉽게 적용 및 배포 가능

이러한 패치 세트는 증분입니다. 먼저 패치 .1을 패치 .2 이전에 적용한 후 .3을 적용 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.