NixOS

NixOS Pakketbeheer gebruiken?

NixOS Pakketbeheer gebruiken?
De NixOS-pakketbeheerder is een systeem op zich. Je kunt het onder elke Linux-distributie gebruiken.

Wat doet NixOS Package Manager??

De meeste pakketbeheerders gebruiken een bestand dat het uitvoerbare bestand of de broncode bevat. Ze berekenen dan wat het nodig heeft op het systeem en controleren dan of het bestaat. In Nix werken de dingen op dezelfde manier. Het grote verschil is dat Nix alle bestanden aanmaakt en ze indien nodig compileert, en ze vervolgens op één plaats zet; de nix-store. De eerste vraag die u heeft, kan zijn: "Zullen de bestanden niet dezelfde naam hebben?"?Het systeem vermijdt dit door voor elke versie één map te hebben EN alle bestanden een hash te geven. Om de applicatie "thuis te laten voelen", worden alle afhankelijkheden vervolgens gekoppeld aan hun juiste mappen met behulp van gewone symlinks. Een profiel houdt bij welke versie elke gebruiker gebruikt.

NixOS-gebruikersinstallaties

Met dit systeem kunt u verschillende versies installeren in de directory van elke gebruiker. Als ze bij meerdere gebruikers hetzelfde zijn, kan de beheerder Nix binaire bestanden opnieuw laten koppelen, zodat er maar één tegelijk bestaat. Dit is handig om schijfruimte te besparen. U kunt ook specifieke omgevingen maken voor elke versie van het pakket. Dit is vooral handig als u een nieuwe versie wilt testen of software wilt ontwikkelen.

Installeren voor algemene distributie

Voor de meeste gangbare platforms kun je Nix installeren, de pakketbeheerder met een eenvoudig script. Dit script is beschikbaar op de Nix-website. Het script heeft root-gebruikerstoegang nodig, maar als je erg veiligheidsbewust bent, moet je het script lezen voordat je het gebruikt. Als u root in het script niet wilt gebruiken, maakt u gewoon de /nix-map op uw systeem aan.

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

Als je geen root-toegang hebt of gewoon super voorzichtig bent, kun je Nix gebruiken als pakketbeheerder voor alleen gebruikers.

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

Dit binaire bestand werkt goed voor de meeste, zo niet alle distributies. Platforms zijn x8664, i?86, aarch64 en x8664-darwin, die bijna alle beschikbare platforms dekken. Als u andere platforms gebruikt, kunt u waarschijnlijk de broncode gebruiken en uw eigen maken. Wanneer de installatie is voltooid, heb je een aantal nieuwe opdrachten.

Je eerste programma toevoegen aan NixOS

Om software te installeren en in te stellen wanneer deze kan worden gebruikt, heb je nix-env. De installatieoptie (-i) is de meest voorkomende omdat je deze altijd gebruikt en een pakket als argument plaatst put.

$ nix-env -i firefox

Dit ziet er hetzelfde uit als in andere distributies, net als het query-argument. De installatie zal echter enige tijd duren. De reden is dat het de software moet compileren, tenzij er een voorgecompileerde versie in de Nix Cache zit. Het bereiken van de cache is ook niet altijd even snel. Er is een verschil waar u rekening mee moet houden; je kunt een versie kiezen! Als je een speciale versie wilt, moet je met reguliere expressies zoeken welke beschikbaar zijn.

$ nix-env -qa 'firefox'.*'

U ontvangt een lijst met alle beschikbare pakketten. Je kunt het op dezelfde manier installeren, maar met de waarde in de lijst.

$ nix-env -install 'firefox-78'.4.0ser' -preserve-geïnstalleerd

Dit kan mislukken als je al een geïnstalleerde versie hebt. Optie '-preserve-installed' zal de geïnstalleerde versie niet wissen. U kunt eindigen met twee versies van dezelfde prioriteit, die u kunt oplossen door de prioriteit in te stellen.

$ nix-env -set-flag prioriteit 2 'firefox-82'.0.2'

Nu start u de oude versie de volgende keer dat u Firefox start. Om te wisselen tussen welke je draait, kun je de prioriteit dienovereenkomstig instellen. Je kunt ook een shell starten om een ​​binair bestand te kiezen. Dit is een optie van een ontwikkelaar en het commando is nix-shell.

NixOS bijwerken

Als je eenmaal een verzameling software hebt, wil je op de hoogte blijven. Hetzelfde als altijd, je gebruikt hetzelfde commando met een argument. Maar je moet het kanaal ook up-to-date houden. Het commando is nix-channel.

$ nix-channel -update

Dit leest de huidige versies van alle beschikbare pakketten. Daarna kunt u beginnen met het upgraden van uw software met nix-env.

$ nix-env -upgrade

Een upgrade als deze zal je oude versie van de software upgraden. In dit geval wordt de oude Firefox vervangen door de nieuwste versie. Misschien wil je dit om welke reden dan ook niet, meestal ontwikkeling.

Applicaties verwijderen uit NixOS

Het verwijderen van applicaties is even eenvoudig, met een klein voorbehoud. Er worden geen applicaties verwijderd door een verwijderopdracht.

$ nix-env - verwijder 'firefox-78'.4.0ser'

Met deze opdracht worden de koppelingen naar de huidige versie van deze versie van Firefox verwijderd. Alle bestanden blijven altijd op schijf. Je hebt deze versies beschikbaar om een ​​rollback uit te voeren. Een rollback betekent dat u teruggaat naar het gebruik van de oude versie. Dit kan handig zijn als je het nieuwste hebt geprobeerd en het onvoorziene problemen heeft.

$ nix-env -rollback

Je draait een hele generatie terug, dat wil zeggen alle programma's die zijn geüpgraded sinds de laatste generatie. De optie voert twee opdrachten uit; die lijst en schakelt dan over naar die oude generaties. Alle geïnstalleerde pakketten bestaan ​​in een generatie op schijf.

NixOS terugdraaien en opruimen

De rollback-functie zal ertoe leiden dat veel schijfruimte wordt gebruikt door oude versies. U kunt dit opruimen (u moet dit opruimen)!). Als je een periode hebt gehad die lang genoeg is, kun je naar eigen keuze ook deze oude generaties opschonen om schijfruimte te besparen.

$ nix-env -verwijder-generaties oud

Met dit commando verwijder je alle generaties behalve de laatste twee. U kunt heen en weer gaan in de lijst met complexere parameters om de specifieke generatie te verlaten die het beste voor u werkte. Tenzij je veel test- of ontwikkelingsprojecten hebt die veel versies nodig hebben om te testen, moet je een geplande verwijdering van alle oude generaties gebruiken.

Een eenvoudig script om uw generaties schoon te houden, wordt geleverd met een installatie van Nix-pakketbeheerder.

$ nix-collect-garbage

U moet het verzamelprogramma ook zo instellen dat het automatisch wordt uitgevoerd met systemd of andere systemen.

Conclusie

Nix-pakketbeheerder is een krachtig systeem waarmee u complexe ontwikkelomgevingen op uw machine kunt laten draaien. Je kunt het ook gebruiken om je software netjes te houden en een eenvoudige manier te hebben om te herstellen op een nieuwe machine, mocht de catastrofe van een schijfcrash zich voordoen.

Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...