OpenBSD 7.9 출시
(openbsd.org)- 지연 최대절전이 추가되어 suspend 상태에서 배터리 방전을 막기 위해 설정 시간 뒤 시스템을 깨운 다음 즉시 hibernate할 수 있으며,
machdep.hibernatedelay로 초 단위 지연 시간을 지정함 - 보안 변경으로 root의 bpf(4)
BIOCLOCK우회가 제거되고, pledge(2)tmppathpromise가 폐기되며, libc 내부 파일 접근을 제한적으로 허용하는 __pledge_open(2)가 도입됨 - OpenSSH 10.3은
ssh(1)사용자명%토큰 확장 관련 명령 실행 가능성,sshd(8)인증서 principal 매칭, legacyscp -O의 setuid/setgid 처리, ECDSA 알고리듬 제한 적용, mux proxy 확인 누락 등 보안 문제를 수정함 - LibreSSL 4.3.0은 TLS
MLKEM768_X25519keyshare,sievestarttls,RSASSA-PSSpubkey OID 지원을 추가하고, X.509 verifier depth 검사 off-by-one으로 인한 힙 메모리 4바이트 덮어쓰기 가능성을 수정함 - 네트워크 스택에서 veb(4)가 VLAN-aware bridge가 되어 PVID, 허용 VID bitmap, access/trunk/hybrid 포트 구성을 지원하고 기존 단순 구성 호환을 위해 기본 PVID 1을 사용함
- IPv6 autoconf(SLAAC) 가 기본 활성화되고, pflow(4)는 NAT 이후 출발지·목적지 IP와 포트를 담는 IPFIX/Netflow v10 NAT template을 추가함
- pf(4) 는 source/state limiter를 도입하고 제한 도달 시 실행할 action을 지정할 수 있으며, pfctl(8)의 기본 limiter action은
no-match에서block으로 바뀜 - 가상화는 vmd(8) VM에서 sysupgrade(8)를 가능하게 하는
vmboot를 추가하고, Apple Virtualization 동작, AMD SEV 같은 confidential computing 경로, 여러 race·hang·네트워크 reset 문제를 개선함 - 하드웨어 지원은 arm64의 RK3588/RK3576 SoC, Apple Silicon 일부 노트북의 GL9755 SDHC, riscv64의 SpacemiT K1 SoC, USB4용 nhi(4), Intel LPSS SPI용 ispi(4) 등을 추가함
- 무선 네트워크는 기본 802.11ax 지원, 5GHz 160MHz window와 iwx(4) 160MHz 지원, PMF를 iwm(4)·iwx(4)·qwx(4)에 추가하고,
iwx(4)powersave를 기본 활성화함 - 설치·업그레이드는
/usr파일시스템이 90%를 넘으면sysupgrade가 실패하도록 바뀌어 시스템 손상 가능성을 줄이고, amd64에서 EFI system partition의 kernel 파일 로딩을 지원해 OpenBSD boot loader와bsd.rd를 EFI boot partition에 둘 수 있음 - 패키지와 주요 구성요소는 amd64 13,044개, aarch64 12,883개, i386 10,631개 패키지를 제공하며 Chromium 147.0.7727.101, Firefox 150.0, Node.js 22.22.2, PostgreSQL 18.3, Rust 1.94.1, LLVM/Clang 19.1.7·20.1.8·21.1.8 등이 포함됨
댓글과 토론
Hacker News 의견들
-
OpenBSD 7.9 릴리스 아트워크는 Lyra Henderson이 작업함
https://www.openbsd.org/images/PinkPuffy.png
https://www.openbsd.org/images/puffy79.gif
릴리스 곡은 Bob Kitella가 작곡·프로듀싱한 "Diamond in the Rough"임
https://www.openbsd.org/lyrics.html#79
의류는 아직 티셔츠 위주로 보임: https://openbsdstore.com/- 링크된 PinkPuffy.png에서는 고양이 모자에 "security"라고 쓰여 있는데, OpenBSD 스토어의 여러 티셔츠에서는 고양이 모자가 "POLICE"로 되어 있어 흥미로움
- OpenBSD가 계속 하드웨어 지원을 늘려가는 게 흥미로움
집의 작은 서버에서 DNS/DHCP 용도로 돌리고 있는데 안정성이 인상적이고, 오랜 감사 작업의 축적이 확실히 드러남 - Theo가 AI 쪽으로 기울어서 릴리스 아트워크와 노래까지 AI로 만들기 시작할지 궁금함
-
다른 운영체제에서 보안 문제가 계속 발견되고 있고, AI 때문에 더 빨라질 테니 이제는 모두 OpenBSD를 고려할 때라고 봄
수십 년간 이어온 보안 중심 접근은 따라올 곳이 없고, Ubuntu/Debian에서 OpenBSD로 완전히 전환했으며 되돌아갈 생각은 없음- 안타깝게도 많은 시스템에서는 하드웨어 지원이 충분하지 않음
BSD를 골라야 한다면 그래도 FreeBSD를 선택할 것 같음 - 최근 OpenBSD를 써봤는데 다른 운영체제와 꽤 다르게 동작했음
같은 코드가 Linux/FreeBSD/Windows에서는 잘 돌아가지만 OpenBSD에서는 다중 스레드 성능이 낮았고, 비동기 소켓도 몇 초간 고속 전송 후 멈췄음
OpenBSD가 틀렸다는 뜻은 아니고, 그냥 다르다는 느낌 - OpenBSD가 실제로 Linux보다 더 안전한지는 잘 모르겠음
이를 뒷받침하는 데이터는 찾지 못했고, 모호한 인상평만 봤음 - 보안을 중요하게 본다면 Qubes OS도 고려할 만하지 않나 싶음
관련 논의: https://forum.qubes-os.org/t/qubesos-vs-openbsd-security/790... - “이제 모두 OpenBSD를 고려할 때”라기엔, 매우 안전하다는 기능이 심볼릭 링크 하나에 무력화된다면 아직은 애매함
https://x.com/ortegaalfredo/status/2055362910415671459
물론 Linux 쪽도 더 낫다고 하긴 어렵지만, 시장 점유율 덕분에 문제를 고칠 눈이 더 많다는 장점은 있음
- 안타깝게도 많은 시스템에서는 하드웨어 지원이 충분하지 않음
-
일부에게는 Exim이 ports에서 제거된 것이 큰 소식임
Exim에서 OpenSMTPD로 옮기는 좋은 글이 있음: https://nxdomain.no/~peter/time_for_opensmtpd.html
예전에 OpenSMTPD가 나온 지 얼마 안 됐을 때 써봤지만 안정성이 충분하지 않았는데, 이제 다시 시도해볼 때가 된 듯함- OpenSMTPD에 만족하고 있음
OpenBSD와 Linux 양쪽에서 여러 해 동안 OpenSMTPD를 돌려왔고 불만이 없음 - Exim이 ports에서 빠졌다니 의외임
애초에 기본 시스템에 들어간 것도 아니었으니, 아마 관리자가 더 이상 유지하고 싶지 않았던 듯함 - OpenSMTPD가 정말 마음에 듦
군더더기 없고, 기존의 오래된 구성 방식에 비해 설정 방식도 꽤 현대적으로 느껴짐 - OpenSMTPD는 6.4, 즉 2018년에 상당 부분 다시 작성됐음
대부분의 사용 사례에는 최고의 SMTP 서버라고 봄
아쉽게도 이식판 지원이 약해서, 얼마나 좋은지 배우는 사람은 대개 OpenBSD 사용자에 한정됨
- OpenSMTPD에 만족하고 있음
-
예전에 G4 PowerBook에 한동안 설치해서 조금 써봤음, 아마 2000년대 초반쯤이었을 것임
바이너리 블롭에 대한 타협 없는 태도와 보안 중심 접근이 마음에 들었고, 전체 경험도 아주 좋았음
읽어본 코드도 깔끔하게 작성돼 있었음
늘 추천할 만한 시스템이고, 가까운 시일 내에 어딘가 다시 설치해봐야겠음
이번이 60번째 릴리스이기도 하니 팀에 축하를 보냄 -
스케줄러에서 속도가 다른 CPU 코어를 관리하는 메커니즘이 추가됐다고 함
hw.blockcpu는 SMT용 S, 일반 성능 코어 P, 효율 코어 E, 더 느린 L 네 글자의 시퀀스를 받고, 스케줄러에서 제외할 CPU를 고르는 데 쓰이며 기본값은 SL임
현재 amd64와 arm64에서 동작함
다만 big.LITTLE 같은 구조에서 느린 코어를 CPU에 두는 이점 자체가 잘 납득되지는 않음
작업이 그런 코어에 배정되길 원하지 않을 테고, 백그라운드 작업도 빨리 끝내는 편이 전력을 덜 쓰지 않나 싶음
코어마다 기능이 다르면, 예를 들어 AVX-512 같은 CPU 기능을 요구하는 프로세스가 그 기능이 없는 코어에 배정될 때 어떻게 되는지도 의문임
OpenBSD는 여기서 느린 코어를 꺼버리는 빠르고 거친 접근을 택했지만, 그런 코어에 작업을 배정할 좋은 휴리스틱이 있는지도 모르겠음
실행 파일이나 스레드에 “이 프로세스는 느린 코어에 적합함” 같은 수동 태그를 붙이는 복잡한 메커니즘 정도밖에 떠오르지 않음
메일링 리스트를 보니 단순한 스케줄러는 프로세스를 아무 데나 올리고, 일부 새 big.LITTLE 시스템의 작은 코어는 매우 느려서 코드 재컴파일에 큰 타격을 준다고 함- race to idle은 시작과 끝이 명확한 작업에서만 확실히 유리함
백그라운드 작업이 지속적으로 실행되거나, 예측 불가능한 이벤트에 반응하거나, 자주 깨어나 조금씩 일한다면 CPU의 부스트 로직만으로 전력 사용 문제가 해결되지 않음
그리고 x86-64나 ARM에서는 P-코어와 E-코어가 같은 명령어 집합을 쓰기 때문에, 잘못된 CPU 명령어를 실행할 위험은 없음
진짜 이기종 명령어 집합은 앞으로 다시 등장할 수도 있으니 주의할 필요는 있음
- race to idle은 시작과 끝이 명확한 작업에서만 확실히 유리함
-
여기서 OpenBSD를 쓰는 사람이 있다면 어떤 용도로 쓰는지 궁금함
임베디드 시스템이나 IoT 장치용 애플리케이션에 NetBSD를 써보고 싶었지만 아직 기회가 없었음- Hetzner의 VPS, 보안 중심 고객용 베어메탈, 홈랩의 오래됐지만 아직 쓸 만한 하드웨어에서 OpenBSD를 씀
OpenBSD는 Cupertino가 더 이상 지원하지 않는 구형 Apple 하드웨어에서도 훌륭함
Intel Mac Mini 클러스터를 거의 완벽한 가동 시간으로 운영 중임
웹, 메일, DNS, NFS, 데이터베이스처럼 안정성과 보안이 필요한 서버라면 더 찾아볼 필요가 없음
학습 곡선은 있지만 충분히 가치 있음 - 개인 노트북에서 씀
주된 이유는 가볍고 단순한 구조가 마음에 들어서임
패키징도 단순하고, 커널 개발과 업그레이드도 단순함
커널 코드 자체도 마음에 드는 스타일로 작성되어 있고, 핵심만 있으며 쓸데없는 추상화나 소란이 없음
써본 다른 BSD들, NetBSD와 FreeBSD/DragonFlyBSD 사이에서도 더 선호함
시스템 대부분을 이해할 수 있다는 느낌이 좋음
Linux만큼 기능이 풍부하진 않지만, 자기 시스템을 이해한다는 감각이 신선함
작고 예쁜 마을로 휴가 가서 평범하고 차분하게 지내는 느낌에 가깝고, 물론 체감은 사람마다 다를 수 있음 - 집 방화벽, 사무실 데스크톱과 노트북에서 돌림
꽤 안정적이고 익숙함
Unix를 안다면 정말 단순함
OpenBSD가 사라지지 않았으면 좋겠고, 대체할 만한 것도 잘 모르겠음
Linux는 이제 너무 복잡해져서 감당하기 버거움 - 아내와 웨딩 렌털 회사를 만들고 있음
디지털 쪽을 맡아서 Ruby on Rails 앱을 만들고 OpenBSD에 배포함
전체 시스템은 집 랙에 있는 저렴한 Supermicro U1 서버 한 대에서 돌아감 - 권한 있는 DNS는
nsd, 이메일은opensmtpd로 매우 적은 메모리의 KVM에서도 최소 설정만으로 바로 돌아감
문서가 훌륭하고 설치도 쉬움
sysupgrade는 큰 개선이었지만, 릴리스 주기는 조금 늦춰줬으면 함
- Hetzner의 VPS, 보안 중심 고객용 베어메탈, 홈랩의 오래됐지만 아직 쓸 만한 하드웨어에서 OpenBSD를 씀
-
커널 뮤텍스에서
cas스핀락을 parking 락으로 바꿨다는데, parking 락이 무엇이고 어떻게 동작하는지 궁금함
매뉴얼 페이지에서는 관련 내용을 찾지 못했음
https://man.openbsd.org/OpenBSD-5.5/lock.9
https://man.openbsd.org/OpenBSD-5.9/mutex.9- “parking” 락은 이 글을 가리키는 표현임
https://webkit.org/blog/6161/locking-in-webkit/ - 막힌 스레드가 락에 대해 계속 CAS 연산을 수행하는 대신, 보통 스케줄러에 협력적으로 양보해서 잠들게 하는 락/뮤텍스 구현임
스핀락은 경쟁이 심하지 않고 락 보유 시간이 짧을 때 성능이 좋지만, 둘 중 하나라도 맞지 않으면 막힌 스레드가 대기 중에도 CPU 코어 하나를 통째로 소모하기 쉬움
- “parking” 락은 이 글을 가리키는 표현임
-
주제에서 조금 벗어나지만, FreeBSD 쪽도 영혼 없는 가짜 기업풍 유리구슬 로고와 90년대 초 우주선 장난감 상자 같은 글꼴에서 조금 물러나 Beastie와 세련된 세리프체로 돌아갔으면 함
말하자면 부럽다는 뜻이고, OpenBSD 아트워크는 정말 훌륭함 -
OpenBSD가 Bluetooth를 지원했으면 좋겠음
없다는 점이 아쉽게도 결정적인 제약이고, 데스크톱에서 써봤을 때는 훌륭했음- https://www.openbsdhandbook.com/multimedia/#bluetooth-audio
2014년에 제거됐음 - 집에 있는 유일한 유선 헤드폰은 OpenBSD 노트북용임
- 없으면 못 사는 Bluetooth 장치가 어떤 것인지 궁금함
- 키보드, 마우스, 헤드폰/이어버드 등에 Bluetooth가 필요할 수 있어서 아쉬움
OpenBSD는 좋아 보이지만 지금은 데스크톱보다는 서버 용도로 제한되는 느낌이고, 단순성에 집중한다는 점에서는 장점일 수도 있음
그래도 하드웨어 지원이 더 많았으면 좋겠음
OpenBSD를 가상 머신에서 돌리면, 호스트 운영체제인 Linux/Windows의 하드웨어 지원과 OpenBSD의 장점을 둘 다 얻을 수 있을지도 모름 - 정말 필요하다면 거의 무엇이든 저렴하게 범용 동글을 만들어 붙일 수 있음
예를 들어 BLE 키보드에는 Seeed Studio XIAO nRF52840을 쓰고 있음
- https://www.openbsdhandbook.com/multimedia/#bluetooth-audio
-
마침 7.9가 언제 나오는지 궁금하던 참이었음
게다가 릴리스 곡도 있어서 좋음
기억이 맞다면 한동안 새 곡이 없었음- 릴리스 때마다 항상 곡을 확인함
다른 스레드에서도 나온 것처럼 마지막 곡은 7.3이었음
- 릴리스 때마다 항상 곡을 확인함
Lobste.rs 의견들
-
OpenBSD가 릴리스마다 아트워크와 노래를 갖고 있다는 걸 오늘 알게 됨: https://www.openbsd.org/lyrics.html#79
- 2000년대 초반에는 사무실 근처 서점에 가서 매 릴리스를 물리 매체로 샀음
서점이 OpenBSD 관련 자료를 계속 들여놓게 하고, 프로젝트를 지원하고, 아트워크와 노래의 실물을 갖고 싶다는 세 가지 이유가 있었고, 그 의식 같은 과정이 그리움
- 2000년대 초반에는 사무실 근처 서점에 가서 매 릴리스를 물리 매체로 샀음
-
BSD는 늘 궁금하지만, 게임 때문에 Linux를 떠날 수는 없을 것 같음
- 2016년에는 Linux가 궁금하지만 게임 때문에 Windows를 떠날 수 없었고, 2026년에는 BSD가 궁금하지만 게임 때문에 Linux를 떠날 수 없고, 2036년에는 Hurd가 궁금하지만 게임 때문에 BSD를 떠날 수 없게 될지도 모름
- 우연히 게임용으로 별도 머신을 쓰게 됐는데, 돌아보면 정말 합리적인 선택이었음
많은 온라인 게임은 취약점 공격 표면이 크고, 아무도 감사하지 않은 독점 코드로 되어 있으며 출시 직후 업데이트 없이 방치되는 경우도 많음
은행 정보나 정부 신분증 관련 자료를 같은 머신에 두지 않아도 되는 점이 좋음 - 비슷한 상황에서 남는 노트북에 7W TDP CPU가 달린 작은 홈 서버를 구성해서 해결했음
약간의 노력으로sshd를 설정한 뒤 BSD 관련 기능을 마음껏 만져볼 수 있고, 원하면 셀프 호스팅으로 확장하는 기회도 됨
지금은 FreeBSD가 관리하는bhyve위에서 Home Assistant를 돌리고 있고, 서버 활용도를 높이기 위해 다음에 뭘 올릴지 고민 중임
물론 가상 머신으로도 가능하지만, 적어도 내게는 실제 시스템을 만지는 느낌을 완전히 대체하지 못했음
-
QEMU에서 OpenBSD 7.9를 시도해 봤는데, 설치 프로그램은 조금 구식이고 기본
X11+fvwm2+xterm조합도 낡아 보이지만 부팅되고 잘 동작했음
doas는 훌륭하게 작동했고pkg_add로 패키지도 설치할 수 있었음
기본 설치에curl이나wget이 없어서 놀랐지만, 보안 관점에서는 최소 구성 철학이 마음에 듦- 설치 프로그램은 오히려 훌륭하다고 봄
전체 과정을 안내해 주면서도, 언제든 수동 개입이 필요하면 쉽게 할 수 있음
그냥 Enter를 계속 누르는 방식도 가능하고, 대부분을 직접 처리하는 방식도 가능함
기본X11+fvwm2+xterm조합은 곰팡이 핀 빵 조각 같은 오래된 장비에도 설치해서 동작할 수 있는 패키지 세트를 두려는 의도처럼 보임
그래도 Wayland는 OpenBSD로 포팅됐고, 2023년에는 아직 계획에 가까웠던 게 이렇게 빨리 구체화된 걸 보니 반가움
다운로드에는 ftp(1)을 쓰는 걸 기대하는데, 이름과 달리 FTP 전용이 아니라 HTTP(S) 가져오기도 지원함
- 설치 프로그램은 오히려 훌륭하다고 봄
-
드디어 Yeelong Lemote에 다시 설치해 볼 수 있겠음
지난 errata의pledge변경 때문에 7.8 커널만 다시 컴파일하고 사용자 영역은 그대로 뒀다가 당했고, Loongson은 당연히 바이너리 업데이트도 제공되지 않음