Nix - Manajan Kunshin Kayan aiki Zalla don Linux


Nix tsari ne mai ƙarfi, tsarin sarrafa fakitin aiki kawai wanda aka ƙera don amintaccen sarrafa fakitin da za'a iya sakewa, wanda aka saki ƙarƙashin sharuɗɗan GNU LGPLv2.1. Ita ce tsarin sarrafa fakiti na farko a cikin NixOS, ƙaramin sanannen rarraba Linux.

Nix yana ba da haɓakawa na atomic da jujjuyawar, nau'ikan shigarwa da yawa, sarrafa fakitin masu amfani da yawa da saitin mahallin ginawa don fakiti, ba tare da la'akari da irin yarukan shirye-shirye da kayan aikin da mai haɓaka ke amfani da su ba.

A ƙarƙashin Nix, an gina fakiti daga yaren fakitin aiki mai suna \Nix expressions Wannan tsarin aiki na sarrafa fakiti yana ba da tabbacin cewa shigarwa ko haɓaka fakiti ɗaya ba zai iya karya wasu fakitin ba.

Nix kuma yana da tallafin mai amfani da yawa, wanda ke nuna cewa masu amfani da tsarin na yau da kullun (ko marasa gata) na iya shigar da fakiti cikin aminci kuma kowane mai amfani ana gano shi ta hanyar bayanin martaba (tarin fakiti a cikin shagon Nix wanda ya bayyana a cikin PATH mai amfani).

Idan wani mai amfani ya shigar da kunshin, idan wani mai amfani ya yi ƙoƙarin shigar da fakiti iri ɗaya, ba za a gina ko zazzage fakitin a karo na biyu ba.

A halin yanzu yana goyan bayan Linux (i686, x86_64) da Mac OS X (x86_64). Koyaya, yana da sauƙin ɗauka, zaku iya gwada shi akan yawancin dandamali waɗanda ke tallafawa zaren POSIX kuma suna da mai tara C ++11.

A cikin wannan labarin, za mu nuna yadda ake shigarwa (a cikin yanayin mai amfani da yawa) da amfani da mai sarrafa fakitin Nix a cikin Linux. Za mu tattauna wasu mahimman ayyukan sarrafa fakiti dangane da kayan aikin da aka saba amfani da su.

Yadda ake Shigar Nix Package Manager a Linux

Za mu shigar da sabuwar sigar Nix (v2.1.3 a lokacin rubutu) a cikin yanayin mai amfani da yawa. Abin farin ciki, akwai shirye-shiryen rubutun shigarwa wanda zaku iya gudu daga harsashi azaman mai amfani na yau da kullun ta amfani da bin umarnin curl akan tsarin ku.

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

Gudanar da umarnin da ke sama zai sauke sabuwar nix binary tarball, kuma za ku sauka a cikin allon shigarwa na nix mai amfani da yawa kamar yadda aka nuna a hoton.

Don duba cikakken jerin abubuwan da zasu faru yayin aikin shigarwa, rubuta y kuma danna Shigar. Idan kun gamsu kuma kuna shirye don ci gaba, rubuta y kuma danna Shigar.

Rubutun zai yi kiran umarnin sudo sau da yawa kamar yadda ake buƙata. Kuna buƙatar ba shi izinin amfani da sudo ta hanyar amsa y da buga Shigar.

Mai sakawa zai gudanar da ƴan gwaje-gwaje kuma ya samar da rahoton saitin Nix, ƙirƙirar masu amfani tsakanin masu amfani da IDs 30001 da 30032, da rukuni tare da rukunin ID 30000. Shigar da y don ci gaba lokacin da aka sa. Zai kafa ƙungiyoyin ginin don masu amfani da ginin daban-daban, yin ainihin tsarin tsarin Nix.

Zai canza fayil ɗin /etc/bashrc, (da /etc/zshrc don zsh) idan sun kasance. Lura cewa yana fara adana fayilolin da aka ambata tare da tsawo na .backup-before-nix kuma mai sakawa shima yana ƙirƙirar fayil ɗin /etc/profile.d/nix.sh.

Mai sakawa kuma zai kafa sabis na nix-daemon da sabis na soket na nix-daemon, yana loda naúrar tsarin don nix-daemon kuma ya fara ayyukan biyu da aka ambata.

Da zarar an gama shigarwa, kuna buƙatar buɗe sabuwar taga tasha don fara amfani da Nix. A madadin, rufe kuma sake buɗe harsashin ku don amfani da canje-canjen kwanan nan. Sannan samo fayil ɗin /etc/profile.d/nix.sh (saboda ba fayil ɗin farawa ba ne, buɗe sabon harsashi ba zai samo shi ba).

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

Na gaba, gudanar da umarni mai zuwa don zazzage wasu hanyoyi daga gidan yanar gizon aikin, wanda ake buƙata don Nix yayi aiki. Bayan an zazzage duk hanyoyin kuma an kwafi su zuwa wuraren da suka dace, zaku ga tsarin da nau'in shigarwa na nix kamar yadda aka nuna a hoton.

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

Yadda ake Amfani da Nix Package Manager a Linux

A ƙarƙashin Nix, aikin nix-env yana yin sarrafa fakitin. Ana amfani da shi don shigarwa, haɓakawa, da cirewa/goge fakiti, da kuma tambayar menene fakitin aka shigar ko akwai don shigarwa.

Duk fakitin suna cikin tashar Nix, wanda shine URL wanda ke nuna ma'ajiyar ajiya wanda ya ƙunshi duka tarin maganganun Nix da mai nuni zuwa cache na binary.

Tsohuwar tashar ita ce Nixpkgs kuma ana adana jerin tashoshin da aka yi rajista a ~/.nix-channels, zaku iya jera su ta amfani da umarnin mai zuwa (babu fitarwa yana nufin babu tashoshi).

$ nix-channel --list

Don ƙara tashar Nix, yi amfani da umarni mai zuwa.

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

Kafin ka shigar da kowane fakiti, fara da sabunta tashar Nix; wannan yayi kama da gudanar da sabuntawa mai dacewa a ƙarƙashin mai sarrafa fakitin APT.

$ nix-channel --update

Kuna iya tambayar menene fakitin don shigarwa ta amfani da umarni mai zuwa.

$ nix-env -qa

A cikin wannan misali, za mu shigar da grep don nemo kunshin yana samuwa don shigarwa kamar yadda aka nuna.

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

Don shigar da fakiti, yi amfani da umarni mai zuwa ta hanyar tantance sigar fakitin, misali apache-tomcat-9.0.2.

$ nix-env -i apache-tomcat-9.0.2

A kan tsarin gida, Nix yana adana fakiti a cikin kantin sayar da Nix, wanda shine ta hanyar tsoho/nix/store directory, inda kowane kunshin yana da nasa na musamman sub-directory. Misali, ana adana fakitin apache-tomcat a:

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

A cikin wannan tafarki, bazuwar haruffa 95gmgnxlrcpkhlm00fa5ax8kvd6189py shine mai ganowa na musamman don kunshin da ke ɗaukar duk abubuwan dogaronsa.

Kuna iya lissafin fakitin da aka shigar tare da umarni mai zuwa.

$ nix-env -q

Don haɓaka fakitin apache-tomcat, zaku iya amfani da -u haɓaka haɓaka kamar yadda aka nuna.

$ nix-env -u apache-tomcat

Idan kuna son cirewa/ goge apache-tomcat, yi amfani da tutar -e. Anan, ba a goge fakitin daga tsarin nan da nan ba, an mayar da shi mara amfani. Wannan yana da amfani saboda kuna son yin jujjuyawar, ko yana iya kasancewa a cikin bayanan bayanan wasu masu amfani.

$ nix-env -e apache-tomcat

Bayan cire kunshin, zaku iya yin wasu tarin shara tare da kayan aikin nix-tattara-datti.

$ nix-collect-garbage

Yadda ake Cire Nix Package Manager a Linux

Don cire Nix, cire duk fayilolin da ke da alaƙa a lokaci ɗaya.

$ 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

A kan tsarin da ke da tsarin, gudanar da waɗannan umarni don dakatar da duk ayyukan da ke da alaƙa da nix kuma a kashe su.

$ 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

Bugu da ƙari, kuna buƙatar cire duk wani nassoshi zuwa Nix a cikin waɗannan fayilolin: /etc/profile, /etc/bashrc, da /etc/zshrc.

Don ƙarin bayani, duba shafukan mutum na abubuwan amfani na sama da muka duba.

$ man nix-channel
$ man nix-env

Kuna iya samun takaddun Fakitin Nix a cikin gidan yanar gizon aikin: https://nixos.org/nix/.

Nix shine mai sarrafa fakitin aiki kawai wanda aka tsara don ingantaccen sarrafa fakitin da za'a iya sakewa. Yana ba da ra'ayi mai ban sha'awa na sarrafa fakiti, wanda ya bambanta da kayan aikin da aka saba amfani da su a cikin Linux kamar APT, da sauran su.

A cikin wannan labarin, mun nuna yadda ake shigar da nix a cikin yanayin mai amfani da yawa kuma mun tattauna yadda ake gudanar da kunshin tare da Nix. Raba tunanin ku tare da mu ko yin tambayoyi ta hanyar sharhin da ke ƙasa. A ƙarshe, a cikin labarin mai zuwa, za mu yi bayanin ƙarin umarnin sarrafa fakitin Nix. Har sai lokacin, ci gaba da haɗin gwiwa.