GNU/Linux >> Znalost Linux >  >> Linux

Nix – výkonný správce balíčků pro Linux a Unix

Před chvílí jsme psali o Linuxbrew , běžný správce balíčků pro Linux a Mac OS X. Charakteristickým rysem Linuxbrew je, že můžete instalovat balíčky bez root nebo sudo privilegium. Dnes v této příručce budeme diskutovat o dalším podobném správci balíčků. Seznamte se s Nix , čistě funkční a spolehlivý správce balíčků pro Linux a další varianty Unixu. Na rozdíl od jiných správců balíčků poskytuje instalaci více verzí stejného balíčku vedle sebe, atomickou a rollback podporu, správu balíčků podle uživatele, snadné nastavení prostředí pro vývoj balíčků a mnoho dalšího. Správce balíčků Nix byl původně vyvinut pro NixOS , distribuce GNU/Linux s jedinečným přístupem ke správě balíčků a konfigurací. NixOS byl původně zahájen jako výzkumný projekt společnosti Eelco Dolstra v roce 2003.

Funkce

Správce balíčků Nix se trochu liší od ostatních správců balíčků Linuxu z hlediska funkčnosti a funkcí. Pokud jde o funkce, můžeme uvést následující:

  • Systém správy balíčků pro více uživatelů. To znamená, že každý uživatel v systému může mít jinou sadu nainstalovaných balíčků.
  • Uživatelé mohou instalovat balíčky bez uživatelských práv root nebo sudo.
  • Správce balíčků Nix ukládá balíčky v obchodu Nix , obvykle adresář /nix/store . Každý balíček má svůj vlastní jedinečný podadresář. Řekněme například balíček gzip budou uloženy v jedinečném adresáři /nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/ spolu se všemi požadovanými závislostmi a knihovnami.
  • Různí uživatelé mohou mít nainstalované různé verze stejného balíčku současně. Je to dobré pro vývojáře, kteří chtějí testovat své aplikace postavené s různými verzemi balíčků a závislostí.
  • Vzhledem k tomu, že všechny balíčky jsou nainstalovány v jedinečných adresářích, jeden uživatel nemůže zasahovat (jako je odstranění, aktualizace nebo upgrade balíčků) do balíčků nainstalovaných jiným uživatelem. Upgrade nebo aktualizace balíčku také neovlivní druhou verzi stejného balíčku ani její závislosti.
  • Je možné vrátit balíčky na předchozí verze.
  • Podpora atomového upgradu. To znamená, že když upgradujete balíček, nepřepíše stávající verzi. Každá nová verze bude uložena v novém jedinečném adresáři. Vzhledem k tomu, že balíčky nejsou přepsány, jsou staré verze stále dostupné i po aktualizaci.
  • Nepoužité balíčky lze bezpečně odstranit.
  • Správce balíčků přívětivý pro DevOps. Nix pomáhá uživatelům vytvářet balíčky ze zdrojů, pokud ještě nejsou dostupné v repozitářích. Nix je tedy pro vývojáře extrémně užitečný, protože usnadňuje automatické nastavení prostředí pro sestavení balíčku.
  • Správce balíčků Nix lze použít v GNU/Linux a Mac OS X.

Nyní uvidíme, jak nainstalovat správce balíčků Nix v operačních systémech podobných Unixu.

Nainstalujte správce balíčků Nix v systému Linux

Instalace správce balíčků Nix je triviální.

Chcete-li jej nainstalovat do svého Linuxového boxu, spusťte jej jako normální uživatel:

$ curl https://nixos.org/nix/install | sh

Ukázkový výstup:

 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 2354 100 2354 0 0 833 0 0:00:02 0:00:02 --:--:-- 833
 downloading Nix 1.11.9 binary tarball for x86_64-linux from 'https://nixos.org/releases/nix/nix-1.11.9/nix-1.11.9-x86_64-linux.tar.bz2' to '/tmp/nix-binary-tarball-unpack.SoCHJhv4Vz'...
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 27.3M 100 27.3M 0 0 525k 0 0:00:53 0:00:53 --:--:-- 248k
 performing a single-user installation of Nix...
 directory /nix does not exist; creating it by running ‘mkdir -m 0755 /nix && chown sk /nix’ using sudo
 [sudo] password for sk:
 copying Nix to /nix/store...............................
 initialising Nix database...
 creating /home/sk/.nix-profile
 installing ‘nix-1.11.9’
 building path(s) ‘/nix/store/7dv1lghxz40rbvv9ffg7fq2as972a4r7-user-environment’
 created 6 symlinks in user environment
 downloading Nix expressions from ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’...
 downloading ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’... [7625/8656 KiB, 403.0 KiB/s]
 unpacking channels...
 created 2 symlinks in user environment
 modifying /home/sk/.bash_profile...

Installation finished! To ensure that the necessary environment
 variables are set, either log in again, or type

. /home/sk/.nix-profile/etc/profile.d/nix.sh

in your shell.

Po instalaci Nix se odhlaste a přihlaste se zpět do svého systému, abyste ověřili, že jsou správně nastaveny potřebné proměnné prostředí. Případně spusťte následující příkaz z terminálu, abyste to zajistili.

$ . /home/sk/.nix-profile/etc/profile.d/nix.sh

Upozorňujeme, že na začátku je tečka (.). Pokud nevidíte žádný výstup, pak jste hotovi! Správce balíčků Nix byl úspěšně nainstalován do vašeho systému. Také přidejte výše uvedený řádek do svého profilu PATH, abyste předešli spouštění výše uvedeného příkazu pokaždé po přihlášení do systému.

Chcete-li tak učinit, upravte ~/.profile nebo ~/.bashrc (nebo podobný):

$ vi ~/.bashrc

Přidejte následující řádek na konec.

. /home/sk/.nix-profile/etc/profile.d/nix.sh

Uložte a zavřete soubor. Restartujte systém. Nyní již nemusíte spouštět výše uvedený příkaz pokaždé po přihlášení do vašeho systému.

Následující tutoriál vysvětluje, jak používat správce balíčků Nix k provádění obecných operací správy balíčků, jako je instalace, odstranění, aktualizace, aktualizace a sestavování balíčků.

  • Začínáme s Nix Package Manager

Linux
  1. DistroTest – Testujte operační systémy Linux a Unix online zdarma

  2. Korembi 2 – Perfektní správce desktopů a tapet pro Linux

  3. NordPass – výkonný správce hesel pro Linux

  1. Jaký je váš oblíbený správce balíčků pro Linux?

  2. UNIX / Linux:Jak nainstalovat a nakonfigurovat mod_perl pro Apache 2

  3. Správce/instalátor balíčků založený na Git pro Linux

  1. Instalace a používání Homebrew Package Manager v systému Linux

  2. Jak nainstalovat a používat Správce balíčků příze v Linuxu

  3. Nix – výkonný správce balíčků pro Linux a Unix