linux-stable 업데이트 내용 확인법

Cute_Security15·2023년 10월 28일
0

커널

목록 보기
4/10

상황

linux stable v6.5.9 가 Wed, 25 Oct 2023 12:23:58 +0200 에 release 되었다.

  • 한국시간(UTC+09:00) 기준 2023-10-25 19:23, 4일 전

241개 patch 가 2일간의 리뷰텀을 거쳐서 release 되었는데,
mail archive 에선 코드 수정내용을 확인하는게 불가하다.

  • 원하는 버전을 검색해 release 날짜를 확인할 수 있으나,
  • linux-stable.git 자체에선 수정사항을 확인할수 있는 별도 메뉴를 제공하진 않는다.

목적

linux-stable git clone 없이, linux stable v6.5.8 --> v6.5.9 업데이트 내용을 볼수 있는,
편한 방법을 확인한다.

새로 알게된 내용

기본적인 linux release 주기와, rolling-stable / LTS 의 차이점을 확인

linux release 주기

https://www.kernel.org/category/releases.html

  • linux mainline 은 merge window 2주 + bugfix 7주(rc1~rc7) 로 대략 9주 에 1개씩
    release 되는 구조이다.
  • release 된 mainline 코드는, 지정된 maintainer 들에 의해 linux stable 로 backport 된다.
  • distribution 커널 (ubuntu, rocky, amazon, azure, ...) 들은 stable 커널을 사용해,
    자신들만의 커널을 만들고 별도의 release cycle 을 거쳐 배포한다.

rolling-stable 커널

https://lwn.net/Articles/871989/

  • 하지만 유저 관점에서 볼때, 이 linux release 방식은 문제가 있다.
  • 9주마다 mainline release 에 맞춰 stable branch 와 LTS branch 가 매번 생길텐데,
    즉, update 때마다 "새 branch 의 random 버전 커널" 을 사용하게 된다는 문제가 있다.
  • 따라서 stable maintainer 들은 "rolling-stable" 이라는 걸 제공하고 있다.
  • rolling-stable 은 patch cherry-pick (backport) 를 하지 않고, git merge 트릭을
    사용해 "단일 branch" 를 유지하면서, SHA1 해시정보와 commiter 정보를 유지하고 있다.
  • 따라서 git bisect 를 통한 문제 update 파악이 용이하고, 유저가 어떤 버전의 커널이
    안정적인지 고민할 수고를 덜어준다. (rolling-stable 커널을 쓰면 OK)

유저에겐 rolling-stable 커널 외에 LTS 커널도 제공되나, 이 커널은 update 를 받을시
커널버전이 올라가게 된다.

v6.5.9 업데이트 내용 확인

github 에서도 linux-stable git 이 운영되고 있고, 여기서 다음 url 을 사용해 tag 간 비교가 가능하다.

커밋별로 클릭, 코드랑 함께 히스토리 확인이 가능하고, 업데이트 내용 전체를 diff 로 볼수도 있다.

Reference

https://peter.coffee/github-comparison-between-tags

profile
관심분야 : Filesystem, Data structure, user/kernel IPC

0개의 댓글