BSD vs Linux。 「基本システム」とは何ですか?

「コアシステム」の概念は、Linuxの方法論に慣れている人々にとって最も問題となるものです。 Linuxの世界では、そのような概念は存在しないため、これは理解できます。 また、「オペレーティングシステム」の概念に何が含まれているかについての永遠の議論がなければ、カーネル自体はあまり役に立ちません。 動作させるには、ユーザーシェル全体が必要です。 Linuxは複合企業です。 ここにカーネルがありますが、一方でls



ps



、vim、perl、gzip、tarがあります Linuxは、「ベースシステム」と「追加ユーティリティ」をまったく分離していません。 システム全体が「追加ユーティリティ」です。 MySQLはls、KDE、whois、dc、GnuCashからの違いはありません...システムの各ビ​​ットは特定のアドオンパッケージであり、逆にBSDには常に中央集中型の開発モデルがあります。 システムに「責任がある」コミュニティは常に存在していました。 BSDはGNU lsまたはGNU libcを使用せず、BSD lsおよびBSD libcを使用します。これらは、CSRGからBSDとともに配布されたlsおよびlibcの直接の子孫です。 それらは独立して設計または組み立てられたことはありません。 BSDの世界ではlibc自体が無意味なので、「どこにでもBSD libcをダウンロード」することはできません。 lsだけでは意味がありません。 コア自体は無意味です。 システムは、ヒープにまとめられた小さな断片ではなく、全体であり、さらにXは FreeBSDベースシステムの一部ではありません。 これはアドオンパッケージです。 Xは基本システムの一部ではないため、xterm、KDE、Gnome、Mozilla、gaim、xmmsなどのXアプリケーションなど もちろん、基本システムの一部にすることもできません。 これらは異なる方法で処理されるアプリケーションです。 主な違いは開発場所であり、NetBSDとOpenBSD コンソールドライバーと統合されているため、ベースにXがあります。 どちらも高度に修正されたバージョンを使用するため、個別のパッケージとして保存することは実用的ではなく、ベースシステム全体が共同で開発されています。 正確には、sendmail、BIND、tcpdump、sshなどの基本システムの部分があります。これらは実際には個別のパッケージであり、個別に開発されます。 groff、gcc、gzipなど、すべてのLinuxユーザーになじみのあるGNUアプリケーションがいくつかあります。 しかし、それらは特別な関係を持ち、ツリーにインポートされ、システムの他の部分に従って形成されます。 実際、それらの多くはBSD専用として使用されています。 BINDとsendmailはもともとBSDの一部としてBerkeleyで開発され、後になって個別のアプリケーションとして利用可能になりました。 私のFreeBSDはgccバージョン3.2.2で動作すると主張しています。 技術的には、これは正確にはgcc 3.2.2ではありません。 これは、gcc 3.2.2に基づいたFreeBSDコンパイラです。 システムにインストールされているtcpdumpのバージョンは、技術的にはバージョン3.7.2ではなく、tcpdump 3.7.2に基づくFreeBSD tcpdumpです。ほとんどの場合、FreeBSDのパッケージのバージョンは、実際にはベンダーのバージョンと事実上区別できません。 通常、システムの残りの部分に応じてアセンブリをクリーンにするために、コンパイル(Makefileなど)に関していくつかの変更が行われます。適切なコンパイルと実行のためのいくつかの重要なパッチもあります。 いくつかの変更はより広く、いくつかは面倒です。 しかし、彼らは集まって一緒に働くことを余儀なくされています。 BSDベースシステムのすべてのコンポーネントの設計の一貫性が保証されています。サードパーティが開発したパッケージをベースシステムに導入する最初の理由は、通常、パッケージが基本要件を満たし、デフォルトで最も使いやすいことです。 現在、FreeBSDはsshサーバーとOpenSSHクライアントを使用しています。これらはベースシステムに統合されています。現時点では、直接セキュアアクセス方式がすべてのシステムのベースであり、その実装が実用的な必要性があるからです。 gccとbinutilsは、ベースシステムに組み込まれているためです。 X、Gnome、PostgreSQL、Apacheなどはベースシステムに含まれておらず、システムを持ち上げて実行するために必要ではなく、多くのシステムで使用されず、そのような緊密な統合を必要としないため、おそらく含まれることはありません...私は、これがBSDとLinuxの開発方法論の最も顕著な違いだと思うので、「ベースシステム」のこちら側を強調することが重要です。 Linuxディストリビューターは、すべてのピースをまとめて、リリース前に互換性をテストできます。 一部のパッケージは変更される場合があります。 しかし、これはBSDの集中的な統合とはまったく異なります。 特に、ベースシステムの多くのコンポーネントはどこかから取られたものではなく 、すでにシステムの一部として生活しているという事実です。 /他のポートよりも。 システムを起動するために必要なものと、システムにインストールする他のすべてのパッケージとの間に一定の境界線があります。 これはベースBSDシステムとどう違うのですか? ほとんどのパッケージはまだ開発および保守されており、Linuxディストリビューションに組み込まれているだけです。 たとえば、「Gentoo tftp」などはありません-これはサードパーティのパッケージです。 BSDのパッケージの多くはサードパーティですが、「ベースシステム」のほぼ全体が「どこかから」ではなく、常にBSDでした。ベースシステムは、「ミニマリスト」または「メガー」とブランド化されることがあります。できる限り小さく簡潔にしたいという願望。 しかし、これは完全にそうではありません。 もちろん、このように表示したいのですが、名前のとおり、つまりシステムのベースになるように意図されているため、このように設計されています。 私の人生で、データベースにあるものだけでBSDを始めたことはありません。 これを行う人は誰も知りません。 ベースは、システムで作業するために必要なツールを提供し、アプリケーションを更新およびインストールできるようにするために必要です。 次に、システムの目的に応じて必要なものをすべてインストールします。上記のすべては、NetBSDやOpenBSDよりもFreeBSDの方が真実であると言われました。 いつものように、何が含まれているかを正確に知るにはシステムのドキュメントを参照する必要があります。



1. BSD対Linux。 エントリー。

2. BSD vs Linux。 キャラクター。



All Articles