Linux中國

NixOS 系列 #1:你為什麼要考慮使用 NixOS?

NixOS……又一個使用不同軟體包管理器的發行版??

好吧,NixOS 是 高級 Linux 發行版 之一。

所以如果我寫這個,我一定有一個充分的理由,對嗎?嗯,有很多!

我已經使用它 3 個月了,它是如此之好,以至於我正在考慮從我一直以來最喜歡的 Pop!_OS 切換到 NixOS

在本指南中,我將分享 NixOS 在眾多 Linux 發行版中脫穎而出的主要特點。

別擔心,在我們繼續之前,讓我告訴你什麼是 NixOS:

它是一個以 Nix 包管理器為核心的 Linux 發行版,為你省去了在其它的 Linux 發行版上設置 Nix 的麻煩,可以讓你充分利用它的優勢。由開發 Nix 的同一個團隊構建。

使用 NixOS 的 6 個理由

NixOS 是一個有趣的從零開始構建的 獨立 Linux 發行版

每個人都可以通過使用 NixOS 學到很多東西,但在我看來,如果你是一個開發人員或計算機科學的學生,NixOS 應該非常合適。

nix os screenshot with gnome

讓我告訴你為什麼。

1、不易損壞/易於恢復

就其核心而言,NixOS 是為長期使用而構建的。

這並不意味著它像 Debian 那樣用多年前的軟體包來保證穩定性,而是遵循一種不同的方法。

為了理解 NixOS 為何如此穩定,讓我們談談用戶一般是如何破壞他們的系統的,即「依賴性問題或軟體包衝突

在更新系統或安裝一個新的軟體包時,你一般會面臨系統崩潰的風險。主要是因為你的軟體包管理器無法滿足依賴性,或者安裝的軟體包與現有系統衝突導致的。

而 NixOS 有一個非常聰明的方法來處理這個問題。

你看,每當你升級你的系統或安裝一個軟體包時,系統的狀態就會被重建,被稱為超過當前的「 新世代 new generation 」。

nix os listing generations via terminal

因此,如果你在使用新的軟體包或更新時遇到任何麻煩,你可以隨時回滾到「 舊世代 old generation 」,在那裡你會找到系統以前的狀態

即使系統無法訪問,你也能在啟動時找到以前幾代。

2、可重複性

通過一個配置文件,你可以為其他物理系統創建一個你當前環境的副本。

這個功能給你帶來的好處是,你可以使用 Nix 配置文件進行安裝和配置。

當你有了適合你的用途的配置文件,將該文件發送到新的系統中,用你的配置文件替換默認的配置文件。就是這麼簡單!

重建配置,升級系統,並通過給定的命令進行切換:

sudo nixos-rebuild switch --upgrade

你將在幾分鐘內擁有與你的主機上完全相同的開發環境,並進行複製。

3、輕鬆回滾

雖然你可能已經從 NixOS 的 「 世代 generation 」 特性中得到了靈感。

但還有更多的內容。?️

NixOS 在很大程度上依賴於符號鏈接。如果這對你來說是一個新概念,請參考下面的指南:

如何在 Linux 中創建符號鏈接(完整指南)

一般來說,在其他 Linux 發行版中,當你升級一個軟體包時,新的軟體包會取代舊的。

但 NixOS 不是這樣的。

在 NixOS 中,軟體包被隔離並存儲在一個單獨的目錄中,這就是使用符號鏈接的原因。

每當你升級一個軟體包時,NixOS 會調整符號鏈接來定位新的軟體包,但不會刪除舊的

因此,如果你面臨與新包的衝突,只需切換到舊世代,符號鏈接有助於定位舊版本的包。?

4、Nix 包管理器

Nix 包管理器允許你訪問超過 80,000 個軟體包!不僅僅局限於 Linux,它還可以在 macOS、WSL2、Docker 等平台上使用。

而且,軟體包的可用性與 AUR 相似,甚至比 AUR 更好,因為你應該在 Nix 包管理器上找到幾乎所有的東西(我是認真的)。

例如,我想安裝 Librewolf 瀏覽器,這在大多數 Linux 發行版的默認倉庫中是不可用的。

但是,Nix 有它!這意味著你可以依靠 Nix 包管理器來安裝幾乎所有的軟體包。

如果你有先前的 Linux 經驗,它也相對容易理解。總而言之,Nix 包管理器令人印象深刻

5、使用同一軟體包的多個版本

這對開發者來說可能是至關重要的,有些應用需要特定依賴的舊版本,而有些則需要最新的版本。

而且,正如我前面提到的,Nix 將包安裝到一個特定的子目錄中,每個包都是隔離的,所以一個包不會干擾另一個包!

在使用 Nix 之前,我使用虛擬機和容器來滿足同一軟體包的不同依賴性,尤其是 PHP,但 NixOS 為我的工作流程帶來了奇蹟。

6、無需安裝就能測試軟體包的能力

你可以使用 nix-shell,它通過臨時修改 $PATH 環境變數來測試一個包。

而且沒有任何限制。你能夠測試每一個可供安裝的軟體包!

NixOS 系列:讓我們探索更多!

這是我們 Nix 系列的第一部分,我介紹了使用 NixOS 的原因。我相信更多的 Linux 用戶應該去了解它,如果他們還沒有了解的話。

在下一部分,我將解釋如何在你的虛擬機中安裝 NixOS。

? 歡迎在下面的評論中分享關於 NixOS 的其他內容的建議。

via: https://itsfoss.com/why-use-nixos/

作者:Sagar Sharma 選題:lkxed 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...