自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

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

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

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

我們在本文中將介紹如何在Linux中安裝(在多用戶模式下)和使用Nix軟件包管理器。我們將討論與常用工具有關(guān)的一些基本的軟件包管理任務(wù)。

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

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

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

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

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

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

Nix安裝摘要

圖2:Nix安裝摘要

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

Nix安裝繼續(xù)

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

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

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

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

安裝完成后,你需要打開新的終端窗口,以便開始使用Nix。或者,關(guān)閉并重新打開shell,讓最近的更改生效。然后獲取文件/etc/profile.d/nix.sh(因為它不是shell啟動文件,打開新的shell不會獲取它)。 

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

接下來,運行下列命令從官方項目網(wǎng)站下載一些路徑,這些路徑是Nix運行所必需的。所有路徑下載并拷貝到正確的位置后,你將看到系統(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實用程序完成。它用于安裝、升級和刪除/擦除軟件包,以及查詢已安裝或可用于安裝的軟件包。

所有軟件包都在Nix通道中,該通道是一個URL,指向含有Nix表達式集合和指向二進制緩存的指針的存儲庫。

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

  1. $ nix-channel --list 

想添加Nix通道,請使用下列命令: 

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

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

  1. $ nix-channel --update 

圖5:更新Nix通道

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

  1. $ nix-env -qa 

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

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

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

查找可供安裝的軟件包

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

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

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

使用Nix安裝軟件包

圖8:使用Nix安裝軟件包

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

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

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

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

  1. $ nix-env –q 

列出已安裝的軟件包

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

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

  1. $ nix-env -u apache-tomcat 

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

  1. $ nix-env -e apache-tomcat 

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

  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)上,運行下列命令,停止所有與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  

此外,你需要刪除/etc/profile、/etc/bashrc和/etc/zshrc這些文件中的任何引用Nix的項。

欲知詳情,請參閱我們介紹的上述實用程序的參考手冊頁。 

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

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

結(jié)束語

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

我們在本文中介紹了如何在多用戶模式下安裝nix,討論了如何用Nix進行軟件包管理,歡迎留言交流。

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

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

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

2021-01-30 09:23:27

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

2010-02-05 14:46:20

Ubuntu軟件包

2021-02-28 13:26:15

Linux軟件包管理器軟件倉庫

2010-01-06 16:33:24

Ubuntu軟件包

2010-01-05 10:14:09

Ubuntu軟件包

2021-05-28 16:00:45

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

2020-06-01 07:00:00

WingetWindows 10軟件包管理器

2011-11-15 09:22:20

Solaris 11

2023-10-23 10:15:40

UbuntuNixLinux

2020-07-10 08:53:59

Linux軟件包管理器開源

2016-01-29 14:32:19

Linux軟件包管理

2010-03-17 13:42:41

Fedora Core

2010-03-17 13:53:35

Fedora Core

2020-06-15 19:20:00

AppImageLinux軟件包管理

2020-06-28 13:56:01

UbuntuAptSynaptic

2010-01-11 17:49:08

Fedora軟件包

2016-12-27 10:34:57

Linux命令軟件包管理

2018-06-19 10:06:16

Linux軟件測試Nix包管理器

2020-05-29 10:15:17

開發(fā)者微軟Windows

2023-04-17 07:36:28

Arch LinuxGUI
點贊
收藏

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