NixOS

Sådan bruges NixOS Package Manager?

Sådan bruges NixOS Package Manager?
NixOS-pakkehåndtering er et eget system. Du kan bruge det under enhver Linux-distribution.

Hvad gør NixOS Package Manager?

De fleste pakkeadministratorer bruger en fil, der indeholder den eksekverbare eller kildekoden. De beregner derefter, hvad det har brug for på systemet, og sørger derefter for, at det findes. I Nix fungerer tingene meget ens. Den store forskel er, at Nix opretter alle filerne og kompilerer dem om nødvendigt og derefter placerer dem ét sted; nix-butikken. Det første spørgsmål, du har, kan være, ”Har filerne ikke samme navn?”Systemet undgår dette ved at have en mappe til hver version OG navngive alle filer med en hash. For at få applikationen til at føle sig hjemme, linkes alle afhængigheder derefter til deres korrekte mapper ved hjælp af almindelige symlinks. En profil holder styr på, hvilken version hver bruger kører.

NixOS brugerinstallationer

Med dette system kan du have forskellige versioner installeret i hver brugers bibliotek. Hvis de er de samme i flere brugere, kan administratoren lade Nix genlinke binære filer, så der kun findes én ad gangen. Dette er nyttigt til at spare diskplads. Du kan også oprette specifikke miljøer for hver version af pakken. Dette er især nyttigt, når du vil teste en ny version eller udvikle software.

Installation til fælles distribution

På de fleste almindelige platforme kan du installere Nix, pakkehåndtering med et simpelt script. Dette script er tilgængeligt på Nix-webstedet. Scriptet skal bruge rootbrugeradgang, men hvis du er meget sikkerhedsbevidst, skal du læse scriptet, før du bruger det. Hvis du vil undgå at bruge root i scriptet, skal du bare oprette / nix-biblioteket på dit system.

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

Hvis du ikke har rootadgang eller bare er super forsigtig, kan du have Nix som pakkehåndtering til kun bruger.

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

Denne binære funktion fungerer godt for de fleste, hvis ikke alle, distributioner. Platforme er x8664, dvs?86, aarch64 og x8664-darwin, som dækker næsten alle tilgængelige platforme. Hvis du bruger andre platforme, kan du sandsynligvis bruge kildekoden og oprette din egen. Når installationen er færdig, vil du have en masse nye kommandoer.

Tilføjelse af dit første program til NixOS

For at installere software og indstille, hvornår den kan bruges, har du nix-env. Installationsmuligheden (-i) er den mest almindelige, da du altid bruger den og lægger en pakke som argument.

$ nix-env -i Firefox

Dette ser det samme ud som i andre distributioner, det samme gør forespørgselsargumentet. Installationen tager dog noget tid. Årsagen er, at den skal kompilere softwaren, medmindre der er en præ-kompileret version i Nix Cache. Det er heller ikke altid meget hurtigt at nå cachen. Der er en forskel, som du skal være opmærksom på; du kan vælge en version! Hvis du vil have en speciel version, skal du finde, hvilke der er tilgængelige ved hjælp af regulære udtryk.

$ nix-env -qa 'firefox.* '

Du modtager en liste over alle tilgængelige pakker. Du kan installere det på samme måde, men ved hjælp af værdien på listen.

$ nix-env -install 'firefox-78.4.0ser '-bevar-installeret

Dette kan mislykkes, hvis du allerede har en installeret version. Option '-preserve-installed' sletter ikke den installerede version. Du kan ende med to versioner af samme prioritet, som du kan rette ved at indstille prioriteten.

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

Nu kører du den gamle version næste gang du starter Firefox. For at skifte hvilken du kører, kan du indstille prioriteten i overensstemmelse hermed. Du kan også starte en skal for at vælge en binær. Dette er en udviklers mulighed, og kommandoen er nix-shell.

Opdatering af NixOS

Når du har en samling af software, vil du holde dig opdateret. Samme som altid, du bruger den samme kommando med et argument. Men du skal også holde kanalen opdateret. Kommandoen er nix-kanal.

$ nix-kanal-opdatering

Dette læser de aktuelle versioner af alle tilgængelige pakker ned. Derefter kan du begynde at opgradere din software med nix-env.

$ nix-env -opgradering

En opgradering som denne vil opgradere din gamle version af softwaren. I dette tilfælde erstattes den gamle Firefox med den nyeste version. Du vil muligvis ikke have det af en eller anden grund, normalt udvikling.

Fjernelse af applikationer fra NixOS

Fjernelse af applikationer er lige så enkel med en lille advarsel. Ingen applikationer fjernes med en fjernkommando.

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

Denne kommando fjerner linkene til den aktuelle version af denne version af Firefox. Alle filerne forbliver altid på disken. Du har disse versioner tilgængelige til at gøre en tilbagevenden. En tilbageførsel betyder, at du går tilbage til at bruge den gamle version. Dette kan være nyttigt, hvis du har prøvet det nyeste, og det har uforudsete problemer.

$ nix-env -rollback

Du tilbagefører en hel generation, hvilket betyder alle de programmer, der blev opgraderet siden sidste generation. Indstillingen kører to kommandoer; listen og skifter derefter til de gamle generationer. Alle installerede pakker findes i en generation på disken.

NixOS Roll-back og oprydning

Tilbageførselsfunktionen vil føre til, at meget diskplads bruges af gamle versioner. Du kan rydde dette op (du skal rydde op!). Når du efter eget valg har haft en lang nok periode, kan du også rydde op i disse gamle generationer for at spare diskplads.

$ nix-env - slet generationer gamle

Med denne kommando sletter du alle generationer undtagen de to sidste. Du kan gå frem og tilbage på listen med mere komplekse parametre for at forlade den specifikke generation, der fungerede bedst for dig. Medmindre du har mange test- eller udviklingsprojekter, der har brug for mange versioner til test, skal du bruge en planlagt fjernelse af alle gamle generationer.

Et simpelt script, der holder dine generationer rene, leveres med en Nix-pakkehåndteringsinstallation.

$ nix-saml-affald

Du skal også indstille samleren til at køre automatisk ved hjælp af systemd eller andre systemer.

Konklusion

Nix pakkehåndtering er et kraftfuldt system, der kan få dig til at køre komplekse udviklingsmiljøer på din maskine. Du kan også bruge den til at holde din software pæn og have en enkel måde at gendanne på en ny maskine, hvis katastrofen ved et disknedbrud skulle opstå.

Mus Sådan bruges Xdotool til at stimulere museklik og tastetryk i Linux
Sådan bruges Xdotool til at stimulere museklik og tastetryk i Linux
Xdotool er et gratis og open source kommandolinjeværktøj til simulering af museklik og tastetryk. Denne artikel dækker en kort vejledning om brug af x...
Mus Top 5 ergonomiske computermusprodukter til Linux
Top 5 ergonomiske computermusprodukter til Linux
Forårsager langvarig brug af computeren smerter i dit håndled eller fingre? Lider du af stive led og er konstant nødt til at ryste hænderne? Føler du ...
Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...