Ubuntu 24.04에서 systemd 서비스 샌드박싱하기 — systemd-analyze security와 drop-in

유닛 파일에 User=를 넣었다고 서비스가 격리되지는 않는다. 그 서비스가 탈취되면 파일 시스템 대부분을 읽을 수 있고, 지정하지 않은 시스템 콜도 그대로 호출할 수 있다. systemd 서비스 유닛 파일 작성 실전…

Continue ReadingUbuntu 24.04에서 systemd 서비스 샌드박싱하기 — systemd-analyze security와 drop-in

Ubuntu APT 패키지 업데이트 내역 추적하기 — 로그, changelog, Launchpad, Snapshot

장애 원인을 찾다 보면 "이 라이브러리가 언제, 왜 바뀌었나"를 물어야 할 때가 있다. apt upgrade 화면만으로는 답을 알 수 없다. APT 사용 가이드의 기본 명령도 현재 상태만 보여준다. 답은 로컬…

Continue ReadingUbuntu APT 패키지 업데이트 내역 추적하기 — 로그, changelog, Launchpad, Snapshot

Ubuntu LTS와 인터림 릴리스 중 무엇을 선택할까

Ubuntu 26.10이 나오면 "26.04 LTS에 머물지, 올라갈지"를 정해야 한다. 버전이 더 높다고 항상 유리하지는 않다. 인터림(interim) 릴리스는 9개월 뒤 지원이 끝나므로, 한 번 고르면 업그레이드 일정까지 함께 따라온다. 이 글에서는…

Continue ReadingUbuntu LTS와 인터림 릴리스 중 무엇을 선택할까

커널 Rust 코드에서 패닉은 언제 허용되나 — Kangrejos 2026 논의 정리

Rust 코드의 panic!은 커널에서 BUG()로 이어져 실행 중인 커널을 멈춘다. 그런데 Rust의 정수 곱셈과 슬라이스 인덱싱에도 패닉 경로가 들어간다. 커널의 Rust 코딩 가이드라인은 패닉을 드물게 쓰고 거의 모든 경우에 Result를…

Continue Reading커널 Rust 코드에서 패닉은 언제 허용되나 — Kangrejos 2026 논의 정리

glibc에 래퍼가 없는 리눅스 시스템 콜 — syscall()로 futex_waitv() 호출하기

커널에 새 시스템 콜이 들어와도 glibc에 래퍼 함수가 없으면 C에서 일반 함수처럼 부를 수 없다. 이때는 syscall(SYS_xxx, ...)로 번호와 인자를 직접 넘긴다. 커널 5.16에 들어온 futex_waitv()도 아직 래퍼가 없다. LPC…

Continue Readingglibc에 래퍼가 없는 리눅스 시스템 콜 — syscall()로 futex_waitv() 호출하기

리눅스 커널에 컨테이너 객체가 생길까 — 조셉 바식의 ‘셀(cell)’ 제안

리눅스 커널에는 "컨테이너"라는 객체가 없습니다. 커널은 네임스페이스, cgroup, seccomp 같은 부품만 제공합니다. 조립은 Docker, Podman, LXC 같은 사용자 공간 도구가 맡습니다. 그래서 커널은 "이 프로세스가 어느 컨테이너에 속하는가"라는 질문에 답할…

Continue Reading리눅스 커널에 컨테이너 객체가 생길까 — 조셉 바식의 ‘셀(cell)’ 제안

LWN Weekly Report: 2026년 11월 5일 주요 뉴스

이번 주 LWN.net 위클리 에디션(11월 5일자) 주요 내용이다. 조셉 바식(Josef Bacik)은 컨테이너를 커널 객체로 만드는 "셀(cell)"을 제안했다. Android Binder의 C 구현은 7.4에서 삭제되고 Rust 구현만 남는다. 7.4 머지 윈도우는 체인지셋…

Continue ReadingLWN Weekly Report: 2026년 11월 5일 주요 뉴스