Nix - Hinn hreinlega hagnýti pakkastjóri fyrir Linux


Nix er öflugt, eingöngu virkt pakkastjórnunarkerfi hannað fyrir áreiðanlega og endurskapanlega pakkastjórnun, gefið út samkvæmt skilmálum GNU LGPLv2.1. Það er aðal pakkastjórnunarkerfið í NixOS, minna þekkt Linux dreifing.

Nix býður upp á atomic uppfærslur og afturköllun, margar útgáfur af pakkauppsetningu, fjölnotenda pakkastjórnun og áreynslulausa uppsetningu byggingarumhverfis fyrir pakka, óháð því hvaða forritunarmál og verkfæri þróunaraðili notar.

Undir Nix eru pakkar byggðir úr hagnýtu pakkatungumáli sem kallast „Nix expressions.“ Þessi virka nálgun við pakkastjórnun tryggir að uppsetning eða uppfærsla á einum pakka getur ekki brotið aðra pakka.

Nix er einnig með fjölnotendastuðning, sem gefur til kynna að venjulegir (eða óforréttinda) kerfisnotendur geti sett upp pakka á öruggan hátt og hver notandi er auðkenndur með prófíl (safn pakka í Nix versluninni sem birtast í PATH notandans).

Ef einn notandi hefur sett upp pakka, ef annar notandi reynir að setja upp sama pakka, verður pakkinn ekki smíðaður eða niðurhalaður í annað sinn.

Það styður eins og er Linux (i686, x86_64) og Mac OS X (x86_64). Hins vegar er það frekar færanlegt, þú getur prófað það á flestum kerfum sem styðja POSIX þræði og eru með C++11 þýðanda.

Í þessari grein munum við sýna hvernig á að setja upp (í fjölnotendaham) og nota Nix pakkastjóra í Linux. Við munum ræða nokkur af grunnpakkastjórnunarverkefnum í tengslum við algengustu verkfærin.

Hvernig á að setja upp Nix Package Manager í Linux

Við munum setja upp nýjustu útgáfuna af Nix (v2.1.3 þegar þetta er skrifað) í fjölnotendaham. Sem betur fer er til tilbúið uppsetningarforskrift sem þú getur keyrt úr skelinni þinni sem venjulegur notandi með því að nota eftirfarandi krulluskipun á kerfinu þínu.

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

Með því að keyra skipunina hér að ofan mun hlaða niður nýjustu nix binary tarball, og þú munt lenda á fjölnotenda nix uppsetningarskjánum eins og sýnt er á skjámyndinni.

Til að skoða ítarlegan lista yfir það sem mun gerast meðan á uppsetningarferlinu stendur skaltu slá inn y og ýta á Enter. Ef þú ert sáttur og tilbúinn til að halda áfram skaltu slá inn y og ýta á Enter.

Handritið kallar fram sudo skipun mörgum sinnum eftir þörfum. Þú þarft að leyfa því að nota sudo með því að svara y og ýta á Enter.

Uppsetningarforritið mun síðan keyra nokkrar prófanir og búa til Nix stillingarskýrslu, búa til uppbyggingarnotendur á milli notendaauðkenna 30001 og 30032 og hóps með hópauðkenni 30000. Sláðu inn y til að halda áfram þegar beðið er um það. Það mun setja upp byggingarhópa fyrir mismunandi byggingarnotendur, gera grunnskráaruppbyggingu Nix.

Það mun breyta skránni /etc/bashrc, (og /etc/zshrc fyrir zsh) ef þau eru til. Athugaðu að það tekur fyrst afrit af nefndum skrám með .backup-before-nix viðbótinni og uppsetningarforritið býr einnig til skrána /etc/profile.d/nix.sh.

Uppsetningarforritið mun einnig setja upp nix-daemon þjónustuna og nix-daemon socket þjónustuna, hlaða systemd einingunni fyrir nix-daemon og hefja tvær fyrrnefndu þjónusturnar.

Þegar uppsetningunni er lokið þarftu að opna nýjan flugstöðvarglugga til að byrja að nota Nix. Að öðrum kosti skaltu loka og opna skelina þína aftur til að beita nýlegum breytingum. Fáðu síðan skrána /etc/profile.d/nix.sh (vegna þess að hún er ekki ræsingarskrá fyrir skel, opnun nýrrar skel mun ekki fá hana).

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

Næst skaltu keyra eftirfarandi skipun til að hlaða niður nokkrum slóðum frá opinberu verkefnisvefsíðunni, sem þarf til að Nix geti starfað. Eftir að öllum slóðum hefur verið hlaðið niður og afritað á rétta staði muntu sjá yfirlit yfir kerfi og nix uppsetningargerð eins og sýnt er á skjámyndinni.

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

Hvernig á að nota Nix Package Manager í Linux

Undir Nix er pakkastjórnun unnin af nix-env tólinu. Það er notað til að setja upp, uppfæra og fjarlægja/eyða pakka og til að spyrjast fyrir um hvaða pakkar eru settir upp eða tiltækir til uppsetningar.

Allir pakkar eru staðsettir í Nix rás, sem er vefslóð sem vísar á geymslu sem samanstendur af bæði söfnum Nix tjáninga og bendi í tvöfaldur skyndiminni.

Sjálfgefin rás er Nixpkgs og listi yfir rásir í áskrift er geymdar í ~/.nix-rásum, þú getur skráð þær með eftirfarandi skipun (engin útgangur þýðir engar rásir).

$ nix-channel --list

Til að bæta við Nix rásinni skaltu nota eftirfarandi skipun.

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

Áður en þú setur upp einhverja pakka skaltu byrja á því að uppfæra Nix rásina; þetta er svipað og að keyra apt update undir APT pakkastjóranum.

$ nix-channel --update

Þú getur spurt hvaða pakkar eru tiltækir fyrir uppsetningu með því að nota eftirfarandi skipun.

$ nix-env -qa

Í þessu dæmi munum við setja upp grepið til að finna pakkann sem hægt er að setja upp eins og sýnt er.

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

Til að setja upp pakka skaltu nota eftirfarandi skipun með því að tilgreina pakkaútgáfuna, til dæmis apache-tomcat-9.0.2.

$ nix-env -i apache-tomcat-9.0.2

Í staðbundnu kerfi geymir Nix pakka í Nix versluninni, sem er sjálfgefið /nix/store skráin, þar sem hver pakki hefur sína einstöku undirskrá. Til dæmis eru apache-tomcat pakkarnir geymdir í:

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

Í þessari slóð eru handahófskenndu stafirnir 95gmgnxlrcpkhlm00fa5ax8kvd6189py einstakt auðkenni fyrir pakkann sem tekur tillit til allra ósjálfstæðis hans.

Þú getur skráð uppsetta pakka með eftirfarandi skipun.

$ nix-env -q

Til að uppfæra apache-tomcat pakkann geturðu notað -u uppfærslurofann eins og sýnt er.

$ nix-env -u apache-tomcat

Ef þú vilt fjarlægja/eyða apache-tomcat, notaðu -e fánann. Hér er pakki ekki eytt úr kerfinu strax, hann er aðeins ónotaður. Þetta er gagnlegt vegna þess að þú vilt gera afturköllun, eða það gæti verið í prófílum annarra notenda.

$ nix-env -e apache-tomcat

Eftir að hafa fjarlægt pakka geturðu safnað sorpi með nix-collect-garbage tólinu.

$ nix-collect-garbage

Hvernig á að fjarlægja Nix Package Manager í Linux

Til að fjarlægja Nix skaltu fjarlægja allar Nix tengdar skrár í einu.

$ 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

Á kerfum með systemd skaltu keyra eftirfarandi skipanir til að stöðva allar nix tengdar þjónustur og slökkva á þeim.

$ 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

Að auki þarftu að fjarlægja allar tilvísanir í Nix í þessum skrám: /etc/profile, /etc/bashrc og /etc/zshrc.

Nánari upplýsingar er að finna á mansíðum ofangreindra tóla sem við höfum skoðað.

$ man nix-channel
$ man nix-env

Þú getur fundið Nix Package Manager skjölin á vefsíðu verkefnisins: https://nixos.org/nix/.

Nix er eingöngu hagnýtur pakkastjóri hannaður fyrir áreiðanlega og endurgerðan pakkastjórnun. Það veitir áhugaverða hugmynd um pakkastjórnun, mjög frábrugðin algengum verkfærum í Linux eins og APT og mörgum öðrum.

Í þessari grein sýndum við hvernig á að setja upp nix í fjölnotendaham og ræddum hvernig á að gera pakkastjórnun með Nix. Deildu hugsunum þínum með okkur eða spurðu spurninga í gegnum athugasemdareyðublaðið hér að neðan. Að lokum, í næstu grein, munum við útskýra fleiri Nix pakkastjórnunarskipanir. Þangað til, vertu í sambandi.