web-dev-qa-db-ja.com

純粋なGNUを実行することは可能ですか?

GNUプロジェクトウェブページ には、「All GNU packages」というサブセクションがあります。 GNUプロジェクトのさまざまなソフトウェアをリストします。

これらのパッケージを使用するGNUディストリビューションのみ-つまり「純粋な」GNUオペレーティングシステムGNUパッケージでのみ実行されますか?

これが実用的なオペレーティングシステムであるかどうかは、特に興味はありませんが、理論的にはGNU HurdwithpurelyGNU packages。そうでない場合、この目標を達成するにはどのようなソフトウェアを実装する必要がありますか(不足しているものなど)?

GNU Hurdが制限要因である場合、カーネルに対して例外が発生した場合よりも、純粋なGNU OS Linuxカーネルを使用して可能ですか?

23
Vilhelm Gray

GNUプロジェクトの明確な目標は、完全なオープンソース/ライブラリ/無料のオペレーティングシステムを提供することです。

これらのパッケージのみを使用するGNUディストリビューション、つまりGNUパッケージのみで実行される「純粋な」GNUオペレーティングシステムはありますか?

「GNU Mach、Hurd、Cライブラリ、および多くのアプリケーションで構成される」Hurdに基づく公式サウンドのGNUバイナリディストリビューションへの参照 here があります。ただし、他のオンラインリファレンスを見つけることができなかったため、現在維持されているかどうかは不明です。しかし、それはあなたの基準に合うように聞こえます。

GNU Hurdを純粋にGNUパッケージで実行することが理論的に可能であるとしても、これが実用的なオペレーティングシステムになるかどうかについては、特に興味はありません。

前の質問への答えは明白な答えWRT Hurdを意味します。もちろん、合理的に完全な「オペレーティングシステム」として数えるものをより正確に定義するのに役立つ場合があります。 2つの定義を提供します。

  1. シェルプロンプトを起動するのに十分なソフトウェアのコレクション。

  2. POSIX基準を満たすシステム。 POSIXシステムの最高レベル必須エンティティはシェルであるため、これは基本的に#1のより厳密なバージョンです。

特別な目的を果たすように設計されたオペレーティングシステムはシェルをまったく必要としない場合があるため、これは少し恣意的です。ただし、その場合は、「特別な目的」の性質についてより具体的な質問になります。

いずれにせよ、答えはyesですが、GNUの一部の実装は完全にPOSIXに準拠していない場合があります(必要なユーティリティがいくつかあります) 、GNUが提供しないcrontabなど)。潜在的なコンポーネントは次のとおりです。

  • カーネル(Hurd)
  • Cライブラリ(glibc)
  • 必須ユーティリティ(GNU core-utilsなど)
  • シェル(bash、GNUプロジェクト)

ブートローダーはOSの一部ではないため、ここには含めませんでしたが、いずれにせよ、grubもGNUプロジェクトです。

20
goldilocks

Guix SD 、ディストリビューションの1つ GNUによって承認 はGNU Project it selfによって開発されました! GNU Guixパッケージマネージャーが付属しています。 Linux-Libreカーネルを使用しますが、GNU Hurdでの動作もサポートしています。 GNU Shepherd initシステムを使用します。

Guixシステム配布(GuixSD)は、高度なGNUプロジェクトによって開発されたGNUオペレーティングシステムの配布 —であり、コンピュータユーザーの自由を尊重します。

GuixSDは、GNU Guixパッケージマネージャーを中心としたGNUオペレーティングシステムのディストリビューションです。これはLinux-libreカーネルを使用しており、Hurdのサポートに取り組んでいます。 a GNU distributionのように、ユーザーの自由を尊重し、強化することを約束します。そのため、GNU無料システム配布ガイドラインに準拠しています。

注:まだベータ版であり、純粋なGNUはまだです。

7
Pandya

GNU=ウェブサイトを見てください。彼らはそこにGNU/Linuxディストリビューションのリストを保持しています:

これらはまだLinuxカーネルを実行していますが、代わりにGNU Hurdカーネルでのみ実行するように適合させることができます。

Hurdカーネルを使用してDebianを実行する方法をカバーする次のリンクもあります。

同じページには、Arch + Hurdなどの他のいくつかのディストリビューションへのリンクもあります。

3
slm