DUICUO

FreeBSD と Linux の違いについてどれくらい知っていますか?

[[143253]]

導入

BSDはもともとUnixから継承されたもので、現在では多くのUnix系OSがBSDをベースにしています。FreeBSDは、最も広く利用されているオープンソースのBerkeleyソフトウェアディストリビューション(BSDディストリビューション)です。その名の通り、FreeBSDはフリーでオープンソースのUnix系OSであり、パブリックサーバープラットフォームです。FreeBSDのソースコードは通常、Permissive BSDライセンスの下で公開されています。Linuxと多くの類似点がありますが、それでも多くの点で異なる点があることも認識しておく必要があります。

この記事の残りの部分は、次のように構成されています。FreeBSD の説明は *** セクション、FreeBSD と Linux の類似点は 2 番目のセクション、相違点は 3 番目のセクション、機能の説明と概要は *** セクションにあります。

FreeBSDの説明

歴史

  • FreeBSDの最初のバージョンは1993年にリリースされ、最初のCD-ROMは同年12月にリリースされたFreeBSD 1.0でした。その後、1995年にリリースされたFreeBSD 2.1.0は広く普及しました。実際、多くのIT企業がFreeBSDを採用し、高い満足度を得ています。IBM、Nokia、NetApp、Juniper Networksなどがその例です。

ライセンス

  • FreeBSDはライセンスに関して、様々なオープンソースライセンスの下でリリースされています。そのコアコードであるカーネルは2行BSDライセンスの下でリリースされており、FreeBSDの使用と再配布の完全な自由が認められています。その他のコードは3行BSDライセンスまたは4行BSDライセンスの下でリリースされており、一部はGPLライセンスとCDDLライセンスの下でリリースされています。

(LCTT 翻訳者注: BSD ライセンスは GPL ライセンスに比べてかなり短く、元々は 4 行のルールのみで構成されていました。1999 年に RMS の要請により 3 行目が削除され、新しいライセンスは「New BSD」または 3 行バージョンの BSD と呼ばれました。元の BSD ライセンスは「Old BSD」、「Revised BSD」または 4 行バージョンの BSD と呼ばれています。また、3 行目と 4 行目を取り除いたバージョンもあり、これは 2 行バージョンの BSD と呼ばれ、MIT ライセンスに相当します。)

ユーザー

  • FreeBSDの重要な特徴の一つは、ユーザーベースとしての汎用性です。実際、FreeBSDはメールサーバー、Webサーバー、FTPサーバー、ルーターなど、様々な用途に使用できます。必要なサービスソフトウェアを実行するだけで利用できます。さらに、FreeBSDはARM、PowerPC、MIPS、x86、x86-64アーキテクチャをサポートしています。

FreeBSDとLinuxの類似点

FreeBSDとLinuxはどちらもフリーでオープンソースのソフトウェアです。実際、ユーザーはソースコードを容易に閲覧・改変することができ、完全な自由を享受しています。さらに、FreeBSDとLinuxはどちらもUnixライクなシステムであり、カーネル、内部コンポーネント、ライブラリは歴史的なAT&T Unixから継承されたアルゴリズムを使用しています。FreeBSDは基本的にUnixシステムに似ていますが、LinuxはフリーのUnixライクなシステムとしてリリースされています。多くのツールやアプリケーションはFreeBSDとLinuxの両方で利用でき、実際、機能はほぼ同一です。

さらに、FreeBSDは多数のLinuxアプリケーションを実行できます。Linux互換レイヤをインストールできます。これは、FreeBSDのコンパイル時にAAC Compact Linuxを組み込むか、Linux互換レイヤを組み込んだコンパイル済みのFreeBSDシステムをダウンロードすることで入手できます。このシステムには、互換プログラム(aac_linux.ko)が含まれています。FreeBSDとは異なり、LinuxではFreeBSDソフトウェアを実行できません。

***、これらは同じ目標を共有していますが、いくつかの違いもあります。次のセクションでそれらについて説明します。

FreeBSDとLinuxの違い

現在、FreeBSD と Linux は多くの同じアプリケーションを共有しており、どちらも Unix のようなシステムであると考えられるため、ほとんどのユーザーにとってどちらを選択するかについて明確なガイドラインはありません。

この章では、2 つのシステム間の重要な違いをいくつか挙げます。

ライセンス

  • 2つのシステムの主な違いはライセンスにあります。LinuxはGPLライセンスの下でリリースされており、ユーザーはソースコードの閲覧、配布、改変の自由が認められています。GPLライセンスは、ユーザーが単にバイナリを配布するのを防ぐのに役立ちます。一方、FreeBSDはBSDライセンスの下でリリースされており、派生作品はGPLライセンスの下でリリースする必要がないため、GPLよりも寛容なライセンスとなっています。つまり、すべてのユーザーは以前のライセンスを維持することなく、コードを使用、配布、改変できるということです。
  • ニーズに合わせて2つのライセンスからお選びいただけます。まずBSDライセンスは、その具体的な規約からより広く普及しています。実際、このライセンスでは、ソースコードの非公開性を維持しながら、ユーザーがこのライセンスの下でリリースされたソフトウェアを販売することが許可されています。次にGPLがあります。このライセンスの下でリリースされたソフトウェアを使用するすべてのユーザーは、細心の注意を払う必要があります。
  • 異なるライセンスでリリースされた 2 つのソフトウェア プログラムの中から選択する場合は、それぞれのライセンスと開発に使用された方法論を理解して、機能の違いを理解し、ニーズに最適なものを選択する必要があります。

コントロール

  • FreeBSDとLinuxは異なるライセンスでリリースされているため、LinuxカーネルはLinus Torvalds氏が管理しているのに対し、FreeBSDはLinuxとは異なり、管理されていません。個人的には、FreeBSDは真の意味で自由ソフトウェアであり、管理権限を持たないため、LinuxよりもFreeBSDを好みます。LinuxとFreeBSDには他にも違いがあるため、この記事を読むまではどちらを選ぶか決めないことをお勧めします。

オペレーティング·システム

  • Linuxは主にカーネルシステムを指しますが、FreeBSDではシステム全体がメンテナンスされます。FreeBSDカーネルとFreeBSDチームによって開発されたソフトウェアセットは、全体としてメンテナンスされています。実際、FreeBSD開発者はコアオペレーティングシステムをリモートから効率的に管理できます。
  • Linux側では、システム管理にいくつかの困難があります。異なるコンポーネントが異なるソースによってメンテナンスされているため、Linux開発者はそれらを統合して同じ機能を実現する必要があります。
  • FreeBSDとLinuxはどちらもユーザーに幅広いソフトウェアオプションとディストリビューションを提供していますが、管理方法は異なります。FreeBSDは統合管理アプローチを採用していますが、Linuxでは個別のメンテナンスが必要です。

ハードウェアサポート

  • ハードウェアサポートに関しては、LinuxはFreeBSDよりも優れています。しかし、これはFreeBSDがLinuxのハードウェアサポート機能を備えていないという意味ではありません。単に管理方法が異なるだけで、多くの場合、具体的なニーズによって異なります。したがって、高度にカスタマイズされたソリューションをお探しの場合はFreeBSDの方が適していますが、より汎用性の高いソリューションをお探しの場合はLinuxの方が適しています。

ネイティブ FreeBSD とネイティブ Linux

  • これら2つのオペレーティングシステムは、ネイティブアーキテクチャが異なります。前述の通り、LinuxはLinus Torvaldsによって開発され、インターネット上の多くのギークの協力を得て実装されたUnixの代替OSです。Linuxは、仮想メモリ、共有ライブラリ、動的ロード、優れたメモリ管理など、現代のシステムに必要なすべての機能を備えています。GPLライセンスの下でリリースされています。
  • FreeBSDはUnixの多くの重要な機能も継承しています。FreeBSDはカリフォルニア大学で開発されたBSDのディストリビューションです。BSD開発の最大の目的は、AT&Tのオペレーティングシステムをオープンソースシステムに置き換え、ユーザーがAT&Tライセンスなしで使用できるようにすることでした。
  • ライセンスの問題は開発者にとって最大の懸念事項です。彼らはUnixを模倣したオープンソースシステムを提供しようとしています。FreeBSDはBSDライセンスに基づいて配布されているため、Linuxよりも自由度が高く、ユーザーの選択に影響を与えます。

サポートされているソフトウェアパッケージ

  • ユーザーの観点から見ると、ソフトウェアパッケージとソースからインストールされるソフトウェアの可用性とサポートにも違いがあります。Linuxはコンパイル済みのバイナリパッケージのみを提供しますが、FreeBSDはコンパイル済みのパッケージだけでなく、ソースからコンパイルおよびインストールするためのビルドシステムも提供しています。FreeBSDでは、portsツールを使用することで、コンパイル済みのパッケージ(デフォルト)を使用するか、コンパイル時にソフトウェアをカスタマイズするかを選択できます。(LCTT翻訳者注:これは誤りです。Linuxはソースコード形式のパッケージも提供しており、自分でビルドすることもサポートしています。)
  • これらのportsを使うと、FreeBSDをサポートするあらゆる種類のソフトウェアをビルドできます。さらに、これらは階層的に管理されており、ソースファイルとFreeBSDの適切な使用方法に関するドキュメントは/usr/ports以下に配置されています。
  • ここで紹介したportsは、ソフトウェアパッケージの異なるバージョンを生成する機能を提供します。FreeBSDでは、ソースコードからビルドされたソフトウェアとコンパイル済みパッケージの両方が提供されますが、Linuxではコンパイル済みパッケージしか提供されません。どちらのインストール方法を使用しても、システムを管理できます。

FreeBSDとLinuxでよく使われるツールの比較

  • FreeBSDでは多くの一般的なツールが利用可能で、興味深いことに、それらはFreeBSDチームが所有しています。一方、LinuxツールはGNUから提供されているため、使用にはいくつかの制限があります。(LCTT翻訳者注:Linuxが正式に「GNU/Linux」と呼ばれるのもこのためです。Linuxは基本的にカーネルのみを指すためです。)
  • 実際、FreeBSDはBSDライセンスを採用しており、これは非常に有益で有用です。そのため、コアオペレーティングシステムのメンテナンスとアプリケーションの開発管理が可能です。先祖であるBSDやUnixのツールに類似したツールもいくつかありますが、最小限の後方互換性のみを目的とするGNUスイートとは異なります。

標準シェル

  • FreeBSDはデフォルトでtcshを使用します。これはcshの評価版です。FreeBSDはBSDライセンスの下でリリースされているため、GNUコンポーネントのbashシェルを使用することは推奨されません。bashとtcshの唯一の違いは、tcshのスクリプト機能です。実際、FreeBSDではshシェルを使用することをお勧めします。shシェルの方が信頼性が高く、tcshとcshの使用時に発生するスクリプトの問題を回避できるからです。

より階層的なファイルシステム

  • 前述の通り、FreeBSDではベースオペレーティングシステムとオプションコンポーネントを簡単に区別できます。そのため、これらの管理にはいくつかの標準があります。Linuxでは、/bin、/sbin、/usr/bin、/usr/sbinは実行ファイルが格納されるディレクトリです。FreeBSDは異なり、実行ファイルの整理方法にいくつかの追加仕様があります。ベースオペレーティングシステムは/usr/local/binまたは/usr/local/sbinディレクトリに配置されます。このアプローチは、ベースオペレーティングシステムとオプションコンポーネントの管理と区別に役立ちます。

結論は

FreeBSDとLinuxはどちらもフリーでオープンソースのシステムであり、類似点と相違点があります。上記の点は、必ずしもどちらのシステムが優れているかを示すものではありません。実際、FreeBSDとLinuxはそれぞれ独自の特徴と技術仕様を持ち、他のシステムとは一線を画しています。さて、皆さんはどう思われますか?すでにどちらかをお使いですか?もしそうなら、ぜひフィードバックをお寄せください。そうでないなら、この説明をお読みになった後のご感想をお聞かせください。コメント欄でぜひご意見をお聞かせください。