technicalsuwako.moe/src/blog/which-openbsd-netbsd-freebs...

16 KiB
Raw パーマリンク Blame 履歴

title: 【BSD】OpenBSD、NetBSD、FreeBSD、どっと使っては良い? author: 凛 date: 2024-04-23 tags: jp,blog,linux,openbsd,freebsd,netbsd,bsd

あたしの前の投稿を覚えているかもしんが、あたしは最早Linuxを使用していません。
その代わりにOpenBSDを使用しています。
最近、長年Linuxを使用してきたユーザーがBSDに移行する事が流行っていましたが、多くの人々がどちらを選択すべきか迷っています。
その為、この記事の終わりまでに、より良い理解を得て頂けると嬉しいです。

LinuxとBSDの違い

説明する前に、まずLinuxとBSDの違いを説明したいと思います。

LinuxはOSではなく、カーネルであり、幾つかのコアユーティリティ(主にGNUから、一部の軽量な物はbusyboxを使用する場合もあります)、幾つかのブートローダー、幾つかのinitシステム、幾つかのlibc、幾つか又は複数のパッケージマネージャー、幾つかのウィンドウマネージャー又はデスクトップ環境、その他のツールのセット等、全てが完全に分離されて開発され、それらを組み合わせると機能するOSが出来ます。
一方、BSDは其々が1つの専任チームによって完全なOSとして開発され、全ての技術が同じ開発者から提供される為、全てがよりうまく動作し、全てがより良く計画され、利害の衝突がありません。

Linuxには独自のやり方があり、Unixの世界では「Linuxism」と呼ばれ、Linuxは設計上、POSIX準拠を破る事で、BSDのメンテナや他のUnixベンダーがソフトウェアを移植するのを難しくしていますが、BSDのソフトウェアをSystemV Unixやその逆に移植するのは殆ど問題ありません。
又、主要な関係者の間には一般的に切り離しがあります。
何故なら、Linus Torvalds氏はGNUやRed Hat、Lennard Poettering氏、Richard Stallman氏、Microsoft、Google、Cloudflare等とは異なる物を望んでいるからです。
BSDは伝統的なUnixの精神に忠実であり、それがあたしがGNU Makeの代わりにBSD Make、GNU Tarの代わりにBSD Tarを使用する理由です。

LinuxはGPLv2でライセンスされており、一部のソフトはAGPL、LGPL、又はGPLv3です。
これは非常に攻撃的なライセンスであり、非常に注意深く読むと、貴方が書いたコードの所有権は貴方にはなく、FSF(Free Software Foundation)が所有しており、商業利用には使用出来ない事を意味します。
NetBSDとFreeBSDは2条項BSDライセンスされており、OpenBSDはISCライセンスであり、開発者がコードを所有し、他の誰もが開発者の苦労に対する認識を得ながら、コードを自由に使用できます。

LinuxディストリビューションとBSDバリアントのユーザーは、どちらも自分の選択したディストリビューションやOSに非常に忠実です。
しかし、Linuxでは彼らはお互いを本当に好きではないようです。
その為、ArchユーザーはUbuntuユーザーと仲良くなれず、FedoraユーザーはGentooユーザーと仲良くなれず、AlpineユーザーはOpenSUSEユーザーと仲良くなれず、等です。
一方、BSDユーザーはお互いに遥に友好的です。
彼らは未だLinuxユーザーと同様に自分の選択したOSに誇りを持っていますが、通常、お互いをより尊重して扱います。
これは、より一般的に使用されていない事の副作用かもしん。w

Linuxには様々なinitシステムがあります。
最初はSysV Initでしたが、殆どのディストリビューションで広く嫌われるSystemDに置き換えられました。
しかし、CRUXやVenom等のBSD形式のRCスクリプト、OpenRC(Gentoo、Artix、Alpine)、runit(Void、Artix)、s6(Artix)、sinit(Suckless)、dinit(Artix)等、遥にシンプルなシステムもあります。
全てのBSDはinitシステムを持っておらず、代わりに各BSDバリアントが独自のスタイルで開発したRCスクリプトを使用します。

Linuxは徐々にWindowsのようになっていき、Windowsを離れたいと考えている人々に対応する為、Unixライクなシステムの気持ちから徐々に離れています。
その為、Microsoft WindowsやApple macOSのユーザーにとっては、広範な開発者対応、システムが相互に似ている事、及びWindowsやmacOSの経験を持つユーザーがより多い為、Linuxへの移行がBSDへの移行よりも遥に容易です。
一方、BSDは出来るだけ元のUnixに近づこうとする傾向があります。
その為、Sillicon Graphics IRIX、HP UX、IBM AIM、Sun/Oracle Solaris、SGO UnixWare、Microsoft Xenix等の商用Unixのユーザーは、POSIX準拠の厳格さと全体的な馴染みから、Linuxへの移行よりもBSDへの移行が遥に簡単です。

Linuxでは、システムに問題が発生した場合、オンラインで掲示板で質問したり、オンラインで検索したりするのが非常に一般的です。 一方、BSDでは、manページを読む事、又は公式ハンドブック(FreeBSD)や公式FAQ(OpenBSD・NetBSD)を読む事が遥に一般的です。 これらは全て非常にわかりやすく書かれており、貴方が持つ可能性のあるどんな問題でも解決する為に必要な情報を全て含んでいます。

BSDの基本

4つの主要なBSDバリアントがあります。
それらはFreeBSD、OpenBSD、NetBSD、及びDragonfly BSDです。
Dragonfly BSDについては十分な知識がないので、FreeBSD、OpenBSD、及びNetBSDのみを扱います。
Darwinカーネルの為、macOSもBSDですが、その上位レベルは全てAppleの所有物ですが、BSDのバリアントとしては含まれません。

4つのBSDを出来るだけ簡潔に説明すると

  • FreeBSDはパフォーマンスに関する物です
  • OpenBSDはセキュリティとコードの正確さに関する物です
  • NetBSDは移植性に関する物です
  • Dragonfly BSDはスケーラビリティに関する物です

サーバーユーザーにとって、これで十分かもしん。
しかし、デスクトップユーザーにとっては未だ不明瞭なので、あたし自身の経験を説明します。
何故なら、あたしはFreeBSD、OpenBSD、及びNetBSDを毎日使用し、3つ全てに開発し、コンパイルし、実験しているからです。

多くの場合、全てのBSDはパフォーマンス、セキュリティ、移植性、及びスケーラビリティを目指していますが、各個のBSDは其々がその中の1つで最も優れています。

あたしの友人の中で:
テクニカル魔理砂さんはFreeBSDを使います。
美々蝶々さんはOpenBSDを使います。
にしさんはNetBSDを使います。

あたしはOpenBSDのロリで、これがあたしの主要な選択OSです。
そして、ここからはデスクトップユーザーの視点からの比較のみを行います。

FreeBSD vs OpenBSD

これら2つを比較するのは奇妙だと思います。
何故なら、それらは完全に異なる方向に成長してきたからです。
FreeBSDはNetBSDと同様に4.4BSDから派生していますが、OpenBSDはNetBSDから派生しています。
しかし、これは最も一般的な比較です。
何故なら、これらが最も大きな2つのBSDだからです。

一般的に、OpenBSDはサーバー用に作られた物だと信じられています。
これは多くのサーバーソフトウェアが付属しており、セキュリティがサーバーにとって非常に重要である為ですが、家庭用ユーザーにとってはあんま重要ではありません。
しかし、この声明は完全に間違っています。
実際、FreeBSDの開発者はMacbookを使用し、FreeBSDを仮想マシンで実行していますが、OpenBSDの開発者は実際には自分のThinkPadノート、自分のパソコン、自分のサーバー、自分の全てで自分のOSを使用しています。
両方のシステムをデスクトップとして使用し始めると、これが非常に明らかになります。
何故なら、OpenBSDには独自のX11のソフトフォーク、独自のウィンドウマネージャー、及びデスクトップを起動及び実行する為に必要な全ての物が付属しているが、FreeBSDにはそうではないからです。
更に、OpenBSDはFreeBSDよりもWiFi及びGPUドライバーの対応が広範囲に渡っています。
その為、WiFiドライバーがFreeBSDで動作しない場合、OpenBSDでは動作する可能性があります。
又、AMD Radeonカードでは、特にFreeBSDが意外にも不安定であると感じました。
但し、Intel HD Graphicsカードでは安定性の違いは殆どありません。

但し、FreeBSDは非常に高速であり、OpenBSDは全てのBSDの中で最も遅いです。
FreeBSDは様々なファイルシステムを対応しており、ZFSもネイティブファイルシステムの様に扱われますが、OpenBSDは他のOSの殆どのファイルシステムを対応していません。
これがあたしがNASにFreeBSDを実行し、全ての異なるOS間でファイルを共有する方法としてNFSを使用する理由です。
何故なら、それは全てのOSで動作するからです。
又、FreeBSDはある程度Linuxバイナリを実行出来ますが、OpenBSDは出来ません。

OpenBSDには独自のテクノロジーが沢山あります。
その為、PAMの代わりに/etc/login.confを使用し、ALSA/PulseAudio/Pipewireの代わりにsndioを使用し、Apache2/nginxの代わりにhttpdrelaydを使用します。
一方、FreeBSDは1990年代と2000年代初頭に多くのソフトウェアを作成していましたが、OracleがSunを買収した後、OpenSolarisから多くの技術を採用しました。

FreeBSDが一般的にデスクトップOSと見なされ、OpenBSDがサーバーOSと見なされる一方で、あたしは実際にはFreeBSDをNAS及びルーターOS、OpenBSDをデスクトップ及びサーバーOSとして考えています。

OpenBSD vs NetBSD

この比較はより意味があると思います。
何故なら、OpenBSDは非常に早い段階でNetBSDからフォークされた為、多年にわたり大きく分かれてきました。
しかし、それでも、これら2つはお互いに多くの類似点を共有しています。
両方とも独自のX11のソフトフォークを搭載しており、両方ともDMが付属しており、両方とも1つ以上のWMが付属しており、両方ともシンプルさと最小限主義を目指しており、両方とも安定性を目指しており、両方とも多くのハードウェアアーキテクチャを対応しており、両方とも開発者志向であり、非常に友好的で助けになるコミュニティを持っています。

但し、性能の面では、NetBSDの方が明らかに優れています。
何故なら、NetBSDはOpenBSDよりも速いからです。
しかし、セキュリティの面では、明らかにOpenBSDの方が遥に優れています。
OpenBSD程安全なOSはありません

NetBSDにはOpenBSDにはない特定のパッケージがあり、OpenBSDにはNetBSDにはない特定のパッケージがありますが、どちらも非常に多くのソフトを提供しています。
あたしはOpenBSDの方がNetBSDよりも可也意見が強いと感じます。
場是なら、OpenBSDの開発者は自分達が使いたいソフトを作成するからですが、NetBSDはそれ程そうではない感じです。

NetBSDとFreeBSDの両方で、変更はユーザーによって投票されます。
一方、OpenBSDではTheo de Raadt氏が最終的な決定権を持っています。

NetBSDにはOpenBSDとFreeBSDの両方に欠けている本当に素敵な物があります。
それは第一者のソフト、第三者のソフト、及びパッケージマネージャからインストールされたソフトの非常に明確な区別です。
NetBSDが直接作成又はメンテナンスする全ての物は/usrに入ります。
pkgin又はpkg_addを使用してインストールされた全ての物は/usr/pkgに入り、make installを使用して自分でコンパイルした全ての物は/usr/localに入ります。
一方、FreeBSDとOpenBSDでは、自己コンパイルとパッケージマネージャでインストールされたソフトの区別はありません。
その為、どちらの場合も/usr/localに入ります。

NetBSDとOpenBSDは両方ともソフトをインストールする為にpkg_addを使用しますが、NetBSDは非常にパフォーマンスの高い新しいパッケージマネージャであるpkginも開発しました。
これはFreeBSDのpkgのパフォーマンスを思い起こさせます。
但し、OpenBSDとその第一者のソフトはこれまでで最も一貫性があり、全てが非常に簡単に設定出来、最後の詳細まで説明されています。

OSのインストールに関して、OpenBSDは世界一簡単にインストール出来るOSです。
インストールは通常、数分で完了します。
一方、NetBSDのインストールには非常に長い時間がかかります。
特に、全てのファイルセットをネットからダウンロードする時です。
何故かはわかりません。

しかし、あたしの意見では、NetBSDとOpenBSDの両方が優れたデスクトップOSであり、両方を同じくらい好きです。

NetBSD vs FreeBSD

この比較も意味があります。 何故なら、両方とも同じBSDコードベースに基づいており、それぞれ独自のビジョンを持ってほぼ同時期に到着したからです。
NetBSDとOpenBSDを比較するのは父と息子を比較する様な物ですが、NetBSDとFreeBSDを比較するのは、異なる国や大陸で育ち、成人するまでお互いに会った事がない兄弟を比較するのと近いです。
既に述べた様に、NetBSDとFreeBSDはどちらも非常に性能が高いですが、それが彼らが持つ唯一の類似点です。

NetBSDは遥に広範なハードウェア対応を持っていますが、FreeBSDは遥に広範なファイルシステム対応を持っています。
NetBSDはより最小限主義でシンプルですが、FreeBSDははるかに完全で高度です。
NetBSDはFreeBSDよりも遥に優れたデスクトップユーザー経験を提供しますが、FreeBSDはNetBSDよりも遥に優れたサーバー管理経験を提供します。

両者が最初から完全に異なる意見を持っている為、2つの間のユーザー経験は完全に異なります。

論断

OpenBSD、NetBSD、又はFreeBSDのどれを選ぶかは、貴方次第です。
明確な勝者はなく、誰もが異なるBSDで最も快適に感じるでしょう。
選択肢に関係なく、最終的には全てのBSDは兄弟の様であり、あたし達はみなお互いを好きです。
前述の様に、あたしは全ての異なるUnixシステムを4か月間試した後、OpenBSDで最も快適に感じました。
にしさんはNetBSDで最も快適に感じ、テクニカル魔理砂さんはFreeBSDで最も快適に感じました。
この記事では、あたしの個人的な経験に基づいて違いを説明し様としました。
これが、火タイプ(FreeBSD)、水タイプ(OpenBSD)、又は草タイプ(NetBSD)の間を選ぶのに役立つかもしん。
又は、貴方が寝過ごして研究所に遅れて到着した場合、電気タイプ(Linux)を選ぶかもしん。

以上