Dostępny jest menedżer pakietów GNU Guix 1.4 i oparta na nim dystrybucja

Został wydany menedżer pakietów GNU Guix 1.4 i zbudowana na jego bazie dystrybucja GNU/Linux. Do pobrania wygenerowano obrazy do instalacji na pamięci USB Flash (814 MB) i wykorzystania w systemach wirtualizacyjnych (1.1 GB). Obsługuje działanie na architekturach i686, x86_64, Power9, armv7 i aarch64.

Dystrybucja umożliwia instalację zarówno jako samodzielnego systemu operacyjnego w systemach wirtualizacji, w kontenerach, jak i na konwencjonalnym sprzęcie i może być uruchamiana w już zainstalowanych dystrybucjach GNU/Linux, pełniąc rolę platformy do wdrażania aplikacji. Użytkownik ma do dyspozycji takie funkcje jak uwzględnianie zależności, powtarzalne kompilacje, pracę bez rootowania, przywracanie poprzednich wersji w przypadku problemów, zarządzanie konfiguracją, klonowanie środowisk (tworzenie dokładnej kopii środowiska oprogramowania na innych komputerach) itp. .

Główne innowacje:

  • Ulepszone zarządzanie środowiskami oprogramowania. Polecenie „guix Environment” zostało zastąpione nowym poleceniem „guix Shell”, które umożliwia nie tylko tworzenie środowisk kompilacji dla programistów, ale także wykorzystanie środowisk do zapoznania się z programami bez odzwierciedlenia w profilu i bez wykonywania „ instalacja guix”. Na przykład, aby pobrać i uruchomić grę supertuxkart, możesz uruchomić „guix Shell supertuxkart - supertuxkart”. Po pobraniu pakiet zostanie zapisany w pamięci podręcznej i przy następnym uruchomieniu nie będzie konieczne jego ponowne rozpakowywanie.

    Aby uprościć programistom tworzenie środowisk, „guix Shell” zapewnia obsługę plików guix.scm i manifest.scm opisujących skład środowiska (do generowania plików można wykorzystać opcję „--export-manifest”). Aby utworzyć kontenery, w których emulowana jest klasyczna hierarchia katalogów systemowych, „powłoka guix” oferuje opcje „—container —emulate-fhs”.

  • Dodano polecenie „guix home” do kontrolowania środowiska domowego. Guix pozwala zdefiniować wszystkie komponenty środowiska domowego, w tym pakiety, usługi i pliki, zaczynając od kropki. Za pomocą polecenia „guix home” można odtworzyć instancje opisanego środowiska domowego w katalogu $HOME lub w kontenerze, na przykład w celu przeniesienia środowiska na nowy komputer.
  • Do polecenia „guix pack” dodano opcję „-f deb”, aby utworzyć osobne pakiety deb, które można zainstalować w Debianie.
  • Do tworzenia różnych typów obrazów systemów (raw, QCOW2, ISO8660 CD/DVD, Docker i WSL2) zaproponowano uniwersalną komendę „guix system image”, która pozwala określić typ magazynu, partycje i system operacyjny dla utworzonego obrazu .
  • Do poleceń budowania pakietów dodano opcję „-tune”, która pozwala określić mikroarchitekturę procesora, dla której zostaną włączone określone optymalizacje (np. instrukcje AVX-512 SIMD można zastosować na nowych procesorach AMD i Intel) .
  • Instalator implementuje mechanizm automatycznego zapisywania ważnych informacji debugowania w przypadku niepowodzenia instalacji.
  • Czas uruchamiania aplikacji został skrócony poprzez wykorzystanie pamięci podręcznej podczas dynamicznego łączenia, co ogranicza wywołania funkcji stat i open system wywołań podczas wyszukiwania bibliotek.
  • Zastosowano nową wersję systemu inicjalizacyjnego GNU Shepherd 0.9, która implementuje koncepcję usług tymczasowych (przejściowych) oraz możliwość tworzenia usług aktywowanych aktywnością sieciową (w stylu aktywacji gniazd systemowych).
  • Dodano nowy interfejs umożliwiający ustawienie rozmiaru partycji wymiany w konfiguracji systemu operacyjnego.
  • Przeprojektowano interfejs do ustawiania statycznej konfiguracji sieci, który oferuje teraz deklaratywną analogię ustawień w stylu polecenia ip.
  • Dodano 15 nowych usług systemowych, w tym Jami, Samba, Fail2ban i Gitile.
  • Uruchomiono package.guix.gnu.org do nawigacji po pakietach.
  • Zaktualizowano wersje programu w 6573 pakietach, dodano 5311 nowych pakietów. Między innymi zaktualizowane wersje GNOME 42, Qt 6, GCC 12.2.0, Glibc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice 7.4.3.2, Emacs 28.2. Usunięto ponad 500 pakietów przy użyciu Pythona 2.

Dostępny jest menedżer pakietów GNU Guix 1.4 i oparta na nim dystrybucja

Przypomnijmy, że menedżer pakietów GNU Guix opiera się na rozwinięciach projektu Nix i oprócz typowych funkcji zarządzania pakietami obsługuje takie funkcje jak wykonywanie aktualizacji transakcyjnych, możliwość wycofywania aktualizacji, pracę bez uzyskiwania uprawnień superużytkownika, obsługę profile powiązane z indywidualnymi użytkownikami, możliwość jednoczesnej instalacji kilku wersji jednego programu, narzędzia do usuwania śmieci (identyfikacja i usuwanie nieużywanych wersji pakietów). Do zdefiniowania scenariuszy budowy aplikacji i zasad tworzenia pakietów proponuje się wykorzystanie wyspecjalizowanego języka wysokiego poziomu specyficznego dla domeny oraz komponentów API Guile Scheme, które pozwalają na wykonanie wszystkich operacji zarządzania pakietami w funkcjonalnym języku programowania Scheme.

Obsługiwana jest możliwość korzystania z pakietów przygotowanych dla menedżera pakietów Nix i umieszczonych w repozytorium Nixpkgs. Oprócz operacji na pakietach możliwe jest tworzenie skryptów do zarządzania konfiguracjami aplikacji. Kiedy pakiet jest budowany, wszystkie powiązane z nim zależności są automatycznie pobierane i budowane. Możliwe jest pobranie gotowych pakietów binarnych z repozytorium lub zbudowanie z tekstów źródłowych ze wszystkimi zależnościami. Wdrożono narzędzia zapewniające aktualność wersji zainstalowanych programów poprzez organizację instalacji aktualizacji z zewnętrznego repozytorium.

Środowisko kompilacji pakietów tworzone jest w formie kontenera zawierającego wszystkie komponenty niezbędne do działania aplikacji, co pozwala na utworzenie zestawu pakietów, które mogą działać bez względu na skład podstawowego środowiska systemowego dystrybucji, w którym Guix jest używany jako dodatek. Zależności między pakietami Guix można określić, skanując skróty identyfikatorów w katalogu zainstalowanych pakietów, aby znaleźć obecność już zainstalowanych zależności. Pakiety są instalowane w oddzielnym drzewie katalogów lub podkatalogu w katalogu użytkownika, co pozwala mu współistnieć równolegle z innymi menedżerami pakietów i zapewniać obsługę szerokiej gamy istniejących dystrybucji. Na przykład pakiet jest instalowany jako /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, gdzie „452a59…” to unikalny identyfikator pakietu używany do monitorowania zależności.

Dystrybucja zawiera wyłącznie darmowe komponenty i jest dostarczana z jądrem GNU Linux-Libre, oczyszczonym z niewolnych elementów binarnego oprogramowania sprzętowego. Do montażu używany jest GCC 12.2. Menedżer usług GNU Shepherd (dawniej dmd) jest używany jako system inicjujący, opracowany jako alternatywa dla SysV-init z obsługą zależności. Demon kontrolny Shepherd i narzędzia są napisane w języku Guile (jedna z implementacji języka Scheme), który służy również do definiowania parametrów uruchamiania usług. Podstawowy obraz obsługuje pracę w trybie konsoli, ale do instalacji przygotowanych jest 20526 XNUMX gotowych pakietów, w tym komponenty stosu graficznego opartego na X.Org, menedżery okien dwm i ratpoison, pulpity GNOME i Xfce, a także wybór pakietów graficznych Aplikacje.

Źródło: opennet.ru

Dodaj komentarz