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

Odbyła się wydanie menedżera pakietów GNU Guix 1.0 oraz zbudowana na jej bazie dystrybucja GuixSD GNU/Linux (Guix System Distribution). Istotna zmiana numeru wersji wynika z zakończenia wszystkich wdrożeń cele, dostarczone w celu stworzenia przełomowego wydawnictwa. Wydawnictwo podsumowało siedem lat pracy nad projektem i zostało uznane za gotowe do codziennego użytku. Do załadunku uformowany obrazy do instalacji na pamięci USB Flash (243 MB) i wykorzystania w systemach wirtualizacyjnych (474 ​​MB). Obsługuje działanie na architekturach i686, x86_64, armv7 i aarch64.

Dystrybucja umożliwia instalację jako samodzielny system operacyjny w systemach wirtualizacyjnych, w kontenerach i na sprzęcie konwencjonalnym, oraz uruchomić 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łównym innowacje:

  • Dodano nowy interaktywny instalator, praca w trybie tekstowym;

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

  • Przygotowany nowy wizerunek maszyn wirtualnych, odpowiedni zarówno do zapoznania się z dystrybucją, jak i do tworzenia środowisk pracy do programowania;
  • Dodano nowe usługi systemowe cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent i zabbix-server;
  • Zaktualizowano wersje programu w 2104 pakietach, dodano 1102 nowe pakiety. Zawiera zaktualizowane wersje clojure 1.10.0, cups 2.2.11, emacs 26.2, gcc 8.3.0, gdb 8.2.1, ghc 8.4.3,
    gimp 2.10.10, glibc 2.28, gnome 3.28.2, gnupg 2.2.15, przejdź do 1.12.1,
    guile 2.2.4, icecat 60.6.1-guix1, icedtea 3.7.0, inkscape 0.92.4,
    libreoffice 6.1.5.2, linux-libre 5.0.10, mate 1.22.0, ocaml 4.07.1,
    oktawa 5.1.0, openjdk 11.28, python 3.7.0, rdza 1.34.0, r 3.6.0,
    sbcl 1.5.1, shepherd 0.6.0, xfce 4.12.1 i xorg-server 1.20.4;

  • Menedżer usług GNU Shepherd zaktualizowany do wersji 0.6, który implementuje tryb działania usługi one-shot, w którym usługa jest oznaczana jako zatrzymana natychmiast po pomyślnym uruchomieniu, co może wymagać uruchomienia jednorazowych zadań przed innymi usługami, na przykład w celu przeprowadzenia czyszczenia lub inicjalizacji;
  • Dla polecenia „pakiet guix” dodano aliasy „instaluj”, „usuń”, „upgrade” i „szukaj” typowe dla innych menedżerów pakietów. Aby wyszukać pakiet, możesz użyć polecenia „guix search”, aby zainstalować „guix install” i zaktualizować „guix pull” i „guix upgrade”;
  • Do menedżera pakietów dodano wskaźnik postępu operacji i kolorowe podświetlanie komunikatów diagnostycznych. Domyślnie większość poleceń działa teraz bez szczegółowego wyświetlania ekranu, co jest włączane za pomocą osobnej opcji „-v” (--verbosity);
  • Dodano nowe polecenie „guix system usuwania-generacje” i opcje „guix pack —zapisz pochodzenie”, „guix pull —news”, „guix Environment —konserwuj”, „guix gc —list-roots”, „guix” do menedżera pakietów guix gc -delete-generations", "guix Weather -coverage";
  • Dodano nowe opcje konwersje pakietów „--with-git-url” i „-with-branch”;
  • Do dystrybucji dodano pola konfiguracyjne „keyboard-layout” do definiowania układu klawiatury, „xorg-configuration” do konfiguracji serwera X, „label” do etykiety sekcji i „essential-services” do definiowania głównych usług;
  • Dodano komendę „guix pack -RR” do tworzenia archiwów tar zawierających relokowalne pliki wykonywalne, które można uruchamiać względem ścieżek w przestrzeni nazw użytkownika lub względem PRoot;
  • „guix pull” umożliwia utworzenie pamięci podręcznej pakietów w celu przyspieszenia operacji wyszukiwania według nazwy i umożliwia osadzenie pakietu „glibc-utf8-locales”;
  • Zapewniona jest pełna powtarzalność (bit po bicie) obrazów ISO generowanych poleceniem „guix system”;
  • GDM jest używany jako menedżer logowania zamiast SLiM;
  • Zakończono wsparcie dla budowania Guix przy użyciu Guile 2.0.

Przypomnijmy, że menadżer pakietów GNU Guix bazuje na rozwinięciach projektu Wodnik i oprócz typowych funkcji zarządzania pakietami obsługuje takie funkcje jak wykonywanie aktualizacji transakcyjnych, możliwość cofania aktualizacji, pracę bez uzyskiwania uprawnień superużytkownika, obsługę profili powiązanych z indywidualnymi użytkownikami, możliwość jednoczesnej instalacji kilku wersji jednego programu, narzędzia do zbierania ś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ługuje 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/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/, gdzie „f42d58…” jest unikalnym identyfikatorem pakietu używanym 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 8.3. Menedżer usług jest używany jako system inicjujący Pasterz GNU (były dmd), 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. Obraz podstawowy obsługuje tryb konsoli, ale do instalacji przygotowany 9714 gotowych pakietów zawierających komponenty stosu graficznego opartego na X.Org, menedżery okien dwm i ratpoison, pulpit Xfce, a także wybór aplikacji graficznych.

Źródło: opennet.ru

Dodaj komentarz