NetBSD 10は、古い技術が30年経った今でもアプリを駆使し、名前を奪えることを証明している

Table of Contents

NetBSD 10は、古い技術が30年経った今でもアプリを駆使し、名前を奪えることを証明している

FOSDEM 2024 NetBSD 10 は、この由緒あるオープンソース Unix システムの新たな成熟レベルを示すものであり、現代的でありながらもレトロな雰囲気も同時に醸し出しています。

マイナーリリースを含めた私たちの計算では、NetBSD 10.0はNetBSDオペレーティングシステムの71番目のリリースとなります。プロジェクト独自の基準では、NetBSD 10は18番目のメジャーリリースとなります。言い換えれば、これは成熟したOSの重要なリリースと言えるでしょう。

主な注目点としては、SMP パフォーマンスの向上、仮想メモリの高速化、パフォーマンスと効率コアを認識するスケジューラの改善、WireGuard VPN サポートや ARMv8-A セキュリティ機能のサポートを含む暗号化とセキュリティの大幅な改善、システムのコード サニタイザー、テスト、QA の広範な改善などが挙げられます。

NetBSD 10 のデフォルトのグラフィカル環境は非常にレトロな Ctwm ですが、高速で動作します。

NetBSD 10のデフォルトのグラフィカル環境は非常にレトロなCtwmですが、高速で動作します - クリックして拡大

チームはささやかながら祝賀行事を行っており、Reg FOSS Deskも参加した今年のブリュッセルで開催されたFOSDEMカンファレンスでは、「NetBSD 10:30周年、今もなお健在!」と題した講演を行いました。講演ではGoogleスライドを使ったプレゼンテーションも披露されました。講演の中で、NetBSD開発者のBenny Siegert氏は、NetBSD 0.8は1993年4月にリリースされたものの、BSDの開発自体は1974年に開始されており、プロジェクト全体としては50周年を迎えていることなど、いくつかの点を指摘しました。

NetBSDはBSDプロジェクトの中で最も古く、ある意味ではオリジナルに最も近いと言えるでしょう。NetBSDは驚くほど多くのアクティブな「ポート」をサポートしています。「ポート」とは、NetBSDが動作可能なコンピューターの種類を表す用語で、8つの「Tier 1」ファーストクラス・サポート・プラットフォームに加え、バージョン10のプラットフォームが47あります。プロジェクトのモットーの一つは「もちろんNetBSDで動作します!」です、それは当然のことです。これほど多くの異なるアーキテクチャーとプラットフォームで動作するOSは他にありません。

Siegert氏の講演では、Linuxと比較したNetBSDの長所と短所について多くの点が取り上げられました。概要を把握するためには、少なくともスライドをご覧いただくことをお勧めします。しかし、ある質問に彼がすぐに答えられなかったことに私たちは衝撃を受けました。「なぜFreeBSDではなくNetBSDを選んだのですか?」彼はためらいつつも、NetBSDのユーザーと開発者のコ​​ミュニティはFreeBSDのコミュニティよりも小規模で親しみやすく、そのためより歓迎的だと答えました。彼はThe Regに対し、重要なのは以下の点だと明言しました。

また、カーネル開発者兼リリース エンジニアの Martin Husemann 氏にも話を聞きました。Husemann 氏は、バージョン 10 のリリース プロセスの延長によって得られる副次的なメリットについて次のように述べました。

BSD間の比較に関する彼の見解には私たちは驚きました。ある比較では、FreeBSDよりもハードウェアサポートが広く、OpenBSDと同等だと提案したところ、彼はこう言いました。

試乗してみる

前回NetBSDを検証した際、VirtualBoxにインストールしてバージョン9.3を確認しました。この経験で得た知識を活かし、ベアメタルで新しいバージョンを試すことにしました。先週OpenBSD 7.5を試した時と同じテストベッド、つまり、ATI Mobility FireGL V5700 GPUを搭載した、かなり高速なCore 2 DuoマシンであるThinkpad W500を使うのが公平な比較になると考えました。8GBのRAMと256GBのSSDを搭載し、最大容量まで拡張しました。もはや強力なマシンではありませんが、古いハードウェアでも十分にサポートされることを期待していました。実際、Haiku beta 4とAlpine Linux 3.18では驚くほどレスポンスが良いことが証明されています。

NetBSD 9.0が登場してから4年以上が経ちましたが、前リリースで経験したいくつかの問題が解消されたことを嬉しく思います。カーソルキーはテキストコンソールを含め、期待通りに動作しました。NetBSDはVentoy製USBキーからの起動に失敗しましたが、専用のキーに書き込むと正常に動作しました。インストーラーはWi-Fiを初回起動時に完璧に起動しました。これは、イーサネット経由でファームウェアを取得できるようになるまでのOpenBSDよりも優れた機能です。

インストーラは相変わらず扱いにくい。ごく一般的なハードウェア向けに作られているため、操作は主に文字と数字のキー入力で行われる(すべての端末にカーソルキーがあるわけではないので、おそらくそうだろう)。OpenBSDでは問題なく実行できたのに、用意しておいた空の32GB FAT32プライマリパーティションを再フォーマットする方法が分からなかった。削除する方法さえ見つからなかった。結局、Linuxを再起動してそこから削除した。

NetBSDは、結果として生じた隙間に、シリンダー、ヘッド、トラックについて尋ね続けましたが、SSDにはそれらのどれも存在しません。インストーラーは、新しいプライマリパーティション内に独自のサブパーティションを作成し、そこにインストールしました。

つまずいたのは 1 つだけです。NetBSD のブートローダーを MBR に置きたくなかったのです。このマシンには、OpenBSD の他に、Windows XP64、Q4OS、Bodhi Linux が既にインストールされています。GRUB の上書きを避けようとした結果、NetBSD のブートローダーがまったくインストールされなくなりました。OpenBSD のように、ブートローダーをルートパーティションに置くという明白な選択肢はありませんでした。再起動し、インプレース アップグレード (つまり、すべてのパッケージ セットを無効にした状態で 10.0 から 10.0 へ) を行い、今度はデフォルトのブートローダー オプションを受け入れました。これは問題なく動作し、希望どおりに NetBSD 独自のブートローダーをルートパーティションにインストールしました。Linux とのデュアル ブートを同じマシンで実行している場合は、OpenBSD の場合と同様に、chainloadNetBSD のブートローダーを GRUB からインストールする必要があります。たとえば、Ubuntu からこれを行う方法は次のとおりです。

今回は、インストール後、sysinstもう少し長くプログラムを使い続けていくつかの手順を完了する必要があることが分かっていました。そのため、最初の再起動時には、オンラインリポジトリやホスト名などが設定されたパッケージマネージャーが動作していました。操作性ははるかにスムーズで、最初の起動時にグラフィカルなログイン画面と「軽量で非常にミニマルなウィンドウマネージャー」が表示されました。htopやneofetchなどの小さなツールをいくつか試しにインストールしてみました。すべて問題なく動作したので、より大きなツールを導入することにしました。

pkgin -y install firefox
  • xz による遅延の後、Ubuntu 24.04「Noble Numbat」が遅ればせながらベータ版に登場
  • OpenBSD 7.5は、ディスク暗号化サポートとシステムコール制限の改善によりロックダウンされました。
  • GCC 14 が IA64 のサポートを廃止することは、Itanium アーキテクチャの棺に打ち込む最後の釘となる
  • PumpkinOSはFOSSのPalmOS互換ランタイム環境を切り開きます

これもうまくいきましたが、期待通りではありませんでした。最新リリース124ではなく、ナイトリービルドを入手したところ、Python 3やWaylandといった予想外の依存関係がいくつか追加されました。NetBSDはWaylandをサポートしていないにもかかわらずです。これらの依存関係はFirefoxとは関係ないように思えますが、Poul-Henning Kampの名著『バザールで失われた世代』を強く思い出しました。

Abiword、Gnumeric、VLC、さらにはMATEシステムモニターといった比較的充実したパッケージを追加しても、ほとんど同じように動作しました。また、NetBSD 9.3で使用したのと同じ古いガイドを使ってXfceもインストールしました。試したものはすべて問題なく動作し、Xfceはより使い慣れた柔軟な環境を提供し、フォントサイズの調整などの便利な機能も備えていました。

NetBSD 10は、現代のLinuxとは対照的な魅力的な存在です。動作も良好です。例えば、ThinkpadのサウンドチップとATI GPUが検出され、radeonドライバーが自動的にインストールされました。カーソルキーやパッケージツールなど、2022年に見られたいくつかの粗削りな点は、改善されているようです。

軽量Linuxと比べるとやや小さいですが、極端に小さいわけではありません。デフォルトのインストールでは数ギガバイトしかかかりませんでしたが、Xfce、Firefox、そしていくつかのアプリをインストールすると7.1GBも消費しました。CtwmウィンドウではRAM使用量はわずか189MBで、これはかなり良い値です。しかし、Xfceのターミナルウィンドウでは433MBまで消費しました。ベンチマークは行いませんでしたが、Xfce環境では、このマシン上の軽量Linuxディストリビューションと比べても遜色ない応答性を感じました。

NetBSDは、現代的なLinuxというより、伝統的なUnixスタイルの環境です。デフォルトでは、Xfceのような現代的なLinuxデスクトップをインストールしても、ネットワーク接続、サウンド設定、パッケージ管理といったグラフィカルツールは用意されていません。NetBSDには独自のハイパーバイザーであるNVMMが搭載されていますが、標準リポジトリにはコンテナーなどの最新機能は含まれていません。

NetBSDはOpenBSDよりも大きく、おそらくより完全です。どちらのOSもCDサイズのインストールISOを提供していますが、NetBSDにはUSBインストールイメージも用意されており、こちらは2.62GBですが、Wi-Fiファームウェアなどが含まれています。パッケージがローカルに保存されるため、インターネットから取得する量が少なくなり、インストールが高速化します。

OpenBSD のパッケージ選択は明らかに厳格ですが、その厳しさには代償が伴います。例えば、NetBSD は Bluetooth をサポートしていますが、OpenBSD はサポートしていません。パッケージ依存関係に不要なものが含まれている可能性を考えると、多くの人はそれを許容できる代償だと考えるでしょう。NetBSD はオプションで ZFS もサポートしています。FreeBSD よりもバージョンは古いですが、ZFS 上のルートに対するサポートはやや初期段階です。

NetBSDを試す理由は様々です。古いRISCコンピューター(PowerMacやSPARCマシンなど)など、ベンダーや最新のLinuxではサポートされなくなった、古くてもまだ使えるハードウェアには、NetBSDは最適です。そして、まもなく32ビットx86ハードウェアもサポートされるようになることもお忘れなく。

Unixスキルを向上または拡張したい場合にも、これは良い選択肢です。Linuxは現在主流ですが、大企業の中には古いUnixマシンがまだ数多く残っており、インターネットを支えるものもあります。低レベルのオペレーティングシステムの内部構造を学びたい、あるいはコミュニティ主導の開発プロジェクトでどのように働きたいのであれば、ベアメタル上でコマンドライン駆動型のOSを実行することに勝るものはありません。VMでは代替になりません。

BSDの世界には、様々な側面があります。FreeBSDは比較的主流で、機能が豊富で、コンテナ、仮想マシン、ZFSとの緊密な統合など、主に最新または最新のハードウェアをサポートしています。Dragonfly BSDは実験的なものであり、x86-64のみに対応しています。OpenBSDは、Bluetoothなどの機能を完全に放棄することになっても、クリーンなコードと安全な設計に容赦なく取り組む、ほとんど過激なアプローチをとっています。

NetBSDはその中間に位置します。比較的小型で、クリーンで、シンプルなOSです。FreeBSDよりも小型ですが、OpenBSDほど機能は充実していますが、厳密さは劣ります。とはいえ、いずれも最新のOSであり、最新のブラウザなどが搭載されています。いずれも最新のLinuxよりも小型で、クリーンで、シンプルです。サーバー向けという偏りはあるものの、いずれも完全なデスクトップOSとして利用可能です。Redox OSや9Frontほど実験的で制限も厳しくありません。Linuxがコードに埋もれ続ける中、安全な避難場所がまだあるというのは心強いことです。®

Discover More