BSDとは何か、それはLinuxとどのように異なるのか?
要約
- BSDはUnixから派生したものであり、LinuxはUnixの類似物として書かれました。
- BSDとLinuxは異なるカーネルとパッケージマネージャを使用しています。BSDはより純粋なUnix体験に近いです。
- FreeBSDインストーラーは無駄がなくターミナルベースであり、グラフィカルデスクトップ環境を持ちたい場合は、インストール後の手順があります。
あまり知られていないオペレーティングシステムを探していると、BSDまたはFreeBSDというものに出くわすことがあるでしょう。LinuxとBSDはどちらもオープンソースのUnixライクなオペレーティングシステムですが、異なります。知っておくべきことはこれです。
BSDは死んだ、万歳BSD
Linuxはゼロから作られたUnixの模倣ですが、BSDは実際にはUnixから派生したものです。Unixは1960年代後半にベル研究所で開発されたオペレーティングシステムです。1973年にUnixの主な開発者の2人が会議で論文を発表した際、関心のある人々が彼らの新しいOSのコピーを要求しました。
AT&T(ベル社の親会社)への貿易制限のため、ベルはUnixを収益源として扱うことができなかった。制限を回避するために、ベルはUnixのコピーをソースコードとライセンスとして、送料をカバーするための非常に少額の料金で配布した。カリフォルニア大学バークレー校は、その提案を受けた多くの大学の一つであった。
Unixの主なアーキテクトであるケン・トンプソンは、ベル研究所からの休職を取り、バークレーで客員教授として働きました。大学院生たちと共に、役立つツールや重要な修正を追加する作業に取り組みました。後にサン・マイクロシステムズを共同設立する大学院生ビル・ジョイは、仮想メモリの取り扱いやTCP/IPネットワーキングスタックなど、重要な貢献をしました。
バークレーの改善に対する関心が高まったため、これらはUnixのアドオンパックとして提供されることになり、バークレーソフトウェア配布、またはBSDと呼ばれました。Unixを持っていることが前提条件であったため、ユーザーは依然としてUnixのライセンスを取得する必要がありました。キース・ボスティックの主導により、AT&Tのコードは次第にバークレーで書かれたコードに置き換えられ、BSDの改善を取り入れた自由に利用可能なUnixに似たオペレーティングシステムが作成されました。
インテル80386プロセッサーで実行できるバージョンが作成され、386BSDと呼ばれ、デスクトップPC上のBSDが誕生しました。386BSDはフォークされて、FreeBSDオペレーティングシステムが作成されました。
オリジナルのBSDは時代遅れになりましたが、FreeBSDやその直接の子孫、さらにはいくつかの意外な場所で生き続けています。
BSDがLinuxと異なる点
系譜や遺産を除けば、Linux と他の BSD の間には違いがありますが、その中で最も人気があるのは FreeBSD です。FreeBSD は Unix に似た オペレーティングシステムですが、Linux と同様に、大文字の UNIX として認証されたものではありません。
大きな違いはカーネルです。FreeBSDは独自のカーネルを持っています。Linuxカーネルは使用していません。macOSでは、BSDカーネルの大幅に改良されたバージョンが使用されており、皮肉なことに、それは認定されたUNIXです。
Unix系オペレーティングシステムのための通常のコマンドラインツールはすべて見つかりますが、使用する前にマニュアルページを確認してください。ツールのLinuxバージョンに慣れている場合、FreeBSDの多くのツールのオプションには違いがあることに気付くでしょう。それは必要なことを行うのを妨げることはありませんが、あちこちでつまずくことになるでしょう。
FreeBSD上でLinuxアプリを実行することは可能ですが、これにはDockerイメージの使用やLinux互換レイヤーのインストールなど、いくつかの追加作業が必要です。ただし、36,000以上のネイティブFreeBSDアプリケーションがあるため、Linuxソフトウェアを全く実行する必要がないかもしれません。
FreeBSDでアプリケーションをインストールする方法は2つあります。Portsはソースコードを使用し、あなたのコンピュータでローカルにコンパイルされます。また、バイナリパッケージも利用可能で、FreeBSDのパッケージマネージャーであるpkgを使って管理されます。
FreeBSDのハードウェア互換性は問題になることがあります。特にノートパソコンでは、Bluetooth、Wi-Fi、または音声の動作が難しいか、あるいは不可能になることがあります。しかし、一度動き始めると、FreeBSDは安定性に関して非常に高い評判を持ち、多くのFreeBSDユーザーはデスクトップオペレーティングシステムとして使用しなくても、ホームサーバーのためにそれを採用しています。
FreeBSDの安定性の一部は、その小さな開発者コミュニティの結果かもしれません。このコミュニティは、Linuxディストリビューションのコミュニティよりもはるかに遅いペースで進んでいます。「素早く動いて物を壊す」というのとは真逆の考え方が、FreeBSDのメンタリティであり、これは明らかに成功を収めています。
もう一つの大きな違いはライセンスです。FreeBSDは2条項BSDライセンスを使用しており、これはFreeBSDの商業利用を許可し、また商業製品への組み込みを許可します。また、ソースコードの修正が商業的かつ非公開と見なされることも許可します。
FreeBSDを使用する
FreeBSDインストーラーはテキストベースのユーザーインターフェースを備えています。
それは1990年代初頭のものであるように感じるかもしれませんが、機能し、適度なサポートを提供します。
インストール後、FreeBSDの動作バージョンが利用可能になりますが、これはコマンドラインのみです。デスクトップ環境はありません。もしデスクトップ環境が必要な場合は、インストールする必要があります。これは理にかなっています。家庭用サーバーを運用している場合、グラフィカルなデスクトップに気を使うことはないでしょう。
私はGNOMEをインストールしましたが、数分しかかかりませんでした。全体として、インストールプロセスは約10分かかりましたが、FreeBSDのISOイメージのダウンロード時間は含まれていません。インストールされたGNOMEのバージョンは、FedoraやArchと一緒に得られるような、プレーンバニラの、手を加えていないGNOMEのようでした。
ソフトウェアのインストールは簡単でした。pkgの使用はpacman、dnf、またはaptの使用に似ています。rsyncをインストールするために、まずsuコマンドを使ってrootユーザーに切り替えました。
su root
コマンドプロンプトの最後の文字は、ルートの場合はポンド記号の「#」です。通常のユーザーの場合は、ドル記号の「$」です。
ルートとして、私はpkgコマンドを実行しました。
rootを使用し終えたら、通常のユーザーに戻るためにログアウトする必要があります。これは、exitと入力するか、Ctrl+Dを押すことで行えます。
デフォルトのシェルはshであり、Bashではありません。shシェルはPOSIX準拠ですが、Bashはその準拠を試みていません。Bashに慣れているなら問題ありませんが、スクリプトを書く際には注意が必要です。一部のBash拡張機能、例えば二重ブラケット[[ ]]の比較は存在しませんので。
コマンドラインにも違いがあります。例えば、shにはBashのジョブ制御機能に似たものはありません。
驚くほど広い遺産
今日のBSDの精神が生き続けているのを見るのは素晴らしいことであり、macOSやiOSの中心には部分的にBSDカーネルに基づいているカーネルがあること、さらにMicrosoftがBSDのTCP/IPスタックを使用してWinsockライブラリや独自のTCP/IPネットワークルーチンを実装しているということを考えるのは興味深いことです。
FreeBSDや他のBSDは、Linuxよりもはるかに純粋なUnix体験を提供します。それが重要でないなら、Linuxはより広範なハードウェアでスムーズな使い心地を提供します。







