NIX - Menedżer pakietu czysto funkcjonalnego dla Linux
- 1113
- 101
- Igor Madej
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 LinuxAby 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ć.
Skrypt powołuje się na polecenie sudo wiele razy w razie potrzeby. Musisz pozwolić na użycie sudo Odpowiadając y
i uderzanie Wchodzić.
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-updateZaktualizuj kanał Nix
Możesz zapytać, jakie pakiety są dostępne do instalacji za pomocą następującego polecenia.
$ Nix -ENV -qaPakiety 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.2Zainstaluj 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 -qLista 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.
- « Jak zmienić lub ustawić lokalizacje systemu w Linux
- Jak instalować, konfigurować i używać zapory ogniowej w Centos i Ubuntu »