NixOS

Hur man använder NixOS Package Manager?

Hur man använder NixOS Package Manager?
NixOS-pakethanteraren är ett eget system. Du kan använda den under vilken Linux-distribution som helst.

Vad gör NixOS Package Manager?

De flesta pakethanterare använder en fil som innehåller den körbara eller källkoden. De beräknar sedan vad det behöver på systemet och ser sedan till att det finns. I Nix fungerar saker mycket liknande. Den stora skillnaden är att Nix skapar alla filer och sammanställer dem vid behov och sedan placerar dem på ett ställe; nix-butiken. Den första frågan du har kan vara: ”Kommer filerna inte att ha samma namn?”Systemet undviker detta genom att ha en katalog för varje version OCH namnge alla filer med en hash. För att göra applikationen "känns hemma" länkas sedan alla beroenden till sina rätta kataloger med vanliga symlänkar. En profil håller reda på vilken version varje användare kör.

NixOS-användarinstallationer

Med detta system kan du ha olika versioner installerade i varje användares katalog. Om de är desamma i flera användare kan administratören låta Nix återlänka binärer, så det finns bara en åt gången. Detta är användbart för att spara diskutrymme. Du kan också skapa specifika miljöer för varje version av paketet. Detta är särskilt användbart när du vill testa en ny version eller utveckla programvara.

Installerar för gemensam distribution

För de vanligaste plattformarna kan du installera Nix, pakethanteraren med ett enkelt skript. Det här skriptet finns tillgängligt på Nix-webbplatsen. Skriptet behöver root-användaråtkomst, men om du är mycket säkerhetsmedveten bör du läsa skriptet innan du använder det. Om du vill undvika att använda root i skriptet, skapar du bara / nix-katalogen på ditt system.

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

Om du inte har någon root-åtkomst eller bara är super försiktig kan du ha Nix som enbart pakethanterare för användare.

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

Denna binära fungerar bra för de flesta, om inte alla, distributioner. Plattformar är x8664, dvs?86, aarch64 och x8664-darwin, som täcker nästan alla tillgängliga plattformar. Om du använder andra plattformar kan du förmodligen använda källkoden och bygga din egen. När installationen är klar kommer du att ha en massa nya kommandon.

Lägga till ditt första program till NixOS

För att installera programvara och ställa in när den kan användas har du nix-env. Installationsalternativet (-i) är det vanligaste eftersom du alltid använder det och lägger ett paket som argument.

$ nix-env -i Firefox

Detta ser ut som i andra distributioner, så gör frågan argumentet. Installationen tar dock lite tid. Anledningen är att den måste kompilera programvaran såvida det inte finns en förkompilerad version i Nix Cache. Att nå cachen är inte alltid särskilt snabbt. Det är en skillnad som du bör notera; du kan välja en version! Om du vill ha en specialversion måste du hitta vilka som är tillgängliga med reguljära uttryck.

$ nix-env -qa 'firefox.* '

Du kommer att få en lista över alla tillgängliga paket. Du kan installera det på samma sätt men använda värdet i listan.

$ nix-env -installera 'firefox-78.4.0ser '-förvar-installerad

Detta kan misslyckas om du redan har en installerad version. Alternativet '-preserve-installed' raderar inte den installerade versionen. Du kan sluta med två versioner av samma prioritet, som du kan fixa genom att ställa in prioriteten.

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

Nu kör du den gamla versionen nästa gång du startar Firefox. För att byta vilken du kör, kan du ställa in prioriteten därefter. Du kan också starta ett skal för att välja en binär. Detta är ett utvecklaralternativ, och kommandot är nix-shell.

Uppdaterar NixOS

När du har en samling programvara vill du hålla dig uppdaterad. Samma som alltid, du använder samma kommando med ett argument. Men du måste också hålla kanalen uppdaterad. Kommandot är nix-channel.

$ nix-kanal -uppdatering

Detta läser ner de aktuella versionerna av alla tillgängliga paket. Därefter kan du börja uppgradera din programvara med nix-env.

$ nix-env -uppgradering

En sådan uppgradering kommer att uppgradera din gamla version av programvaran. I det här fallet kommer den gamla Firefox att ersättas med den senaste versionen. Du kanske inte vill ha det av någon anledning, vanligtvis utveckling.

Ta bort applikationer från NixOS

Att ta bort applikationer är lika enkelt med en liten försiktighet. Inga applikationer tas bort av ett kommando för att ta bort.

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

Detta kommando tar bort länkarna till den aktuella versionen av den här versionen av Firefox. Alla filer förblir alltid på hårddisken. Du har dessa versioner tillgängliga för att göra en återställning. En återgång innebär att du går tillbaka till att använda den gamla versionen. Detta kan vara användbart om du har provat det senaste och det har oförutsedda problem.

$ nix-env -rollback

Du återställer en hel generation, vilket betyder alla program som har uppgraderats sedan förra generationen. Alternativet kör två kommandon; listan och byter sedan till de gamla generationerna. Alla installerade paket finns i en generation på disk.

NixOS Roll-back och städning

Återställningsfunktionen leder till att mycket diskutrymme används av gamla versioner. Du kan städa upp detta (du måste städa upp det här!). När du har haft en tillräckligt lång period, efter eget val, kan du också städa upp dessa gamla generationer för att spara diskutrymme.

$ nix-env -radera generationer gamla

Med det här kommandot raderar du alla generationer utom de två sista. Du kan gå fram och tillbaka i listan med mer komplexa parametrar för att lämna den specifika generation som fungerade bäst för dig. Om du inte har många test- eller utvecklingsprojekt som behöver många versioner för testning, bör du använda en schemalagd borttagning av alla gamla generationer.

Ett enkelt skript för att hålla dina generationer rena kommer med en installation av Nix-pakethanteraren.

$ nix-samla-skräp

Du bör också ställa in samlaren så att den körs automatiskt med systemd eller andra system.

Slutsats

Nix-pakethanteraren är ett kraftfullt system som kan få dig att köra komplexa utvecklingsmiljöer på din maskin. Du kan också använda den för att hålla din programvara städad och ha ett enkelt sätt att återställa på en ny maskin om en katastrof av en diskkrasch skulle inträffa.

Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...
Mus Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Emulera musklick genom att sväva med Clickless Mouse i Windows 10
Att använda en mus eller tangentbord i fel hållning av överdriven användning kan resultera i många hälsoproblem, inklusive stam, karpaltunnelsyndrom o...
Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...