vydání balíčkovacího systému a na jeho základě postavené distribuce GuixSD GNU/Linux (Guix System Distribution). Významná změna čísla verze je způsobena dokončením realizace všech , které byly stanoveny pro vytvoření významného vydání. Vydání shrnuje sedm let práce na projektu a je považováno za připravené k každodennímu používání. K dispozici ke stažení jsou obrazy pro instalaci na USB Flash (243 MB) a pro využití v virtualizaci (474 MB). Podporována je činnost na architekturách i686, x86_64, armv7 a aarch64.
Distribuce umožňuje instalaci jak jako v prostředí virtualizace, v kontejnerech a na běžném zařízení, tak i v již nainstalovaných distribucích GNU/Linux, fungujíc jako platforma pro nasazení aplikací. Uživatelům jsou poskytovány funkce jako správa závislostí, opakovatelné sestavy, provoz bez root uživatele, návrat k předchozím verzím v případě problémů, správa konfigurací, klonování prostředí (vytváření přesné kopie programového prostředí na jiných počítačích) atd.
Hlavní :
- Byl přidán nový , který pracuje v textovém režimu;
- nový obraz pro virtuální stroje, vhodný jak pro seznámení s distribucí, tak pro vytvoření pracovních prostředí pro vývoj;
- Byly přidány nové systémové služby cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent a zabbix-server;
- Byly aktualizovány verze programů ve 2104 balíčcích, přidáno 1102 nových balíčků. Mezi nimi byly aktualizovány verze 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, go 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,
octave 5.1.0, openjdk 11.28, python 3.7.0, rust 1.34.0, r 3.6.0,
sbcl 1.5.1, shepherd 0.6.0, xfce 4.12.1 a xorg-server 1.20.4; - Servisní manažer GNU Shepherd byl aktualizován na verzi , ve které byl implementován režim práce služeb one-shot, kdy je služba ihned po úspěšném spuštění označena jako zastavená, což může být potřebné pro spuštění jednorázových úloh před jinými službami, například pro provádění úklidu nebo inicializaci;
- Byly přidány typické pseudonymy pro jiné správce balíčků příkazům „guix package“, jako „install“, „remove“, „upgrade“ a „search“. Pro vyhledání balíčku lze použít příkaz „guix search“, pro instalaci „guix install“, a pro aktualizaci „guix pull“ a „guix upgrade“;
- Do balíčkovacího manažera byl přidán indikátor pokroku při vykonávání operací a barevné zvýraznění diagnostických zpráv. Ve výchozím nastavení většina příkazů nyní běží bez podrobného výstupu na obrazovku, který lze zapnout samostatnou volbou „-v“ (—verbosity);
- Do balíčkovacího manažera guix byla přidána nová příkaz „guix system delete-generations“ a možnosti „guix pack —save-provenance“, „guix pull —news“, „guix environment —preserve“, „guix gc —list-roots“, „guix gc —delete-generations“, „guix weather —coverage“;
- Byly přidány nové možnosti „—with-git-url“ a „—with-branch“;
- Do distribuce byla přidána konfigurační pole „keyboard-layout“ pro určení rozložení klávesnice, „xorg-configuration“ pro konfiguraci X-serveru, „label“ pro označení oddílu a „essential-services“ pro určení základních služeb;
- Byl přidán příkaz „guix pack -RR“ pro vytváření tar-archivů s přenositelnými spustitelnými soubory, které mohou být spouštěny jak relativně k cestám v prostoru jména uživatele, tak relativně k PRoot;
- V „guix pull“ byla zajištěna tvorba cache balíčků pro urychlení operací vyhledávání podle názvu a také bylo zajištěno začlenění balíčku „glibc-utf8-locales“;
- Byla zajištěna plná opakovatelnost (bit za bitem) ISO obrazů generovaných příkazem „guix system“;
- Jako správce přihlášení byl použit GDM místo SLiM;
- Byla ukončena podpora pro kompilaci Guix pomocí Guile 2.0.
Připomínáme, že balíčkovací manažer GNU Guix je založen na pracích projektu a kromě typických funkcí správy balíčků podporuje takové možnosti jako provádění transakčních aktualizací, možnost vrátit aktualizace, funkčnost bez získání oprávnění superuživatele, podpora profilů vázaných na jednotlivé uživatele, možnost současného instalování více verzí jedné aplikace, nástroje pro úklid odpadu (identifikace a odstraňování nepoužívaných verzí balíčků). Pro stanovení scénářů kompilace aplikací a pravidel pro vytváření balíčků se doporučuje používat specializovaný vysoce úrovňový oborově orientovaný jazyk a komponenty Guile Scheme API, které umožňují vykonávat všechny operace správy balíčků ve funkcionálním programovacím jazyce Scheme.
Podporuje se možnost použití balíčků připravených pro balíčkovacího manažera Nix a umístěných v repozitáři.
Kromě operací s balíčky je možné vytvářet skripty pro správu konfigurace aplikací. Při sestavování balíčku se automaticky stáhnou a zkompilují všechny s ním související závislosti. Je možné jak nahrání hotových binárních balíčků z repozitáře, tak kompilace z původních textů se všemi závislostmi. Byly implementovány prostředky pro udržování verzí nainstalovaných programů v aktuálním stavu prostřednictvím organizace instalace aktualizací z externího repozitáře.
Sestavovací prostředí pro balíčky je vytvářeno ve formě kontejneru, který obsahuje všechny potřebné komponenty pro fungování aplikací. To umožňuje vytvořit sadu balíčků, schopných pracovat bez ohledu na složení základního systémového prostředí distribuce, v níž je Guix používán jako nadstavba. Mezi balíčky Guix je možné definovat závislosti, přičemž pro vyhledávání již nainstalovaných závislostí se používá skenování hash identifikátorů ve složce nainstalovaných balíčků. Balíčky se instalují do samostatného stromu adresářů nebo podadresáře v uživatelském katalogu, což umožňuje jejich paralelní coexistenci s jinými správci balíčků a zajišťuje podporu široké škály existujících distribucí. Například balíček je nainstalován jako /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/, kde „f42d58…“ je unikátní identifikátor balíčku, který se používá pro řízení závislostí.
Distribuce zahrnuje pouze svobodné komponenty a dodává se s jádrem GNU Linux-Libre, které je očištěno od nesvobodných prvků binárních firmwarů. Pro kompilaci se používá GCC 8.3. Jako inicializační systém je použit správce služeb. (), vyvíjený jako alternativa k SysV-init s podporou závislostí. Řídicí démon a utilitní programy Shepherd jsou napsány v jazyce Guile (jedna z implementací jazyka Scheme), který se také používá k určení parametrů spuštění služeb. Základní obraz podporuje práci v textovém režimu, ale pro instalaci je k dispozici 9714 hotových balíčků, mezi nimiž jsou i komponenty grafického stacku založeného na X.Org, správci oken dwm a ratpoison, pracovní plocha Xfce, stejně jako výběr grafických aplikací.
Zdroj: opennet.ru
