首頁 > 系統教程 > Linux > NIX軟件包經理:初學者指南2024

NIX軟件包經理:初學者指南2024

Joseph Gordon-Levitt
發布: 2025-03-19 09:06:21
原創
325 人瀏覽過

該詳細的教程說明瞭如何使用Linux中的Nix Package Manager進行諸如安裝,刪除,更新和升級軟件包之類的軟件包管理操作。

我們將以簡短的介紹開始本指南,然後是常用的Nix命令,其中包含示例。

目錄

NIX軟件包經理的簡要介紹

NIX是一款軟件包管理器,可以使安裝和管理軟件在Linux和Unix系統上簡單可靠。它解決了常見問題,例如軟件衝突,並確保每個軟件安裝都是可預測且安全的。

使用Nix,您可以在計算機上具有不同版本的程序,而無需它們彼此干擾。這意味著您可以更新,添加或刪除軟件,而不必擔心破壞任何內容。

Nix對其處理軟件的處理方式很聰明。它可以跟踪每個程序需要運行的所有部分。這樣,當您安裝程序時,它不會弄亂另一個程序。如果新軟件更新出現問題,NIX可以讓您輕鬆地回到以前的樣子。

NIX軟件包管理器不僅適合個人用戶,而且適合開發人員和管理服務器的人員。它通過確保所有人都使用相同的軟件設置來幫助每個人在同一頁面上。將軟件從一台計算機移動到另一台計算機時,這會減少驚喜。

尼克斯(Nix)有大量的軟件可供選擇,並且這些軟件都是由用戶社區維護的。無論您是獨自工作還是與團隊一起工作,這都是管理軟件的可靠選擇。

有關NIX的更多詳細信息,請參閱我們以前的指南:

  • NIX - Linux和Unix的功能強大的軟件包管理器

NIX軟件包管理器入門

確保您已經安裝了NIX軟件包管理器。如果您尚未安裝NIX,請參閱下面給出的NIX安裝指南。

  • 如何在Linux中安裝NIX軟件包管理器

設置NIX軟件包管理器後,您可以開始使用它來立即安裝和管理應用程序。

尼克斯有許多命令。軟件包管理的主要命令是Nix-env 。此命令用於列出,安裝,更新,回滾,刪除,查詢軟件包。讓我們查看一些命令。

提示:如果您還不知道,則不需要成為rootsudo用戶就可以使用NIX進行所有軟件包管理操作。

使用NIX頻道

NIX頻道在NIX軟件包管理器生態系統中起著重要作用。

NIXPKGS存儲庫包含所有軟件包,NIXOS模塊和表達式。雖然可以直接從Nixpkgs的主分支直接安裝軟件包,但這種方法可能會冒險,因為在徹底測試之前,將提交合併到主機中。

通道代表Nixpkgs中最新的“驗證” GIT委託。每個渠道都有自己對“驗證”含義的定義。

驗證新的Git提交時,相應的頻道將更新。頻道用戶從二進制緩存的經過驗證的提交和二進制軟件包中受益。

用簡單的單詞來說明這一點, NIX通道只是一個指向一個包含一組Nix表達式和清單的地方。

渠道的類型

有幾個渠道,它們可以大致分為穩定不穩定的渠道,以及大型小型渠道

穩定/不穩定

  • 穩定渠道:這些為錯誤修復和安全漏洞提供了保守的更新。初始版本後未引入重大更新。新穩定頻道每六個月發布一次。
  • 不穩定的頻道:與Nixpkgs的主要開發分支(不穩定)相對應,這些頻道以滾動為基礎提供了最新的測試更新。

大/小

  • 大型頻道:這些為全尼克斯基的寬度提供了二元構建。
  • 小通道:類似於大通道,但二進製文件較少。他們更快地更新,但需要從源頭進行更多的構建。

默認頻道

默認情況下,安裝nix時,將自動添加nixpkgs頻道。

查看訂閱的頻道

訂閱的頻道列表存儲在〜/.nix-enannels文件中。您可以通過查看其內容來驗證它。

 $ cat〜/.nix-nix通道
https://nixos.org/channels/nixpkgs-unstable <strong>nixpkgs</strong>
登入後複製

如您所見,NIX默認情況下添加了NixPKGS頻道。

添加頻道

您也可以手動在系統中添加通道,如下所示。

 $ nix-channel -add https://nixos.org/channels/nixos-23.11
登入後複製

官方頻道在https://nixos.org/channels上列出。

更新頻道

訂閱(添加)頻道後,您應該更新頻道列表,以獲取最新的可用NIX表達式:使用命令:

 $ nix-channel-更新
登入後複製
登入後複製
登入後複製

此命令將更新所有頻道。如果要更新特定的頻道,例如nixos-23.11,則命令是:

 $ nix-channel-上升尼克斯23.11
登入後複製

列表頻道

要在標準輸出上打印所有訂閱渠道的名稱和URL,請運行:

 $ nix-channel-列表
登入後複製

樣本輸出

 <strong>nixpkgs</strong> https://nixos.org/channels/nixpkgs-unstable
<strong>Nixos</strong> https://nixos.org/channels/nixos-23.11
登入後複製

如您所知,現在我添加了兩個頻道,即Nixpkgs-unstableNixos-23.11 。請注意,Nixpkgs和Nixos只是Nixpkgs- Unstable和Nixos-23.11的別名。

刪除通道

要刪除訂閱的通道,例如Nixos-23.11 ,只需運行:

 $ nix-channel-remove nixos-23.11
登入後複製

刪除頻道後,使用命令更新頻道列表:

 $ nix-channel-更新
登入後複製
登入後複製
登入後複製

搜索/查詢軟件包

Nix-env --Query命令在NIX軟件包管理器中提供有關軟件包的信息。

目的

Nix-env - 標準操作顯示有關以下信息的信息:

  • 存儲在當前一代中安裝的活動配置文件(安裝)中的路徑。
  • 可在Active Nix Expression( - 可用)中安裝的推導。

它僅打印有關其符號名稱匹配指定名稱之一的派生的信息。

標誌和選項

可以使用Nix-env -Query命令的常見標誌和選項是:

  • - 安裝:顯示有關已安裝的商店路徑的信息(默認行為)。
  • - 可用或-a:顯示有關用於安裝的推導的信息。
  • -Status或-s:打印派生的狀態(已安裝,存在於系統上,可替代)。
  • - attr-path或-p:打印派生的屬性路徑(用於明確選擇)。
  • - 不名:抑制派生名稱的打印。
  • - 功能轉換或-c:將安裝版本與可用版本進行比較。
  • -XML :打印結果以XML格式進行自動處理。
  • - JSON :打印結果的JSON格式用於自動處理。
  • - 僅構建或-b:僅顯示具有註冊替代品(預構建二進製文件)的派生。
  • - 系統:在系統範圍的配置文件上運行。
  • -drv-path- out-path- 描述- meta :其他信息標誌。

要查看訂閱頻道中可用軟件包的列表,請運行:

 $ nix-env  -  Query-可用
登入後複製

或不久:

 $ nix -env -qa
登入後複製

在這裡,選項-Q指示查詢操作,-a表示所有可用的(即,可安裝)軟件包。

樣本輸出

 0AD-0.0.26
0AD-DATA-0.0.26
0Verkill-Unstable-2011-01-13
0x Unstable-2022-07-11
0xproto-1.603
0xtools-1.2.4
1om-1.0
1Password-8.10.27
1Password-8.10.28-21.Beta
1Password-cli-2.26.1
2048-Cli-Unstable-2019-12-10
2048-Cli-Unstable-2019-12-10
2048-ens-ensinal-Unstable-2022-06-13
20Kly-1.5.0
2BWM-0.3
2FA-1.2.0
3270font-3.0.1
389-DS-BASE-2.4.3
3dpong-0.5
3llo-1.3.1
3mux-1.1.0
3Proxy-0.9.4
4th-3.64.1
[...]
登入後複製

NIX軟件包經理:初學者指南2024

如果要查詢特定軟件包,則命令將是:

 $ nix -env -qa firefox
登入後複製

輸出:

 firefox-115.9.1esr
Firefox-124.0.1
Firefox-124.0.1
Firefox-124.0.1
Firefox-125.0b3
Firefox-125.0b3
登入後複製

您還可以使用以下命令搜索特定軟件包。

 $ nix -env -qap | Grep Python3-3
登入後複製

樣本輸出:

 [...]
nixpkgs.python312 python3-3.12.2
nixpkgs.python313 Python3-3.13.0a5
nixpkgs.python313full python3-3.13.0a5
nixpkgs.python39 python3-3.9.19
nixpkgs.python39full python3-3.9.19
登入後複製

使用正則表達式查詢軟件包

您可以使用正則表達式查詢/列表軟件包。以下是正則表達式的一些示例。

匹配包裝名稱鉻和任何版本。

Chromium-123.0.6312.86

匹配包裝名稱鉻和版本123.0.6312.86。

例子:

 $ NIX-ENV -QA CHROMIUM-123.0.6312.86
登入後複製

gtk \\

匹配軟件包名稱GTK 。角色必須使用後斜線逃脫,以防止其解釋為量詞,並且必須依次與另一個後斜切一起逃脫後斜線,以確保外殼將其通過。

。\*

匹配任何軟件包名稱。這是大多數命令的默認值。

'。*拉鍊。*'

匹配包含字符串zip的任何軟件包名稱。注意點:'*zip*'不起作用,因為在正則表達式中,字符*被解釋為量詞。

'。*(Firefox | Chromium)。*'

匹配任何包含琴弦FirefoxChromium的包裝名稱。

列表安裝的軟件包

要列出所有已安裝的軟件包,只需運行:

 $ nix -env -q
登入後複製

樣本輸出

 NIX-2.21.1
登入後複製

由於它是一個新的系統,因此我們的系統僅顯示NIX軟件包管理器。

也可以看到可用軟件包的狀態。查看以下示例。

 $ NIX -ENV -QAS GCC
登入後複製

樣本輸出

 IPS GCC-13.2.0
登入後複製

在這裡,“ i”表示已安裝了指定的軟件包,“ p”表示該軟件包存在於我們的系統上,“ S”表示該軟件包有所謂的替代品

如果未安裝GCC軟件包,您會看到:

 -PS GCC-13.2.0
登入後複製

安裝軟件包

在Nixos中,所有軟件包將存儲在Nix Store中,通常是目錄/Nix /Store

要安裝軟件包,只需運行:

 $ nix-env-安裝GCC
登入後複製

或(不久),

 $ nix -env -i gcc
登入後複製

上面的命令將安裝最新的可用GCC軟件包。

上述命令的樣本輸出將是:

安裝“ GCC-13.2.0”
這3條路徑將被獲取(1.58 MIB下載,7.24 MIB打開包裝):
  /nix/store/3cfxjb2nkjkfiv0dq54kkfy5ysjnfs3k-gcc-13.2.0-checksum
  /nix/store/4i3ml2pzzgjwas18w31zzhn9f41qyshy-gcc-13.2.0-info
  /NIX/STORE/SMQ6F1JZ9A5L6L5YJIS4S85MQ01XWW33-GCC-13.2.0-MAN
複製路徑'/nix/store/4i3ml2pzzgjwas18w31zzhhn9f41qyshy-gcc-13.2.0-info'來自'https://cache.nixos.org'...
複製路徑'/nix/store/SMQ6F1JZ9A5L6L5YJIS4S85MQ01XWW33-GCC-13.2.0-MAN'來自https://cache.nixos.org'...
複製路徑'/nix/store/3cfxjb2nkjkfiv0dq54kkfy5ysjnfs3k-gcc-13.2.0-checksum'來自https://cache.nixos.org'...
建築物'/nix/store/xx629d9kbbdnnsyf4ihzhlmalfz6nm3g-user-environment.drv'...
登入後複製

讓我們檢查是否安裝了GCC是否使用命令:

 $ gcc -v
登入後複製

樣本輸出:

使用內置規格。
collect_gcc = GCC
collect_lto_wrapper =<strong><mark> /nix/store/RQGA421D43Q40BLRRGMIW820P01A4NBA-GCC-13.2.0</mark> /libexec/gcc/x86_64-inknown-linux-gnu/13.2.0/lto-wrapper
目標:x86_64-Inninnown-linux-gnu
Configured with: ../gcc-13.2.0/configure --prefix=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gcc-13.2.0 --with-gmp-include=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gmp-6.3.0-dev/include --with-gmp-lib=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gmp-6.3.0/lib --with-mpfr-include=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-mpfr-4.2.1-dev/include --with-mpfr-lib=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-mpfr-4.2.1/lib --with-mpc=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-libmpc-1.3.1 --with-native-system-header-dir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.38-44-dev/include --with-build-sysroot=/ --with-gxx-include-dir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-gcc-13.2.0/include/c /13.2.0/ -program-program-prefix =  -  enable-lto  - 可disable-libstdcxx-pch- without-included-getText  -  with-system-zlib--啟動靜態 - 可穩定 - 可啟用語言= c,c,c,c-- disable-disable-multilib-- disable-multilib  -  enable-plugin-plugin-disable-libcc11-disable-disable-libcc11 --with-isl=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-isl-0.20 --disable-bootstrap --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu
線程模型:POSIX
支持的LTO壓縮算法:Zlib
<strong>GCC版本13.2.0(GCC)</strong></strong>
登入後複製

正如您在上述輸出中註意到的那樣,GCC已在一個名為RQGA421D43Q40BLRGMIW820P01A4NBA-GCC-13.2.0 ufter /nix /store的子目錄中。

在這裡,我們將目錄RQGA421D43Q40BLRRGMIW820P01A4NBA-GCC-13.2.0稱為唯一標識符。該子目錄保留了GCC軟件包的所有必需依賴項和庫。

如果安裝了GCC的另一個版本,NIX將創建一個新的子目錄,例如/nix/store/rfhfyuq..43d8jfuh-gcc-xxx ,並在該目錄中安裝GCC。這樣,這兩個版本的GCC就不會彼此衝突。

未安裝NIX的測試軟件包

NIX軟件包管理器的另一個值得注意的功能是,您可以在不安裝系統上測試軟件包。請參閱以下指南,以了解如何在不安裝軟件包的情況下測試軟件包。

  • 如何在不安裝Linux的情況下測試軟件包

使用Nix-shell創建開發環境

Nix-Shell允許您為每個項目創建自定義的開發環境,並配有所有必要的工具和庫。它是NIX軟件包管理器的一部分。

要了解如何創建可再現和孤立的開發環境,請參閱以下指南:

  • 如何在Linux中使用Nix-Shell創建開發環境

升級軟件包

要將軟件包升級到下一個可用版本,只需運行:

 $ nix-env-升級vim
登入後複製

或者,只是:

 $ nix -env -u vim
登入後複製

上面的命令僅在有“較新”版本時升級VIM軟件包。

另外,您可以通過運行以下命令立即升級所有已安裝的軟件包:

 $ nix -env -u
登入後複製

更新nixos

請注意,以下說明專門針對Nixos用戶。

更新NIXOS頻道

首先,更新您的頻道,以確保您具有最新的軟件包定義。您可以使用以下命令來執行此操作:

 $ nix-channel-更新
登入後複製
登入後複製
登入後複製

此命令更新您要訂閱的所有通道,包括包含系統的軟件包和配置定義的NIXOS頻道。

應用更新

頻道更新後,您將更新應用於系統。這是通過使用頻道的最新軟件包重建系統配置來完成的。為此,運行:

 $ sudo nixos-rebuild開關
登入後複製

Nixos-Rebuild Switch命令使用頻道中的最新軟件包,根據您的配置文件(/etc/nixos/configuration.nix)重建系統的配置。重建後,它立即切換到新配置。

其他提示:

  • 檢查可用的更新:沒有直接的nixos命令可以檢查像其他Linux發行版中的可用更新。但是,由於更新基於頻道內容,因此運行sudo nix-enannel-更新可確保您擁有最新的定義。
  • 升級特定的軟件包:如果要升級由Nix-env管理的特定軟件包,則可以使用Nix-env -U 或Nix-env -u'*'來更新所有用戶安裝的軟件包。

請記住,由於聲明性配置和NIX的可重複性,尼克斯的更新通常是平滑且經過良好測試的。始終確保您的系統配置文件是最新的,並且可以控製版本,以獲得無縫的更新體驗。

回滾軟件包

這是NIX軟件包經理的絕妙功能。在我們要查看如何回滾軟件包之前,讓我們了解哪些配置文件,用戶環境和一代。

在NIX中,配置文件,用戶環境和世代是相關的概念,可以安全且可重複地進行管理和配置。

概況

配置文件是針對特定目的或用戶的軟件包和配置的集合。配置文件允許多個用戶可以進行自定義設置,而不會相互影響。您可以在不同的配置文件之間切換,從而有效地管理各種環境或一組應用程序。

配置文件有兩種主要類型:

  • 用戶配置文件:每個用戶帳戶都有自己的個人資料,位於/nix/var/nix/profiles/per-user/$ user。此配置文件包含用戶已安裝的供個人使用的軟件包。
  • 系統配置文件:系統範圍的配置文件位於/nix/var/nix/profiles/system。它包含系統上全球可用的軟件包,通常由系統管理員管理。

用戶環境

用戶環境是在NIX商店中安裝的一組特定的軟件包及其依賴項(例如,/nix/store/3aw2pdyx2jfc...--user -env)。

每當您使用Nix-env安裝,升級或刪除軟件包時,都會創建它。用戶環境本質上是軟件包本身,它存儲在Nix Store中,並以唯一的加密哈希作為目錄名稱。

用戶環境通過符號鏈接鏈接到用戶配置文件,從而使不同的用戶具有不同的配置而不會干擾。

幾代人

一代是您在特定時間點的用戶環境(您已安裝的軟件包集合)的快照。每當您使用Nix-env安裝,升級或刪除軟件包時,就會創建新一代。

每個一代都以唯一的加密哈希名稱(例如/nix/store/3aw2pdyx2jfc...-user-user-env)存儲在/nix/store目錄中。在/nix/var/nix/profiles(例如默認為2-鏈接,默認3鏈接)中有符號鏈接,指向這些生成目錄。

幾代人的關鍵優點是,它們允許您使用nix-env-rollback和nix-env-switch-switch-generation命令來輕鬆地回滾或在不同的軟件包配置之間切換。

用簡單的話說這一點:

  • 配置文件是用於用戶或系統的軟件包和配置的集合。
  • 用戶環境是NIX商店中存儲的特定安裝軟件包集。
  • 幾代人是用戶環境的快照,每當安裝,升級或刪除軟件包時創建,可以輕鬆回滾和在配置之間的開關。

這種方法促進了系統的可靠性,可重複性,以及在不冒險當前設置的情況下安全實驗不同的包裝配置的能力。

如何列出世代

要查看可用的幾代人的列表:

 $ nix-env-列表生成
登入後複製

此命令列出了您當前個人資料的所有可用世代。輸出將顯示生成編號,NIX商店中的路徑,並指示當前有活性的生成。

示例輸出

 1 2024-04-01 15:06:49   
   2 2024-04-01 15:17:14   
   3 2024-04-01 15:56:46(當前)
登入後複製

回滾前一代

您安裝了一個軟件包,但是它沒有用或無法正常工作。您需要同一軟件包的較低版本。你會怎麼做?簡單的。只需使用命令回滾至以前的工作版本:

 $ nix-env-滾動
登入後複製

此命令將您當前的用戶環境恢復為上一代。例如,如果您目前正在第三代並運行Nix-env-Rollback,則它將切換為2代。

開關幾代

我們可以使用命令在不同世代之間切換:

 $ nix-env-開關生成<no></no>
登入後複製

此命令使您可以切換到特定的一代。例如,即使這不是上一代,nix-env -switch-env-generation 2也會將您的用戶環境切換為2代。

總而言之,這些世代提供了一種管理和回滾軟件包配置的方法。 - 列表生成向您展示了哪些世代可用,nix-env -rollback命令是一種撤消最後更改的方便方式, - 開關生成可以讓您選擇特定的一代。

這種一代管理方法通過允許您輕鬆恢復不良更改或測試新配置而不會影響當前設置來促進系統可靠性。

卸載軟件包

要卸下ininstalla軟件包,運行:

 $ nix -env -e gcc
登入後複製

上面的命令將從您的系統中卸載稱為GCC的軟件包。

您可以刪除多個軟件包,如下所示。

 $ nix -env -e gcc vim
登入後複製

樣本輸出:

卸載“ VIM-9.1.0148'
卸載“ GCC-13.2.0”
建築路徑(S)'/nix/store/mxpikbq3l08379h8ik8mrj3fcw6mh6y4-user-environment'
在用戶環境中創建了6個符號鏈接
登入後複製

刪除未使用的包裹(垃圾收集)

在NIX中,當您使用Nix-env更新(-U)或刪除(-e)程序時,系統實際上並未從NIX Store(即/nix/store/Directory)刪除舊版本。相反,它為您的個人資料提供了新的設置,而無需鏈接到刪除程序。換句話說,只有符號鏈接將從您的個人資料中刪除。

但是,由於我們無法在沒有磁盤空間的情況下不斷添加新程序,因此Nixos可以清理名為垃圾收集的未使用程序。垃圾收集器擺脫了不再需要的程序或其版本(幾代)的程序。

但是,如果您的設置的任何舊版本仍然需要一個程序,則不會將其刪除。此功能對於允許您在需要時返回以前的設置至關重要。

為了幫助垃圾收集器完成工作,最好清除不再使用的舊版本。您可以做到這一點:

刪除所有舊版本,除了您的個人資料中的當前版本:

 $ nix-env-舊生成
登入後複製

刪除您不再需要的特定版本,例如版本10、11和14:

 $ nix-env-脫落生成10 11 14
登入後複製

刪除超過30天的版本:

 $ nix-env-降低生成30d
登入後複製

清理舊版本後,運行垃圾收集器以刪除未使用的程序:

 $ NIX商店-GC
登入後複製

您可以在實際運行之前檢查垃圾收集器將刪除哪些文件:

 $ NIX商店-GC-Print Dead
登入後複製

並查看將保留哪些文件:

 $ NIX商店-GC- Print-Live
登入後複製

還有一個方便的工具,用於清潔,nix-Collect-garbage,可以一次刪除每個配置文件中的所有舊版本。將其與-d選項:

 $ nix-Collect-garbage -d
登入後複製

該命令是通過擺脫舊版本然後運行垃圾收集器來清除不需要的程序來整理系統的簡便方法。

示例輸出:

尋找垃圾收集器根...
刪除垃圾...
刪除'/nix/store/s4jr4dc9gghldr3xza23rw0gm9kp21kl-nix-prefetch-scripts.drv'
刪除'/nix/store/km2gyzlvs9vkrr52wxfyhinv4r52ksrj-nix-prefetch-bzr.drv'
刪除'/nix/store/7MI73SDC1P349VMPB5NYXSRV8YK5HLY-BAZAAR-2.7.0.0.drv'

[...]

刪除'/nix/store/8CKMCS9HX1QM0YXDNV892VRVX49ZM1SQ-SETUP-HOK-2.0.SH''
刪除'/nix/store/垃圾'
刪除未使用的鏈接...
注意:當前硬鏈接保存-0.00 MIB
1447年已刪除的商店路徑,12.65 MIB釋放
登入後複製

這實際上將刪除卸載的軟件包。

您應該定期運行此命令,以擺脫系統中未使用的軟件包。

尼克斯命令作弊表

這是NIX軟件包管理器命令的整潔作弊表。打印並將其保持在桌子旁邊以方便參考。

行動 命令 例子
安裝軟件包 nix-env -i nix -env -i firefox
卸載包 nix-env -e nix -env -e Firefox
搜索軟件包 nix -env -qap nix -env -qap python
更新包 nix-env -u nix -env -u firefox
列表安裝的軟件包 nix -env -q nix -env -q
回滾變化 nix-env-Rollback nix-env-Rollback
垃圾收集 nix-Collect-garbage -d nix-Collect-garbage -d
尼克斯命令作弊表

該作弊表涵蓋了您使用NIX管理軟件包的基本命令,為入門和維護系統提供了直接的指南。

常見問題

這是關於NIX軟件包管理器的最常見問題(FAQ)。

問:什麼是尼克斯?

答:NIX是Linux和UNIX系統的強大軟件包管理器,專注於可重複性,可靠性和便攜性。它允許用戶輕鬆地在不同版本的軟件及其依賴項之間安裝,管理和切換。

問:如何使用Nix安裝軟件包?

答:要安裝軟件包,請使用nix -env -i命令,然後使用軟件包名稱。例如,nix -env -i Firefox安裝Firefox Web瀏覽器。

問:如何卸載包裝?

答:要卸載軟件包,請使用nix -env -e命令,然後使用軟件包名稱。例如,nix -env -e雷鳥卸載了雷鳥電子郵件客戶端。

問:如何搜索可用的軟件包?

答:要搜索軟件包,請使用nix -env -qap 。例如,要查找與Python相關的軟件包,您可以使用NIX -ENV -QAP Python。

問:我可以更新特定的軟件包嗎?

答:是的,要更新特定的軟件包,請運行nix-env -u 。要更新所有已安裝的軟件包,只需使用nix -env -u即可。

問:我如何看到安裝了哪些軟件包?

答:要列出所有已安裝的軟件包,請使用命令nix -env -q。

問:如何列出頻道中的所有可用軟件包?

答:要列出頻道中的所有可用軟件包,請運行nix -env -qa。

問:如何恢復到以前的狀態或“回滾”更改?

答:Nix跟踪“世代”的變化。要回到上一代,請使用Nix-env-Rollback。您可以列出具有Nix-env-list生成的幾代人。

問:如何保持尼克斯系統清潔?

答:使用nix-Collect-garbage -D刪除未使用的軟件包並免費空間。此命令清理任何配置文件未引用的軟件包。

結論

NIX軟件包管理器提供了一種強大而靈活的方法來管理Linux和Unix系統上的軟件包。

其處理軟件包的方法可確保您可以在沒有衝突或依賴性問題的情況下安裝,更新和切換軟件之間。

儘管Nix可能有一些學習曲線,尤其是對於那些概念的新曲線,但精確,可再現的軟件包管理的好處很重要。

無論您是開發人員,系統管理員還是一個好奇的用戶,花時間學習NIX都可以大大增強您對軟件環境的控制並簡化工作流程。

就目前而言。希望您對Nix軟件包管理器的基本用法有了一個清晰的了解。我們在這裡涵蓋的內容應該足以讓您開始使用Nix。

當然,有很多命令。要了解更多NIX命令,我強烈建議您推薦下面給出的NIX官方手冊。

資源:

  • 尼克斯手冊

以上是NIX軟件包經理:初學者指南2024的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板