是否可以執行純 GNU?
在GNU 項目網頁上,有一個名為“所有 GNU 軟體包”的小節列出了 GNU 項目中的各種軟體。
是否有任何僅使用這些軟體包的 GNU 發行版——即僅在 GNU 軟體包上執行的“純”GNU 作業系統?
我對這是否是一個實用的作業系統並不特別感興趣,只要理論上可以用純粹的GNU 軟體包執行****GNU Hurd。如果沒有,還必須實現什麼樣的軟體才能實現這個目標(即缺少什麼)?
如果GNU Hurd是限制因素,那麼如果核心例外,那麼純GNU 作業系統是否可以使用Linux核心?
GNU 項目的明確目標是提供一個完整的開源/自由/免費作業系統。
是否有任何僅使用這些軟體包的 GNU 發行版——即僅在 GNU 軟體包上執行的“純”GNU 作業系統?
這裡引用了一個基於 Hurd 的官方 GNU 二進制發行版,它“由 GNU Mach、Hurd、C 庫和許多應用程序組成”。但是,它目前可能會或可能不會被維護,因為我找不到任何其他線上參考。但這聽起來確實符合您的標準。
我對這是否是一個實用的作業系統並不特別感興趣,只要理論上可以用純粹的 GNU 包執行 GNU Hurd。
上一個問題的答案暗示了一個明顯的答案 WRT Hurd。當然,它可能有助於更準確地定義什麼算作一個相當完整的“作業系統”。我將提供兩個定義:
- 足以啟動到 shell 提示符的軟體集合。
- 滿足 POSIX 標準的系統。這本質上是 #1 的更嚴格版本,因為 POSIX 系統中最高級別的強制實體將是 shell。
這有點武斷,因為旨在實現某些特殊目的的作業系統可能根本不需要外殼。但是,在這種情況下,“特殊目的”的性質將成為一個更具體的問題。
無論如何,答案是肯定的,儘管 GNU 對某些事情的實現可能不是 100% 完全符合 POSIX(並且有一些必需的實用程序,例如
crontab
GNU 不提供)。以下是潛在的組件:
- 核心(赫德)
- C 庫 (glibc)
- 基本實用程序(GNU core-utils 等)
- Shell(bash,它是一個 GNU 項目)
我沒有包含引導載入程序,因為它不是作業系統的一部分——但無論如何
grub
也是一個 GNU 項目。