Linux
為什麼有不同類型的 linux 發行版?從根本上說,是什麼讓它們與眾不同?
它們都使用 Linux 核心(下層)。儘管版本不同,它們都為同一組包(更高層)提供支持。即使他們的信仰和“哲學”不同,是什麼讓他們在最基本的層面上獨一無二?
我能想到的一件事是他們的包管理。
- 基於 Debian -
dpkg
- 拱門 -
pacman
- Gentoo -
portage
- 基於 RPM -
rpm
以及他們自己獨特的處理元數據和解決依賴關係的方式。這是唯一的主要技術差異嗎?他們的設計有根本的不同嗎?(如何?)
另一個區別(我認為)可能是它們處理守護程序服務的方式。但我並沒有深入研究這個領域。
部分原因只是歷史差異,部分原因是不同的發行版面向不同類型的使用者。Red Hat 和 Debian 主要針對需要可靠、穩定軟體的商業環境;Ubuntu 的目標使用者是那些想要以最少的麻煩獲得最新、最好的版本的人;Arch 和 Gentoo 的目標使用者是想要親自動手和微調系統的專家。
Linux 發行版的作用是系統集成:將構成系統的所有部分(核心、庫、程序)組合在一起,將它們配置為一起工作,執行穩定性測試,並為使用者提供安裝程序和更新系統。這還涉及開發附加的支持軟體,例如安裝程序和軟體包系統。
系統組合(即集成)的方式取決於將要使用它的人的需求,因此您會發現發行版之間的差異。Gentoo 開發了 Portage,讓愛好者可以輕鬆地使用定制的建構選項重新編譯他們的整個系統;Red Hat 開發了kpatch,允許管理員應用核心安全更新檔,而無需重新啟動他們的關鍵任務伺服器。
發行版的包系統只是其係統集成的一部分。守護程序等系統服務的啟動方式以及網路和安全策略等其他內容的配置也是如此。