Bij het indelen van Linux-distributies is het vaak handig om aan te geven welk pakketbeheersysteem de distributie gebruikt. Er zijn veel verschillende pakketbeheersystemen in gebruik, maar de twee meest populaire zijn waarschijnlijk de .deb- en .rpm-formaten. De eerste komt van Debian en wordt gebruikt door Ubuntu, terwijl de tweede werd ontwikkeld door RedHat.

NixOS is een Linux-distributie met een eigen unieke pakketbeheerder. Het volledige besturingssysteem, inclusief de kernel, applicaties, systeempakketten en configuratiebestanden, wordt gebouwd door de Nix-pakketbeheerder. De Nix Package Manager maakt gebruik van een declaratief systeemconfiguratiemodel. Dit betekent dat systeemconfiguratie-items worden beschreven in een configuratiebestand en dat het besturingssysteem alles doet wat nodig is om de configuratie te laten gebeuren.

Als een systeembeheerder een SSH-server wil installeren, hoeft hij alleen maar een regel toe te voegen aan de configuratie om die service in te schakelen. NixOS zal vervolgens OpenSHH downloaden en installeren, plus de relevante configuratiebestanden genereren.

Een ander interessant kenmerk van NixOS is dat het al zijn pakketten geïsoleerd van elkaar opslaat; als gevolg hiervan zijn er geen / bin, / sbin, / lib of / usr directories. Alle pakketten worden bewaard in / nix / store. Samen met het declaratieve configuratiemodel maakt dit het upgraden van NixOS-systemen betrouwbaar en kan het besturingssysteem een ​​transactionele aanpak van systeembeheer implementeren, inclusief de mogelijkheid om upgrades terug te draaien.

Het declaratieve configuratiemodel maakt het ook gemakkelijk om een ​​systeemconfiguratie op een andere machine te reproduceren. De beheerder kopieert het configuratiebestand naar de nieuwe NixOS-machine en met één opdracht wordt de machine getransformeerd om dezelfde kernel, toepassingen, systeemservices, enzovoort te gebruiken.

Om NixOS uit te proberen, download je het .ISO-bestand van de downloadpagina van het project, brand het op een CD en start hier je pc op. Na het booten krijgt u een tekstinlogprompt te zien. Voer "root" in als gebruikersnaam en druk op ENTER. Het NixOS-installatieprogramma maakt geen partitionering of formattering, dus u moet de partities handmatig maken en formatteren.

Opmerking : de volgende opdrachten zullen ALLES op de schijf wissen; Ga voorzichtig te werk.

Typ het volgende:

 fdisk / dev / sda 

Waarbij "/ dev / sda" de naam is van de schijf die u wilt gebruiken, in dit geval de eerste harde schijf op de pc.

Typ in fdisk "o" om een ​​lege partitietabel te maken. Typ "n, p, 1, ENTER, + 2G, t, 82" om een ​​nieuwe primaire partitie van 2 GB te maken die als swapspace kan worden gebruikt. Typ nu "n, p, 2, ENTER, ENTER" om een ​​nieuwe primaire partitie voor de NixOS-installatie te maken. Verlaat de fdisk met "w". Als u de vrije ruimte op de schijf wilt gebruiken zonder de bestaande gegevens te wissen, maak dan geen lege partitietabel en pas uw partitioneringsschema dienovereenkomstig aan.

Activeer de swapspace met:

 mkswap -L swap / dev / sda1 swapon / dev / sda1 

Formatteer nu de tweede partitie:

 mkfs.ext4 -L nixos / dev / sda2 

Nu mount de nieuwe partitie:

 mount / dev / disk / by-label / nixos / mnt 

Beschrijvende configuratiebestanden vormen de kern van NixOS en de Nix Package Manager. Zelfs het installatieproces heeft een configuratiebestand nodig om NixOS te vertellen wat te installeren. Om een ​​standaard configuratie bestandstype te genereren:

 nixos-generate-config --root / mnt 

Bewerk nu het resulterende bestand met behulp van nano:

 nano /mnt/etc/nixos/configuration.nix 

Zoek de volgende regels en verwijder het "#" -teken vanaf het begin:

  • boot.loader.grub.device = "/ dev / sda"
  • services.openssh.enable = true
  • services.xserver.enable = true
  • services.xserver.layout = "ons"
  • services.xserver.desktopManager.kde4.enable = true;
  • services.xserver.displayManager.kdm.enable = true;

Sluit nano af met CTRL-X en start de installatie:

 nixos-install 

Zodra de installatie is voltooid, start u uw systeem opnieuw op. U moet de CD verwijderen of de optie "Boot from hard disk" kiezen als u vanaf het optische station hebt opgestart.

Het systeem moet opstarten in de display-manager; U kunt zich echter nog niet aanmelden omdat er geen gebruikers zijn gedefinieerd en rootaanmeldingen zijn niet toegestaan ​​op het bureaublad. Druk op CTRL + ALT + F1 om over te schakelen naar een console.

Meld u nu aan als root en voeg een gebruiker toe. Hier ziet u hoe u de gebruiker "gary" aanmaakt:

 useradd -m gary passwd gary 

U moet ook het root-wachtwoord wijzigen met behulp van "passwd".

Druk op CTRL + ALT + F7 om terug te gaan naar de grafische aanmeldingsprompt en meld u aan met de gebruikersnaam en het wachtwoord dat u hierboven hebt gemaakt.

NixOS bevat geen grafische pakketbeheerder zoals Ubuntu of Fedora en alle pakketopdrachten moeten vanaf de terminal worden uitgevoerd. Om een ​​lijst te maken van alle beschikbare pakketten, typt u:

 nix-env -qa \ * 

U kunt "grep" gebruiken om bepaalde pakketten te vinden. Hier is hoe te zoeken naar de substring "fire":

 nix-env -qa \ * | grep -i fire 

In de lijst wordt de Firefox-webbrowser weergegeven. Om het te installeren, gebruik:

 nix-env -i firefox 

De manier waarop we de gebruiker hebben toegevoegd en de manier waarop we Firefox hebben geïnstalleerd, wordt imperatief beheer genoemd. Je voert een commando uit en het gebeurt. De kracht van NixOS ligt echter in het declaratieve beheer ervan. Met declaratief beheer vertelt de systeembeheerder aan NixOS wat moet worden bereikt en NixOS zorgt ervoor dat dit gebeurt zonder het systeem te onderbreken.

Als u bijvoorbeeld een gebruiker wilt toevoegen die declaratief gebruikersbeheer gebruikt, bewerkt u "/etc/nixos/configuration.nix" (als root). Voeg de volgende regels toe aan het einde van het bestand, maar vóór de laatste "}":

 users.extraUsers.alice = {createHome = true; home = "/ home / alice"; extraGroups = ["wiel"]; useDefaultShell = true; }; 

Om een ​​pakket te installeren, voeg je de volgende regel toe aan het bestand configuration.nix:

 environment.systemPackages = [pkgs.thunderbird]; 

Voor actie het nieuwe bestand configuration.nix, gebruikt u de opdracht nixos-rebuild:

 nixos-rebuild schakelaar 

Deze opdracht doet al het nodige om de configuratie te laten gebeuren, inclusief het downloaden van Thunderbird en het maken van de nieuwe gebruiker, enz.

De kracht van NixOS is formidabel. Als je dieper wilt gaan, moet je naar de NixOS-handleiding kijken, en als je hulp nodig hebt, moet je de NixOS-communitypagina proberen.