NIX - Menedżer pakietu czysto funkcjonalnego dla Linux

NIX - Menedżer pakietu czysto funkcjonalnego dla Linux

Nic jest potężnym, czysto funkcjonalnym systemem zarządzania pakietami zaprojektowanymi dla niezawodnego i powtarzalnego zarządzania pakietami, wydanym na warunkach GNU LGPLV2.1. Jest to główny system zarządzania pakietami w Nixos, mniej znany rozkład Linuksa.

NIX oferuje aktualizacje i wycofania atomowe, wiele wersji instalacji pakietów, zarządzanie pakietami wielu użytkowników i konfigurację środowisk kompilacji dla pakietu, niezależnie od tego, jakich języków programowania i narzędzi korzysta programista.

Pod Nic, Pakiety są zbudowane z funkcjonalnego języka pakietu o nazwie „Wyrażenia Nix". To funkcjonalne podejście do zarządzania pakietami gwarantuje, że instalacja lub aktualizacja jednego pakietu nie może złamać innych pakietów.

Nix ma również obsługę wielu użytkowników, co oznacza, że ​​normal (lub niepewni) użytkownicy systemu mogą bezpiecznie instalować pakiety, a każdy użytkownik jest identyfikowany przez profil (kolekcja pakietów w sklepie NIX, które pojawiają się na ścieżce użytkownika).

W przypadku, gdy jeden użytkownik zainstalował pakiet, jeśli inny użytkownik spróbuje zainstalować ten sam pakiet, pakiet nie zostanie zbudowany ani pobrany po raz drugi.

Obecnie obsługuje Linux (i686, x86_64) i Mac OS X (x86_64). Jest jednak dość przenośny, możesz wypróbować na większości platform, które obsługują wątki POSIX i mają kompilator C ++ 11.

W tym artykule pokażemy, jak zainstalować (w trybie wielu użytkowników) i użyć Nic Menedżer pakietów w Linux. Omówimy niektóre z podstawowych zadań związanych z zarządzaniem pakietami w odniesieniu do powszechnie używanych narzędzi.

Jak zainstalować menedżer pakietów NIX w Linux

Zainstalujemy najnowszą wersję Nic (v2.1.3 w momencie pisania) w trybie wielu użytkowników. Na szczęście istnieje gotowy skrypt instalacyjny, który możesz uruchomić ze skorupy jako normalny użytkownik za pomocą następującego polecenia Curl w systemie.

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

Uruchamianie powyższego polecenia pobiera najnowszą binarną tarball Nix, a wylądujesz na ekranie instalacji NIX z wieloma użytkownikami, jak pokazano na zrzucie ekranu.

Zainstaluj menedżer pakietów NIX w Linux

Aby wyświetlić szczegółową listę tego, co się stanie podczas procesu instalacji, wpisz y i naciśnij Wchodzić. Jeśli jesteś zadowolony i gotowy do kontynuowania, wpisz y i naciśnij Wchodzić.

Podsumowanie instalacji Nix

Skrypt powołuje się na polecenie sudo wiele razy w razie potrzeby. Musisz pozwolić na użycie sudo Odpowiadając y i uderzanie Wchodzić.

Instalacja Nix trwa

Instalator następnie uruchomi kilka testów i wygeneruje raport konfiguracyjny NIX, tworzy użytkowników kompilacji między identyfikatorami użytkowników 30001 I 30032, i grupa z identyfikatorem grupy 30000. Wchodzić y kontynuować, gdy zostanie wyświetlony. Skonfiguruje grupy kompilacji dla różnych użytkowników kompilacji, uczyni podstawową strukturę katalogu NIX.

Zmodyfikuje plik /etc/bashrc, (I /etc/zshrc dla Zsh) Jeśli istnieją. Zauważ, że najpierw tworzy kopię zapasową wspomnianych plików za pomocą .Backup-Before-Nix rozszerzenie i instalator tworzą również plik /itp./Profil.D/Nix.cii.

Instalator skonfiguruje również usługę Nix-Daemon i serwis Nix-Daemon Socket, ładuje jednostkę SystemD dla Nix-Daemon i uruchamia dwie wyżej wymienione usługi.

Po zakończeniu instalacji musisz otworzyć nowe okno terminala, aby zacząć używać NIX. Alternatywnie, zamknij i ponownie otwórz powłokę, aby zastosować ostatnie zmiany. Następnie pozyskaj plik /itp./Profil.D/Nix.cii (Ponieważ nie jest to plik uruchamiania powłoki, otwarcie nowej powłoki go nie pozwala).

$ źródło /etc /profil.D/Nix.cii 

Następnie uruchom następujące polecenie, aby pobrać niektóre ścieżki z oficjalnej strony internetowej projektu, wymagane Nic operować. Po pobraniu i kopiowaniu wszystkich ścieżek do odpowiednich lokalizacji zobaczysz podsumowanie systemu i instalacji NIX, jak pokazano na zrzucie ekranu.

$ nix-shell -p nix-info--run „Nix-info -m” 
Instalacja NIX i podsumowanie systemu

Jak używać menedżera pakietów NIX w Linux

Pod Nic, Zarządzanie pakietem jest wykonywane przez Nix-env pożytek. Służy do instalacji, aktualizacji i usuwania/usuwania pakietów oraz do zapytania o zainstalowane lub są dostępne do instalacji.

Wszystkie pakiety znajdują się w kanale NIX, który jest adresem URL wskazującym repozytorium obejmujące zarówno kolekcje wyrażeń NIX, jak i wskaźnik do pamięci podręcznej binarnej.

Domyślnym kanałem jest Nixpkgs a lista subskrybowanych kanałów jest przechowywana w ~/.Kanały Nix, Możesz je wymienić za pomocą następującego polecenia (brak wyjściowych oznacza brak kanałów).

$ Nix-Channel-List 

Aby dodać kanał NIX, użyj następującego polecenia.

$ Nix-channel --add https: // nixos.org/kanały/Nixpkgs-Unstable 

Przed zainstalowaniem jakichkolwiek pakietów zacznij od aktualizacji kanału NIX; Jest to podobne do biegania aktualizacja apt pod APT Pakiet Manager.

$ Nix-Channel-update 
Zaktualizuj kanał Nix

Możesz zapytać, jakie pakiety są dostępne do instalacji za pomocą następującego polecenia.

$ Nix -ENV -qa 
Pakiety zapytania dostępne do instalacji

W tym przykładzie zainstalujemy serwer Apache Tomcat za pomocą poprzedniego polecenia w połączeniu z GREP, aby znaleźć pakiet jest dostępny do instalacji, jak pokazano.

$ Nix -ENV -qa | Grep „Apache-tomcat” 
Znajdź pakiet do instalacji

Aby zainstalować pakiet, użyj następującego polecenia, określając na przykład wersję pakietu Apache-Tomcat-9.0.2.

$ nix-env -i apache-tomcat-9.0.2 
Zainstaluj pakiet za pomocą NIX

W systemie lokalnym Nix przechowuje pakiety w Sklep Nix, który jest domyślnie /Nix/Store katalog, w którym każdy pakiet ma swój własny unikalny podwodnica. Na przykład Apache-Tomcat pakiety są przechowywane w:

/NIX/STORE/95GGGNXLRCPKHLM00FA5AX8KVD6189PY-APACHE-TOMCAT-9.0.2 

Na tej ścieżce losowe postacie 95GMGNXLRCPKHLM00FA5AX8KVD6189PY jest unikalnym identyfikatorem pakietu, który uwzględnia wszystkie jego zależności.

Możesz wymienić zainstalowane pakiety za pomocą następującego polecenia.

$ Nix -ENV -q 
Lista zainstalowanych pakietów

Aby ulepszyć Apache-Tomcat pakiet, możesz użyć -u przełącznik aktualizacji, jak pokazano.

$ nix-env -u apache-tomcat 

Jeśli chcesz usunąć/usunąć Apache-Tomcat, Użyj -mi flaga. Tutaj pakiet nie jest natychmiast usuwany z systemu, jest tylko nieużywany. Jest to przydatne, ponieważ chcesz zrobić wycofanie się lub może być w profilach innych użytkowników.

$ nix-env -e apache-tomcat 

Po usunięciu opakowania możesz zrobić zbiór śmieci z Nix-Collect-Garbage pożytek.

$ Nix-Collect-Garbage 

Jak usunąć menedżer pakietów Nix w Linux

Aby odinstalować Nix, usuń wszystkie pliki związane z Nix za jednym Go.

$ sudo rm -rf/etc/profilu/nix.sh /etc /nix /nix ~ root /.Nix-profile ~ root/.Nix-defexpr ~ root/.Nix-kanały ~/.Nix-profile ~/.Nix-defexpr ~/.Kanały Nix 

W systemach z SystemD uruchom następujące polecenia, aby zatrzymać wszystkie usługi związane z NIX i je wyłączyć.

$ sudo systemctl stop Nix-daemon.gniazdo $ sudo systemctl stop Nix-daemon.serwis $ sudo systemctl wyłącz Nix-daemon.gniazdo $ sudo systemctl wyłącz Nix-daemon.Service $ sudo systemCtl Demon-Reload 

Ponadto musisz usunąć wszelkie odniesienia do NIX w tych plikach: /itp./Profil, /etc/bashrc, I /etc/zshrc.

Aby uzyskać więcej informacji, zobacz strony z powyższymi narzędziami, na które oglądaliśmy.

$ man nix-channel $ man nix-env 

Można znaleźć dokumentację NIX Pakiet Manager na stronie internetowej projektu: https: // nixos.org/nix/.

Streszczenie

Nic to czysto funkcjonalny menedżer pakietów zaprojektowany dla niezawodnego i powtarzalnego zarządzania pakietami. Zapewnia interesującą koncepcję zarządzania pakietami, bardzo odrębną niż powszechnie używane narzędzia w Linux, takie jak mniam, apt i wiele innych.

W tym artykule pokazaliśmy, jak zainstalować NIX w trybie wielu użytkowników i omówiliśmy, jak robić zarządzanie pakietami z NIX. Podziel się z nami swoimi przemyśleniami lub zadaj pytania za pośrednictwem poniższego formularza komentarza. Na koniec w nadchodzącym artykule wyjaśnimy więcej poleceń zarządzania pakietami NIX. Do tego czasu pozostań w kontakcie.