當主流Linux發行版採用systemd時,異議者會分叉分發並啟動新專案。那麼,如果您正在尋找非系統發行版,您有什麼選擇?我們來看看。
在歷史上,Linux系統中的啟動序列是systemv Unix(SysV)引入的初始化系統的副本。SysV init系統遵循Unix原理。當人們提到Unix哲學時,他們通常會把它簡化為眾所周知的“做一件事,把它做好”這句話,那就是先啟動第一個程序,然後再啟動其他程序。它還時不時地撲殺殭屍。
SysV init做得很好,但效率不高。它一個接一個地連續啟動程序。沒有平行性。這種設計限制了吞吐量。這或多或少被現代硬體的速度提升所掩蓋,而且引導Linux計算機並不是一個漫長的過程。但從技術上講,它本可以更有效。
與Linux中的其他一切一樣,使用者也有選擇的餘地。可供選擇。有能力的使用者可以將他們的Linux計算機配置為使用不同的init系統,一個並行啟動程序並以他們喜歡的方式工作的系統。
其中一些選項是:
systemd是SysV init的另一個替代品,但它包含了更多內容。它有管理物理裝置、使用者登入、網路名稱解析的模組,還有更多的模組它由70多個二進位制檔案和140多萬行程式碼組成。相比之下,用於Arch Linux的SysV init總計不到2000行程式碼。顯然,systemd已經完全拋棄了Unix哲學。不僅如此,它還犯下了進一步的異端邪說,完全無視可移植作業系統介面(POSIX)標準。
系統論是我在開源社群中見過的最激烈的爭論。(這就是說)同樣聲勢浩大的支援系統和沒有系統的營地當然不是唯一涉及的人。我和很多人交談,他們甚至不知道systemd是一件事,也有很多人聽說過,但不知道有足夠的細節,無法形成一種或那樣的意見。坦白說,他們不在乎。他們只是想讓東西起作用。
如果不確定是否使用基於systemd的發行版,請對程序ID 1執行ps命令。
ps -p 1如果您在響應中看到“systemd”,那麼很明顯,您正在使用systemd。如果它說的是其他的東西,通常是“init”——那麼你就不是。
相關報道:為什麼Linux的systemd在這麼多年後仍然存在分歧
不同的人出於不同的原因反對制度。對某些人來說,這是對傳統Unix哲學的漠視。雖然它不是一個強制性的教條,但它是“Unix方式”,而且它是一種經得起時間考驗的方式:可以透過管道將小的實用程式連線在一起,使它們的輸出成為管道中下一個程序的輸入,這是賦予Linux感覺和特性的核心部分。這使得它特別適合快速拼湊出創造性的解決方案,以滿足一次性或短期的需求。
其他人質疑systemd背後的設計決策,即“軟體架構”,為什麼要包含所有與引導系統無關的功能?如果其他元素需要更新或改進,就這樣做。但是,為什麼要將整個產品整合到一個龐大的、相互關聯的應用程式套件中呢?
有人擔心systemd開發人員對一般的bug修復,特別是對常見的漏洞和暴露的傲慢態度。程式碼行越多,需要處理的bug就越多。當這些bug與安全性相關並且有自己的CVE號分配給它們時,那麼您需要在昨天處理它們。
不管您想要離開基於systemd的Linux發行版的原因是什麼,問題是,您下一步要去哪裡?也許你想嘗試一些全新的東西。您可能希望瞭解新發行版的來龍去脈。另一方面,你可能既沒有時間也沒有胃口再學習一次。您希望在一個熟悉的系統上儘快恢復並執行。
如果你使用Debian或者無數Debian衍生工具中的一個,比如Ubuntu和它的整個家族,那麼你可以去看看Devuan。Devuan是Debian的分支,所以幾乎所有的東西都很熟悉。預設shell是Bash,包管理器是apt.Devuan是2014年從Debian派生出來的。它堅固而穩定,有一個欣欣向榮的社群。
如果您喜歡GNOME作為您的桌面環境,您將不得不做一些額外的工作。GNOME在安裝過程中不作為桌面選項提供。MATE、canfinon、XFCE和其他工具都是可用的,但是一旦您的系統啟動並執行起來,就必須手動安裝GNOME。
GNOME對systemd元件有一些依賴性,即udev硬體裝置管理器和logind登入管理器。gentoolinux開發人員已經建立了替代品。
eudev和elogind允許對systemd具有硬依賴性的應用程式像安裝systemd一樣執行。反systemd的純粹主義者也對此表示反對,他們認為迎合那些硬依賴於systemd的軟體幾乎和執行systemd一樣糟糕。
Devuan上init系統的選擇是SysV init或OpenRC。
Arch和Manjaro的使用者可能想嘗試一下Artix Linux。Artix是Arch OpenRC專案的一個分支。它的第一次釋出是在2017年。
archwiki包含用OpenRC替換systemd的說明,但是官方並不支援它。同樣,由於OpenRC支援是從Manjaro中刪除的,所以沒有Manjaro派生的發行版是systemd免費的。
因此,如果你想留在Arch領域,你需要選擇一個基於Arch的fork,比如使用不同init系統的Artix。阿蒂克斯在這方面確實做到了。在安裝過程中,您可以從三個不同的init系統中選擇一個。可以選擇OpenRC、runit和s6。
所有預期的桌面口味都有,比如肉桂、MATE、XFCE等等。測試中也有支援GNOME和i3平鋪視窗管理器的版本。
包管理器是pacman。當然,您可以使用它來安裝pamac、yay或任何其他Arch User Repository(AUR)助手。預設shell是Bash。
這就是你喜歡的沒有系統的Arch的一切。
systemd專案是一項紅帽計劃。systemd的主要開發人員是Red Hat員工。在Linux世界的許多人看來,任何來自“公司”Linux陣營的東西,例如Red Hat、Oracle、Intel、Canonical,都必須自動地不被信任。
systemd被描述為redhat的一個陰謀,旨在將Linux塑造成適合其嵌入式作業系統需求的東西。如果Red Hat需要一個為嵌入式系統量身定製的發行版,那麼僅僅建立一個發行版就更容易了。你不需要說服Arch、Ubuntu和OpenSUSE也這麼做。
當然,由於紅帽是systemd存在的全部原因,沒有systemd你就找不到紅帽導數。所以無論你搬到哪裡,都會有新的感覺。但是,如果您至少希望堅持使用Red Hat Package Manager(RPM)的發行版,那麼您應該檢視PCLinuxOS。
PCLinuxOS專案始於2003年,在Mandrake成為Mandriva之前,它是現在已經不存在的mandrakelinux的一個分支。PCLinuxOS的第一個版本出現在2007年,所以它比systemd早了很長一段時間。
雖然PCLinuxOS確實使用“.rpm”檔案,但它使用自己的包管理軟體apt-rpm來處理它們。這是以Debian世界的apt-get命令為模型的。還提供了synaptic的一個修改版本,它可以處理“.rpm”檔案而不是“.deb”檔案。
PCLinuxOS使用SysV init,並在安裝期間提供Pla**a、MATE和XFCE桌面環境的選擇。有幾個“communityremaster”版本提供了其他桌面環境,包括GNOME。預設shell是Bash。
要想真正瞭解您是否打算使用Linux發行版,最好的也是唯一的方法就是嘗試一下。最簡單的方法是在虛擬機器中。它使您當前的Linux安裝保持不變。您可以安裝並試用任意多個Linux發行版,直到找到您認為您想試用的版本為止。VirtualBox非常適合這樣做。
當您準備好安裝新的發行版時,請對當前安裝進行多次備份,然後才安裝新的Linux。
相關:初學者極客:如何建立和使用虛擬機器
...版小得多。它還使用自己的包管理系統和openRC指令碼,而systemd現在是現代Linux發行版的標準。 ...
... 然而,一旦Debian(Ubuntu軟體包的上游源)切換到systemd,Canonical決定也這樣做。Ubuntu 15.04(生動的Vervet)的釋出是第一個預設情況下使用新的啟動系統的版本。 ...
...輯器,但儘管它出現在Snap商店的搜尋中,但在Flathub中卻沒有出現。 ...
...常稱為PPAs。這些可以讓你輕鬆地安裝官方Ubuntu儲存庫中沒有的軟體包。這使得安裝範圍更廣的軟體比在Debian上容易得多。我們的PPA安裝和安全指南將在這裡幫助您。 ...
...體(包括經常出現問題的無線介面卡)都應該開箱即用。沒有必要掏出一個乙太網介面卡,在網上尋找一個工作的Wi-Fi驅動程式。 ...
您可能會對Linux社群的危機感到驚訝。幾年前,systemd init系統的建立加重了許多開發人員和使用者的負擔。大多數基於Linux的作業系統都採用了systemd,但也有一些選擇了另一種方法。 ...
...歡這樣一個事實:Slackware沒有“毫無意義”的新增,比如systemd、pam和SELinux。由於這些原因和其他許多原因,Slackware是Linux伺服器世界中最受歡迎的孩子。 ...