偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Nix:純粹功能型的Linux軟件包管理器

譯文
系統(tǒng) Linux
Nix是一款功能強(qiáng)大的純粹功能型的軟件包管理系統(tǒng),為可靠且可重復(fù)的軟件包管理而設(shè)計(jì),按照GNU LGPLv2.1的條款發(fā)布。它是一款不太知名的Linux發(fā)行版NixOS中主要的軟件包管理系統(tǒng)。

【51CTO.com快譯】 Nix是一款功能強(qiáng)大的純粹功能型的軟件包管理系統(tǒng),為可靠且可重復(fù)的軟件包管理而設(shè)計(jì),按照GNU LGPLv2.1的條款發(fā)布。它是一款不太知名的Linux發(fā)行版NixOS中主要的軟件包管理系統(tǒng)。

Nix提供原子升級(jí)及回滾、多個(gè)版本的軟件包安裝、多用戶軟件包管理以及為軟件包輕松安裝構(gòu)建環(huán)境,無論開發(fā)人員使用哪種編程語言和工具。

在Nix下,軟件包是用“Nix表達(dá)式”這種功能型軟件包語言構(gòu)建的。這種功能型軟件包管理方法確保安裝或升級(jí)一個(gè)軟件包不會(huì)破壞其他軟件包。

Nix還有多用戶支持,這意味著普通(或非特權(quán))系統(tǒng)用戶可以安全地安裝軟件包,每個(gè)用戶由配置文件(Nix商店中出現(xiàn)在用戶Path中的軟件包集合)來識(shí)別。

如果一個(gè)用戶安裝了軟件包,另一個(gè)用戶試圖安裝同一個(gè)軟件包,不會(huì)再次構(gòu)建或下載該軟件包。

它目前支持Linux(i686、x86_64)和Mac OS X(x86_64)。然而,它的移植性相當(dāng)強(qiáng),你可以在支持POSIX線程、有C++11編譯器的大多數(shù)平臺(tái)上試用它。

我們?cè)诒疚闹袑⒔榻B如何在Linux中安裝(在多用戶模式下)和使用Nix軟件包管理器。我們將討論與常用工具有關(guān)的一些基本的軟件包管理任務(wù)。

如何在Linux中安裝Nix軟件包管理器?

我們將在多用戶模式下安裝***版本的Nix(v2.1.3)。幸好,有一個(gè)現(xiàn)成的安裝腳本,你可以在系統(tǒng)上使用下列curl命令,以普通用戶的身份從shell運(yùn)行。 

  1. $ sh <(curl https://nixos.org/nix/install) --daemon 

運(yùn)行上述命令將下載***的nix二進(jìn)制打包文件,你將進(jìn)入多用戶nix安裝屏幕,如屏幕截圖所示:

圖1:在Linux中安裝Nix軟件包管理器

想查看安裝過程中發(fā)生的詳細(xì)情況,請(qǐng)鍵入y并按回車鍵。如果你對(duì)結(jié)果滿意、準(zhǔn)備好繼續(xù),請(qǐng)鍵入y并按回車鍵。

Nix安裝摘要

圖2:Nix安裝摘要

腳本將根據(jù)需要多次調(diào)用sudo命令。你需要回答y并按回車鍵來允許它使用sudo。

Nix安裝繼續(xù)

圖3:Nix安裝繼續(xù)

然后,安裝程序會(huì)運(yùn)行幾個(gè)測試,生成Nix配置報(bào)告,在用戶ID 30001和30032之間創(chuàng)建構(gòu)建用戶,以及組ID為30000的組。出現(xiàn)提示時(shí)輸入y以繼續(xù)。它將為不同的構(gòu)建用戶設(shè)置構(gòu)建組,并創(chuàng)建Nix的基本目錄結(jié)構(gòu)。

它會(huì)修改文件/etc/bashrc(以及面向zsh的/etc/zshrc),如果這些文件存在的話。請(qǐng)注意,它先用.backup-before-nix擴(kuò)展名備份上述文件,安裝程序還會(huì)創(chuàng)建文件/etc/profile.d/nix.sh。

安裝程序還將設(shè)置nix-daemon服務(wù)和nix-daemon套接字服務(wù),為nix-daemon加載systemd單元,并啟動(dòng)上述兩個(gè)服務(wù)。

安裝完成后,你需要打開新的終端窗口,以便開始使用Nix?;蛘?,關(guān)閉并重新打開shell,讓最近的更改生效。然后獲取文件/etc/profile.d/nix.sh(因?yàn)樗皇莝hell啟動(dòng)文件,打開新的shell不會(huì)獲取它)。 

  1. $ source /etc/profile.d/nix.sh 

接下來,運(yùn)行下列命令從官方項(xiàng)目網(wǎng)站下載一些路徑,這些路徑是Nix運(yùn)行所必需的。所有路徑下載并拷貝到正確的位置后,你將看到系統(tǒng)和Nix安裝類型摘要,如屏幕截圖所示: 

  1. $ nix-shell -p nix-info --run "nix-info -m" 

Nix安裝和系統(tǒng)摘要

圖4:Nix安裝和系統(tǒng)摘要

如何在Linux中使用Nix軟件包管理器?

在Nix下,軟件包管理由nix-env實(shí)用程序完成。它用于安裝、升級(jí)和刪除/擦除軟件包,以及查詢已安裝或可用于安裝的軟件包。

所有軟件包都在Nix通道中,該通道是一個(gè)URL,指向含有Nix表達(dá)式集合和指向二進(jìn)制緩存的指針的存儲(chǔ)庫。

默認(rèn)通道是Nixpkgs,訂閱通道列表存儲(chǔ)在~/.nix-channels中,你可以使用下列命令將它們列出來(沒有輸出表示沒有通道)。 

  1. $ nix-channel --list 

想添加Nix通道,請(qǐng)使用下列命令: 

  1. $ nix-channel --add https://nixos.org/channels/nixpkgs-unstable 

在安裝任何軟件包之前,先要更新Nix通道;這類似于在APT軟件包管理器下運(yùn)行apt update。 

  1. $ nix-channel --update 

圖5:更新Nix通道

可以使用下列命令查詢可供安裝的軟件包。 

  1. $ nix-env -qa 

圖6:查詢可供安裝的軟件包

在這個(gè)例子中,我們將使用前一個(gè)命令與grep一起安裝Apache Tomcat服務(wù)器,以查找可供安裝的軟件包,如圖所示: 

  1. $ nix-env -qa | grep“apache-tomcat” 

查找可供安裝的軟件包

圖7:查找可供安裝的軟件包

想安裝軟件包,請(qǐng)指定軟件包版本,比如apache-tomcat-9.0.2,使用下列命令: 

  1. $ nix-env -i apache-tomcat-9.0.2 

使用Nix安裝軟件包

圖8:使用Nix安裝軟件包

在本地系統(tǒng)上,Nix將軟件包存儲(chǔ)在Nix商店中,默認(rèn)情況下是在/nix/store目錄,其中每個(gè)軟件包都有各自唯一的子目錄。比如,apache-tomcat軟件包存儲(chǔ)在: 

  1. /nix/store/95gmgnxlrcpkhlm00fa5ax8kvd6189py-apache-tomcat-9.0.2 

在此路徑中,隨機(jī)字符95gmgnxlrcpkhlm00fa5ax8kvd6189py是軟件包的唯一標(biāo)識(shí)符,它考慮到了所有依賴項(xiàng)。

你可以使用下列命令列出已安裝的軟件包。 

  1. $ nix-env –q 

列出已安裝的軟件包

圖9:列出已安裝的軟件包

想升級(jí)apache-tomcat軟件包,可以使用-u upgrade參數(shù)選項(xiàng)符,如圖所示: 

  1. $ nix-env -u apache-tomcat 

如果你想刪除/擦除apache-tomcat,請(qǐng)使用-e標(biāo)志。這里,軟件包并不立即從系統(tǒng)中刪除,只是處于未使用狀態(tài)。這很有用,因?yàn)橐苍S你想要執(zhí)行回滾,或者它可能在其他用戶的配置文件中。 

  1. $ nix-env -e apache-tomcat 

刪除軟件包后,你可以使用nix-collect-garbage實(shí)用程序進(jìn)行一些垃圾回收。 

  1. $ nix-collect-garbage 

如何在Linux中刪除Nix軟件包管理器?

想卸載Nix,一次性刪除所有與Nix有關(guān)的文件。 

  1. $ sudo rm -rf /etc/profile/nix.sh /etc/nix /nix ~root/.nix-profile ~root/.nix-defexpr ~root/.nix-channels ~/.nix-profile ~/.nix-defexpr ~/.nix-channels 

在帶有systemd的系統(tǒng)上,運(yùn)行下列命令,停止所有與Nix有關(guān)的服務(wù)并禁用它們。 

  1. $ sudo systemctl stop nix-daemon.socket  
  2. $ sudo systemctl stop nix-daemon.service  
  3. $ sudo systemctl disable nix-daemon.socket  
  4. $ sudo systemctl disable nix-daemon.service  
  5. $ sudo systemctl daemon-reload  

此外,你需要?jiǎng)h除/etc/profile、/etc/bashrc和/etc/zshrc這些文件中的任何引用Nix的項(xiàng)。

欲知詳情,請(qǐng)參閱我們介紹的上述實(shí)用程序的參考手冊(cè)頁。 

  1. $ man nix-channel  
  2. $ man nix-env  

你可以在項(xiàng)目官網(wǎng)https://nixos.org/nix/找到Nix軟件包管理器的說明文檔。

結(jié)束語

Nix是一種純粹功能型的軟件包管理器,為可靠且可重復(fù)的軟件包管理而設(shè)計(jì)。它提供了很有意思的軟件包管理概念,與Linux中的YUM和APT等常用工具大不相同。

我們?cè)诒疚闹薪榻B了如何在多用戶模式下安裝nix,討論了如何用Nix進(jìn)行軟件包管理,歡迎留言交流。

原文標(biāo)題:Nix – The Purely Functional Package Manager for Linux,作者:Aaron Kili

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2010-02-05 14:46:20

Ubuntu軟件包

2021-02-28 13:26:15

Linux軟件包管理器軟件倉庫

2010-01-06 16:33:24

Ubuntu軟件包

2021-01-30 09:23:27

Windows操作系統(tǒng)微軟

2010-01-05 10:14:09

Ubuntu軟件包

2020-06-01 07:00:00

WingetWindows 10軟件包管理器

2011-11-15 09:22:20

Solaris 11

2021-05-28 16:00:45

Windows操作系統(tǒng)微軟

2023-10-23 10:15:40

UbuntuNixLinux

2010-03-17 13:53:35

Fedora Core

2010-03-17 13:42:41

Fedora Core

2020-07-10 08:53:59

Linux軟件包管理器開源

2020-06-15 19:20:00

AppImageLinux軟件包管理

2016-01-29 14:32:19

Linux軟件包管理

2020-06-28 13:56:01

UbuntuAptSynaptic

2010-01-11 17:49:08

Fedora軟件包

2018-06-19 10:06:16

Linux軟件測試Nix包管理器

2021-04-25 18:41:17

Windows軟件包管理器微軟

2020-05-20 16:01:45

Windows 10軟件包管理器微軟

2021-04-26 08:23:54

漏洞macLinux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)