NixOS

Cum se utilizează NixOS Package Manager?

Cum se utilizează NixOS Package Manager?
Managerul de pachete NixOS este un sistem propriu. Îl puteți utiliza sub orice distribuție Linux.

Ce face NixOS Package Manager?

Majoritatea managerilor de pachete folosesc un fișier care conține codul executabil sau sursă. Apoi calculează de ce are nevoie sistemul și apoi se asigură că acesta există. În Nix, lucrurile funcționează foarte similar. Marea diferență este că Nix creează toate fișierele și le compilează dacă este necesar, apoi le pune într-un singur loc; magazinul nix. Prima întrebare pe care o aveți poate fi „Fișierele nu vor avea același nume?”Sistemul evită acest lucru având un director pentru fiecare versiune ȘI denumirea tuturor fișierelor cu un hash. Pentru a face aplicația „să se simtă ca acasă”, toate dependențele sunt apoi legate de directoarele lor corecte folosind legături simbolice obișnuite. Un profil ține evidența versiunii pe care o rulează fiecare utilizator.

Instalările utilizatorului NixOS

Cu acest sistem, puteți avea diferite versiuni instalate în directorul fiecărui utilizator. Dacă aceștia sunt identici la mai mulți utilizatori, administratorul poate permite Nix să reconecteze binare, deci există doar unul la un moment dat. Acest lucru este util pentru economisirea spațiului pe disc. De asemenea, puteți crea medii specifice pentru fiecare versiune a pachetului. Acest lucru este util mai ales atunci când doriți să testați o nouă versiune sau să dezvoltați software.

Instalare pentru distribuție comună

Pentru majoritatea platformelor obișnuite, puteți instala Nix, managerul de pachete cu un script simplu. Acest script este disponibil pe site-ul web Nix. Scriptul va avea nevoie de acces utilizator root, dar dacă sunteți foarte conștient de securitate, ar trebui să citiți scriptul înainte de al utiliza. Dacă doriți să evitați utilizarea root în script, creați direct directorul / nix pe sistemul dvs.

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

Dacă nu aveți acces root sau pur și simplu foarte precaut, puteți avea Nix doar ca manager de pachete pentru utilizator.

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

Acest binar funcționează bine pentru majoritatea, dacă nu pentru toate distribuțiile. Platformele sunt x8664, i?86, aarch64 și x8664-darwin, care acoperă aproape toate platformele disponibile. Dacă utilizați orice alte platforme, probabil că puteți utiliza codul sursă și vă puteți construi propria. Când instalarea este terminată, veți avea apoi o grămadă de comenzi noi.

Adăugarea primului dvs. program la NixOS

Pentru a instala software-ul și a seta când acesta poate fi utilizat, aveți nix-env. Opțiunea de instalare (-i) este cea mai obișnuită, deoarece o folosiți întotdeauna și puneți un pachet ca argument.

$ nix-env -i firefox

Acesta arată la fel ca în alte distribuții, la fel și argumentul interogării. Cu toate acestea, instalarea va dura ceva timp. Motivul este că trebuie să compileze software-ul, cu excepția cazului în care există o versiune precompilată în cache-ul Nix. Nici atingerea cache-ului nu este întotdeauna foarte rapidă. Există o diferență de care ar trebui să luați notă; puteți alege o versiune! Dacă doriți o versiune specială, trebuie să găsiți care sunt disponibile folosind expresii regulate.

$ nix-env -qa 'firefox.* '

Veți primi o listă cu toate pachetele disponibile. Puteți să-l instalați în același mod, dar folosind valoarea din listă.

$ nix-env -install 'firefox-78.4.0ser '-păstrează-instalat

Acest lucru poate eșua dacă aveți deja o versiune instalată. Opțiunea „-păstrează-instalat” nu va șterge versiunea instalată. Puteți ajunge la două versiuni ale aceleiași priorități, pe care le puteți remedia setând prioritatea.

$ nix-env -set-flag prioritate 2 'firefox-82.0.2 '

Acum, veți rula versiunea veche data viitoare când porniți Firefox. Pentru a comuta pe care o executați, puteți seta prioritatea în consecință. De asemenea, puteți porni un shell pentru a alege un binar. Aceasta este opțiunea unui dezvoltator, iar comanda este nix-shell.

Actualizarea NixOS

Odată ce aveți o colecție de software, doriți să rămâneți la curent. La fel ca întotdeauna, utilizați aceeași comandă cu un argument. Dar trebuie să mențineți și canalul actualizat. Comanda este nix-channel.

$ nix-channel -update

Aceasta citește versiunile actuale ale tuturor pachetelor disponibile. După aceea, puteți începe să vă actualizați software-ul cu nix-env.

$ nix-env -upgrade

O astfel de actualizare va actualiza vechea dvs. versiune a software-ului. În acest caz, vechiul Firefox va fi înlocuit cu cea mai nouă versiune. Este posibil să nu doriți acest lucru pentru orice motiv, de obicei dezvoltarea.

Eliminarea aplicațiilor din NixOS

Eliminarea aplicațiilor este la fel de simplă, cu o avertizare mică. Nicio aplicație nu este eliminată printr-o comandă remove.

$ nix-env -uninstall 'firefox-78.4.0ser '

Această comandă va elimina linkurile către versiunea curentă a acestei versiuni de Firefox. Toate fișierele vor rămâne întotdeauna pe disc. Aveți aceste versiuni disponibile pentru a face o revenire. O revenire înseamnă că reveniți la utilizarea versiunii vechi. Acest lucru poate fi util dacă ați încercat cel mai nou și are probleme neprevăzute.

$ nix-env -rollback

Reduceți o generație întreagă, ceea ce înseamnă toate programele care au fost actualizate de la ultima generație. Opțiunea execută două comenzi; lista respectivă și apoi trece la acele generații vechi. Toate pachetele instalate există într-o generație pe disc.

Revenire și curățare NixOS

Funcția de revenire va duce la utilizarea mult spațiu pe disc de către versiunile vechi. Puteți curăța acest lucru (trebuie să îl curățați!). Când ați avut o perioadă suficient de lungă, la alegerea dvs., puteți curăța și aceste generații vechi pentru a economisi spațiu pe disc.

$ nix-env -delete-vechi generații

Cu această comandă, ștergeți toate generațiile, cu excepția ultimelor două. Puteți merge înainte și înapoi în listă cu parametri mai complecși pentru a părăsi generația specifică care a funcționat cel mai bine pentru dvs. Dacă nu aveți multe proiecte de testare sau dezvoltare care au nevoie de mai multe versiuni pentru testare, ar trebui să utilizați o eliminare programată a tuturor generațiilor vechi.

Un script simplu pentru a vă menține generațiile curate vine cu o instalare a managerului de pachete Nix.

$ nix-collect-gunage

De asemenea, ar trebui să configurați colectorul să ruleze automat folosind systemd sau alte sisteme.

Concluzie

Managerul de pachete Nix este un sistem puternic care vă poate ajuta să rulați medii complexe de dezvoltare pe mașină. De asemenea, îl puteți utiliza pentru a vă menține software-ul ordonat și pentru a avea o modalitate simplă de recuperare pe o nouă mașină, în caz de catastrofă a unui accident de disc.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Motoare de jocuri gratuite și open source pentru dezvoltarea jocurilor Linux
Acest articol va acoperi o listă de motoare de jocuri gratuite și open source care pot fi utilizate pentru dezvoltarea jocurilor 2D și 3D pe Linux. Ex...