Nix - tīri funkcionāls Linux pakešu pārvaldnieks


Nix ir spēcīga, tīri funkcionāla pakotņu pārvaldības sistēma, kas paredzēta uzticamai un reproducējamai pakotņu pārvaldībai un kas izlaista saskaņā ar GNU LGPLv2.1 noteikumiem. Tā ir galvenā pakotņu pārvaldības sistēma NixOS, mazāk pazīstamā Linux izplatīšanā.

Nix piedāvā atomu jauninājumus un atjauninājumus, vairākas pakotņu instalēšanas versijas, vairāku lietotāju pakotņu pārvaldību un bez piepūles iestatīt pakotnes veidošanas vides neatkarīgi no tā, kādas programmēšanas valodas un rīkus izmanto izstrādātājs.

Zem Nix paketes tiek veidotas no funkcionālas pakotņu valodas, ko sauc par “Nix izteiksmēm”. Šī funkcionālā pieeja pakotņu pārvaldībai garantē, ka vienas pakotnes instalēšana vai jaunināšana nevar sabojāt citus paketes.

Nix piedāvā arī vairāku lietotāju atbalstu, kas nozīmē, ka parastie (vai priviliģētie) sistēmas lietotāji var droši instalēt paketes un katru lietotāju identificē pēc profila (NIX veikalā esošo pakotņu kolekcija, kas parādās lietotāja PATH).

Gadījumā, ja viens lietotājs ir instalējis pakotni un ja cits lietotājs mēģina instalēt to pašu pakotni, pakete netiks veidota vai lejupielādēta otro reizi.

Pašlaik tā atbalsta Linux (i686, x86_64) un Mac OS X (x86_64). Tomēr tas ir diezgan pārnēsājams, to varat izmēģināt lielākajā daļā platformu, kas atbalsta POSIX pavedienus un kurām ir C ++ 11 kompilators.

Šajā rakstā mēs parādīsim, kā Linux instalēt (vairāku lietotāju režīmā) un izmantot Nix pakotņu pārvaldnieku. Mēs apspriedīsim dažus paketes pārvaldības pamatuzdevumus saistībā ar parasti izmantotajiem rīkiem.

Kā Linux instalēt Nix Package Manager

Mēs instalēsim jaunāko Nix versiju (v2.1.3 rakstīšanas laikā) vairāku lietotāju režīmā. Par laimi ir gatavs sagatavots instalācijas skripts, kuru jūs varat palaist no čaulas kā parasts lietotājs, izmantojot šādu čokurošanās komandu savā sistēmā.

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

Veicot iepriekš minēto komandu, tiks lejupielādēts jaunākais nix binārā tarball un jūs nonāksit daudzu lietotāju nix instalācijas ekrānā, kā parādīts ekrānuzņēmumā.

Lai skatītu detalizētu sarakstu ar to, kas notiks instalēšanas laikā, ierakstiet y un nospiediet taustiņu Enter. Ja esat apmierināts un gatavs turpināt, ierakstiet y un nospiediet taustiņu Enter.

Skripts pēc nepieciešamības vairākas reizes izsauks sudo komandu. Jums jāatļauj tam izmantot sudo, atbildot uz y un nospiežot Enter.

Pēc tam instalētājs veiks dažus testus un ģenerēs Nix konfigurācijas ziņojumu, izveidos būvēšanas lietotājus starp lietotāju ID 30001 un 30032 un grupu ar grupas ID 30000. Ievadiet y , lai turpinātu, kad tiek parādīts uzaicinājums. Tas izveidos būvēšanas grupas dažādiem būvēšanas lietotājiem, izveidos Nix direktoriju pamatstruktūru.

Tas modificēs failu/etc/bashrc, (un/etc/zshrc zsh), ja tādi pastāv. Ņemiet vērā, ka tas vispirms dublē minētos failus ar paplašinājumu .backup-before-nix un instalētājs arī izveido failu /etc/profile.d/nix.sh.

Instalētājs uzstādīs arī servisu nix-daemon un ligzdu nix-daemon, ielādēs nix-daemon sistēmu systemd un palaidīs abus iepriekšminētos pakalpojumus.

Kad instalēšana ir pabeigta, jums jāatver jauns termināļa logs, lai sāktu lietot Nix. Varat arī aizvērt un atkārtoti atvērt čaulu, lai piemērotu pēdējās izmaiņas. Pēc tam avotu failu /etc/profile.d/nix.sh (jo tas nav čaulas startēšanas fails, atverot jaunu apvalku, tas netiks iegūts).

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

Pēc tam palaidiet šo komandu, lai lejupielādētu dažus ceļus no oficiālās projekta vietnes, kas nepieciešami, lai Nix darbotos. Kad visi ceļi ir lejupielādēti un kopēti pareizajās vietās, jūs redzēsiet sistēmas un nix instalācijas veida kopsavilkumu, kā parādīts ekrānuzņēmumā.

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

Kā lietot Nix Package Manager operētājsistēmā Linux

Zem Nix pakotņu pārvaldību veic nix-env lietderība. To izmanto, lai instalētu, jauninātu un noņemtu/izdzēstu paketes un vaicātu, kuras pakotnes ir instalētas vai ir pieejamas instalēšanai.

Visas pakotnes atrodas Nix kanālā, kas ir URL, kas norāda uz krātuvi, kurā ietilpst gan Nix izteicienu kolekcijas, gan rādītājs uz bināro kešatmiņu.

Noklusējuma kanāls ir Nixpkgs, un abonēto kanālu saraksts tiek glabāts ~/.nix-kanālos, tos varat uzskaitīt, izmantojot šādu komandu (bez izvades nenozīmē, ka nav kanālu).

$ nix-channel --list

Lai pievienotu Nix kanālu, izmantojiet šo komandu.

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

Pirms pakotņu instalēšanas vispirms atjauniniet Nix kanālu; tas ir līdzīgs apt atjaunināšanas palaišanai APT pakotņu pārvaldniekā.

$ nix-channel --update

Jūs varat vaicāt, kādi pakotnes ir pieejamas instalēšanai, izmantojot šādu komandu.

$ nix-env -qa

Šajā piemērā mēs instalēsim grep, lai atrastu pakotni, kas ir pieejama instalēšanai, kā parādīts.

$ nix-env -qa | grep "apache-tomcat"

Lai instalētu pakotni, izmantojiet šo komandu, norādot pakotnes versiju, piemēram, apache-tomcat-9.0.2.

$ nix-env -i apache-tomcat-9.0.2

Vietējā sistēmā Nix uzglabā pakas Nix veikalā, kas pēc noklusējuma ir direktorijs/nix/store, kur katrai pakotnei ir savs unikālais apakšdirektorijs. Piemēram, apache-runča pakotnes tiek glabātas:

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

Šajā ceļā izlases rakstzīmes 95gmgnxlrcpkhlm00fa5ax8kvd6189py ir unikāls paketes identifikators, kas ņem vērā visas tā atkarības.

Jūs varat uzskaitīt instalētās paketes ar šādu komandu.

$ nix-env -q

Lai jauninātu apache-tomcat pakotni, varat izmantot jaunināšanas slēdzi -u , kā parādīts.

$ nix-env -u apache-tomcat

Ja vēlaties noņemt/izdzēst apache-tomcat, izmantojiet karodziņu -e . Šeit pakete netiek nekavējoties izdzēsta no sistēmas, tā tiek padarīta tikai par neizmantotu. Tas ir noderīgi, jo vēlaties veikt atcelšanu vai arī tas var būt citu lietotāju profilos.

$ nix-env -e apache-tomcat

Pēc iepakojuma noņemšanas jūs varat veikt atkritumu savākšanu ar utilītu nix-collect-garbage.

$ nix-collect-garbage

Kā noņemt Nix pakotņu pārvaldnieku Linux

Lai atinstalētu Nix, vienā piegājienā noņemiet visus ar nix saistītos failus.

$ 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

Sistēmās ar systemd palaidiet šādas komandas, lai apturētu visus ar nix saistītos pakalpojumus un tos atspējotu.

$ sudo systemctl stop nix-daemon.socket
$ sudo systemctl stop nix-daemon.service
$ sudo systemctl disable nix-daemon.socket
$ sudo systemctl disable nix-daemon.service
$ sudo systemctl daemon-reload

Turklāt jums ir jānoņem visas atsauces uz Nix šajos failos:/etc/profile,/etc/bashrc un/etc/zshrc.

Lai iegūtu papildinformāciju, skatiet iepriekš apskatīto utilītu rokasgrāmatas.

$ man nix-channel
$ man nix-env

Nix Package Manager dokumentāciju varat atrast projekta vietnē: https://nixos.org/nix/.

Nix ir tīri funkcionāls pakešu pārvaldnieks, kas paredzēts uzticamai un reproducējamai pakotņu pārvaldībai. Tas nodrošina interesantu paketes pārvaldības koncepciju, kas ir ļoti atšķirīga no Linux parasti izmantotajiem rīkiem, piemēram, APT un daudziem citiem.

Šajā rakstā mēs parādījām, kā instalēt nix vairāku lietotāju režīmā, un apspriedām, kā veikt pakotņu pārvaldību ar Nix. Dalieties savās domās ar mums vai uzdodiet jautājumus, izmantojot zemāk esošo komentāru veidlapu. Visbeidzot, nākamajā rakstā mēs izskaidrosim vairāk Nix pakotņu pārvaldības komandu. Līdz tam paliec savienots.