Nix
Správca balíkov Nix je pokročilý nástroj pre pokročilých používateľov, ktorý možno použiť na získanie prakticky akéhokoľvek balíka slobodného softvéru, ktorý si viete predstaviť, z jeho veľkého repozitára spravovaného komunitou.
Možno ho nainštalovať na KDE Linux pre jednopoužívateľský systém. Nix ukladá softvér a závislosti pod /nix/store a automaticky aktualizuje vašu vyhľadávaciu cestu, keď sa pridávajú alebo odoberajú nástroje.
Inštalácia
Správcu balíkov Nix možno nainštalovať pre aktuálneho používateľa nasledovne:
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --no-daemon
Odhláste sa a znova prihláste, potom otestujte:
nix-shell -p mc emacs-nox # teraz ste vnútri shellu s mc a emacs
Všimnite si, že keď opustíte tento shell, mc a emacs už nebudú vo vyhľadávacej ceste vášho shellu. Pozrite si nasledujúcu sekciu, ako sprístupniť takéto nástroje trvalo.
Ďalšie podrobnosti nájdete na https://nixos.org/download/#nix-install-linux.
Trvalé inštalácie balíkov
Použite nix-env -iA alebo nix-env --install --attr na inštaláciu balíkov do /nix/store a ich sprístupnenie vo vyhľadávacej ceste vášho používateľa:
$ nix-env -f '' -iA mc ⋮ building '/nix/store/1q2sh2f178jx9fl37gd9ks85ysfvpwd9-user-environment.drv'...
Toto vytvorí nové "prostredie", ktoré obsahuje všetky zmeny stavu potrebné na sprístupnenie balíka mc, a tieto možno posunúť dopredu alebo dozadu. Toto je ''skutočná'' výhoda systému správy balíkov Nix, no je nad rámec tejto príručky.
Overte, že príkaz mc je teraz dostupný pre vášho používateľa:
$ which mc /home/username/.nix-profile/bin/mc
Odstráňte balíky pomocou nix-env --uninstall alebo nix-env -e:
$ nix-env -e mc uninstalling 'mc-4.8.33' building '/nix/store/rqbghiyds6f7a49qiwi9gmq7bnkgn9qi-user-environment.drv'...
Pozrite si sekciu o [[#garbage-collection|zbere odpadkov]] nižšie, ako získať späť miesto použité balíkmi, ktoré už nepoužívate.
Ďalšie podrobnosti nájdete na https://nix.dev/manual/nix/latest/command-ref/nix-env.html.
Použitie nix profile
Rozhranie nix <command> je stále technicky považované za experimentálne (viac kontextu o "experimentálnom" stave nix profile nájdete v tomto RFC), v praxi je však široko používané a ergonomickejšie. Doplňovanie tabulátorom a možnosti --help pre rôzne nix podpríkazy budú tiež fungovať po čistej inštalácii. Rovnako ako nix-env, aj nix profile nainštaluje balíky do /nix/store a sprístupní ich vo vašej vyhľadávacej ceste, pričom pretrvajú medzi prihlasovacími reláciami.
Tu je triviálny príklad použitia nix profile na inštaláciu nástroja na vyhľadávanie kódu ag:
$ mkdir -p ~/.config/nix $ cat >> ~/.config/nix/nix.conf <<EOF experimental-features = nix-command flakes EOF $ nix search nixpkgs silver searcher ⋮ * legacyPackages.x86_64-linux.silver-searcher (2.2.0) Code-searching tool similar to ack, but faster $ nix profile add nixpkgs#silver-searcher $ which ag /home/username/.nix-profile/bin/ag
Na zobrazenie zoznamu nainštalovaných balíkov alebo ich odstránenie:
$ nix profile list ⋮ Name: silver-searcher Flake attribute: legacyPackages.x86_64-linux.silver-searcher Original flake URL: flake:nixpkgs Locked flake URL: github:NixOS/nixpkgs/f08e6b11a5ed43637a8ac444dd44118bc7d273b9?narHash=sha256-7vUo0qWCl/rip%2Bfzr6lcMlz9I0tN/8m7d5Bla/rS2kk%3D Store paths: /nix/store/l120si3zsshmf3jr7dkn5dvcj0n586xb-silver-searcher-2.2.0 $ nix profile remove silver-searcher
Pozrite si sekciu o zbere odpadkov nižšie, ako získať späť miesto použité balíkmi, ktoré už nepoužívate.
Ďalšie podrobnosti nájdete na https://nix.dev/manual/nix/latest/command-ref/new-cli/nix3-profile.html.
Preinštalovanie Nix
Ak ste povolili "experimentálnu" funkciu nix profile, musíte ju pred preinštalovaním zakázať a odstrániť stavové súbory spojené s profilom vášho používateľa, inak dostanete chybové hlásenie podobné tomuto:
error: profile '/home/username/.local/state/nix/profiles/profile' is incompatible with 'nix-env'; please use 'nix profile' instead
Zakomentujte riadok experimental-features vo vašom konfiguračnom súbore Nix a potom odstráňte adresár so stavom profilu:
$ sed -i'' 's/^experimental-features = nix-command flakes$/#&/' ~/.config/nix/nix.conf $ rm -rf ~/.local/state/nix/profiles/profile
Teraz môžete zopakovať kroky inštalácie.
Zber odpadkov na získanie miesta na disku
Všimnite si, že nix-env -e aj nix profile remove odstránia príkazy poskytované balíkom z aktuálneho prostredia vášho používateľa, avšak softvér zostáva skutočne nainštalovaný v /nix/store, kým sa neuskutoční zber odpadkov.
Zber odpadkov môžete vynútiť, aby ste získali späť miesto na disku, jedným z nasledujúcich príkazov:
nix-store --gc # rutinný zber odpadkov nix-collect-garbage -d # odstrániť "nedosiahnuteľné" balíky z úložiska
Odstránenie Nix
Na odstránenie správcu balíkov Nix spustite nasledujúce príkazy:
sudo systemctl disable --now nix-daemon.service nix-daemon.socket sudo rm -rf /nix /etc/nix /etc/profile.d/nix.sh /etc/tmpfiles.d/nix-daemon.conf /nix /root/.nix-channels /root/.nix-defexpr /root/.nix-profile /root/.cache/nix ~/.nix-channels ~/.nix-defexpr ~/.nix-profile ~/.cache/nix for i in $(seq 1 32); do sudo userdel nixbld$i; done sudo groupdel nixbld
Pozrite tiež
Článok napísal Ernstki pod licenciou CC-BY-4.0.