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・ネットワークリセット問題が改善された - ハードウェアサポートでは、arm64 の RK3588/RK3576 SoC、Apple Silicon の一部ノートPC向け 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 などが含まれる
2件のコメント
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
アパレルはまだTシャツ中心のようだ: https://openbsdstore.com/
自宅の小さなサーバーでDNS/DHCP用途に動かしているが、安定性が印象的で、長年の監査作業の蓄積が確かに表れている
他のOSではセキュリティ問題が次々に見つかっていて、AIでそのペースはさらに速くなるだろうから、今こそ皆が OpenBSD を検討すべきだと思う
数十年にわたるセキュリティ重視のアプローチに匹敵するものはなく、Ubuntu/DebianからOpenBSDへ完全移行し、戻るつもりはない
BSDを選ぶなら、それでもFreeBSDを選ぶと思う
同じコードがLinux/FreeBSD/Windowsではうまく動くのに、OpenBSDでは マルチスレッド性能 が低く、非同期ソケットも数秒間高速転送したあと停止した
OpenBSDが間違っているという意味ではなく、ただ違うという印象
それを裏づけるデータは見つけられず、曖昧な印象論ばかり見かけた
関連する議論: https://forum.qubes-os.org/t/qubesos-vs-openbsd-security/790...
https://x.com/ortegaalfredo/status/2055362910415671459
もちろんLinux側がより良いとも言い切れないが、市場シェアのおかげで問題を修正する目が多いという利点はある
一部の人にとっては Eximがportsから削除 されたのが大きなニュースだ
EximからOpenSMTPDへ移行する良い記事がある: https://nxdomain.no/~peter/time_for_opensmtpd.html
以前OpenSMTPDが出たばかりの頃に試したことがあるが、十分に安定していなかったので、今こそ再挑戦するときかもしれない
OpenBSDとLinuxの両方で何年も OpenSMTPD を動かしてきたが、不満はない
もともと基本システムに入っていたわけでもないし、おそらく メンテナー がもう維持したくなかったのだろう
無駄がなく、昔ながらの構成方式に比べて 設定方法 もかなり現代的に感じる
ほとんどの用途では 最高のSMTPサーバー だと思う
残念ながら移植版のサポートが弱いため、その良さを知る人はたいていOpenBSDユーザーに限られる
昔G4 PowerBookにしばらく入れて少し使っていたことがある。たぶん2000年代前半だったと思う
バイナリブロブ に妥協しない姿勢とセキュリティ重視のアプローチが気に入ったし、全体の体験もとても良かった
読んだコードもきれいに書かれていた
いつでも勧められるシステムで、近いうちにどこかにまた入れてみたい
今回は 60回目のリリース でもあるので、チームに祝意を送りたい
スケジューラに速度の異なる CPUコア を扱う仕組みが追加されたらしい
hw.blockcpuはSMT用のS、通常の高性能コアP、効率コアE、さらに遅いLという4文字のシーケンスを受け取り、スケジューラから除外するCPUを選ぶために使われ、デフォルト値はSL現在はamd64とarm64で動作する
ただ、big.LITTLEのような構成で遅いコアをCPU内に持つ利点そのものがあまり腑に落ちない
タスクをそんなコアに割り当てたいとは思わないだろうし、バックグラウンド作業でも早く終わらせたほうが電力消費は少ないのではないかと思う
コアごとに機能が異なるなら、たとえばAVX-512のようなCPU機能を必要とするプロセスがその機能のないコアに割り当てられたときどうなるのかも疑問だ
OpenBSDはここで遅いコアを無効化するという手早く荒っぽいアプローチを取ったが、そうしたコアに仕事を割り当てる良いヒューリスティクスがあるのかもわからない
実行ファイルやスレッドに「このプロセスは遅いコア向き」といった手動タグを付ける複雑な仕組みくらいしか思いつかない
メーリングリストを見ると、単純なスケジューラはプロセスをどこにでも載せてしまい、新しいbig.LITTLEシステムの一部の小さいコアは非常に遅く、コード再コンパイルに大きな悪影響を与えるという
バックグラウンド作業が継続的に走る場合や、予測不能なイベントに反応する場合、あるいは頻繁に起きて少しずつ仕事をする場合には、CPUのブーストロジックだけでは電力消費の問題は解決しない
そしてx86-64やARMではPコアとEコアは同じ 命令セット を使うので、誤ったCPU命令を実行してしまう危険はない
真に異種な命令セットは今後また現れる可能性もあるので、注意は必要だ
ここで OpenBSD を使っている人がいたら、何に使っているのか気になる
組み込みシステムやIoT機器向けアプリケーションにNetBSDを使ってみたいと思っていたが、まだ機会がなかった
OpenBSDはCupertinoがもうサポートしない古い Appleハードウェア でも素晴らしい
Intel Mac Miniクラスターをほぼ完璧な稼働率で運用中だ
Web、メール、DNS、NFS、データベースのように安定性とセキュリティが必要なサーバーなら、これ以上探す必要はない
学習曲線はあるが、それだけの価値は十分にある
主な理由は 軽量でシンプルな構造 が気に入っているからだ
パッケージングもシンプルで、カーネル開発やアップグレードもシンプルだ
カーネルコード自体も好みのスタイルで書かれていて、本質だけがあり、無駄な抽象化や騒がしさがない
使ったことのある他のBSD、NetBSDやFreeBSD/DragonFlyBSDの中でもより好みだ
システムの大部分を理解できるという感覚が心地よい
Linuxほど機能豊富ではないが、自分のシステムを理解しているという感覚が新鮮だ
小さくて美しい町へ休暇に行って、平凡で穏やかに過ごすような感じに近い。もちろん感じ方は人それぞれだろう
かなり安定していて慣れ親しんでいる
Unixを知っていれば本当にシンプルだ
OpenBSDには消えてほしくないし、代わりになるものも思いつかない
Linuxはもう複雑になりすぎて手に負えない
デジタル面を担当して Ruby on Rails アプリを作り、それをOpenBSDにデプロイしている
システム全体は自宅ラック内の安価なSupermicro U1サーバー1台で動いている
nsd、メールはopensmtpdで、非常に少ないメモリのKVMでも最小構成ですぐ動くドキュメントは素晴らしく、導入も簡単だ
sysupgrade は大きな改善だったが、リリース周期は少し遅くしてほしい
カーネルミューテックスで
casスピンロックを parking lock に置き換えたとのことだが、parking lockとは何でどう動くのか気になるmanページでは関連する説明を見つけられなかった
https://man.openbsd.org/OpenBSD-5.5/lock.9
https://man.openbsd.org/OpenBSD-5.9/mutex.9
https://webkit.org/blog/6161/locking-in-webkit/
スピンロックは競合が少なくロック保持時間が短いときには高性能だが、そのどちらかが当てはまらないと、ブロックされたスレッドが待機中にもCPUコアを丸ごと1つ消費しやすい
話題から少し外れるが、FreeBSDのほうも魂のない偽企業風の ガラス玉ロゴ と90年代初頭の宇宙船おもちゃの箱みたいな書体から少し離れて、Beastieと洗練されたセリフ体に戻ってほしい
要するにうらやましいということで、OpenBSDのアートワークは本当に素晴らしい
OpenBSDが Bluetooth をサポートしてくれたらいいのにと思う
それがないのは残念ながら致命的な制約で、デスクトップで使ったときは素晴らしかった
2014年に削除された
OpenBSDは良さそうだが、今のところデスクトップというよりサーバー用途に限られる印象で、シンプルさに集中している点では利点でもあるかもしれない
それでもハードウェアサポートはもっと増えてほしい
OpenBSDを仮想マシンで動かせば、ホストOSであるLinux/WindowsのハードウェアサポートとOpenBSDの利点の両方を得られるかもしれない
たとえばBLEキーボードにはSeeed Studio XIAO nRF52840を使っている
ちょうど7.9がいつ出るのか気になっていたところだった
しかも リリース曲 まであるのが良い
記憶が正しければ、しばらく新曲はなかった
他のスレッドでも出ていたように、最後の曲は 7.3 だった
Lobste.rsの意見
OpenBSDがリリースごとにアートワークと曲を持っていることを今日知った: https://www.openbsd.org/lyrics.html#79
書店がOpenBSD関連資料を継続して仕入れるようにすること、プロジェクトを支援すること、そしてアートワークと曲の現物を手元に置きたいこと、この3つの理由があり、あの儀式のような過程が懐かしい
BSDにはずっと興味があるが、ゲームのせいでLinuxを離れることはできなさそう
多くのオンラインゲームは脆弱性の攻撃面が大きく、誰にも監査されていない独占的コードでできており、リリース直後に更新もされず放置されることもある
銀行情報や政府発行ID関連の資料を同じマシンに置かなくてよいのがいい
少し手をかけて
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には当然バイナリアップデートも提供されない