Даступны пакетны мэнэджар GNU Guix 1.0 і дыстрыбутыў GuixSD на яго аснове

Адбыўся рэліз пакетнага мэнэджэра GNU Guix 1.0 і пабудаванага на яго аснове дыстрыбутыва GuixSD GNU/Linux (Guix System Distribution). Значная змена нумара версіі абумоўлена завяршэннем рэалізацыі ўсіх мэт, пастаўленых для фарміравання знакавага рэлізу. Выпуск падвёў вынік сямі гадоў працы над праектам і прызнаны гатовым да паўсядзённага выкарыстання. Для загрузкі сфарміраваны вобразы для ўстаноўкі на USB Flash (243 Мб) і выкарыстання ў сістэмах віртуалізацыі (474 ​​Мб). Падтрымліваецца праца на архітэктурах i686, x86_64, armv7 і aarch64.

Дыстрыбутыў дапускае ўстаноўку як у якасці адасобленай АС у сістэмах віртуалізацыі, у кантэйнерах і на звычайным абсталяванні, так і запуск ва ўжо ўсталяваных дыстрыбутывах GNU/Linux, выступаючы ў ролі платформы для разгортвання прыкладанняў. Карыстальніку прадастаўляюцца такія функцыі, як улік залежнасцяў, паўтаральныя зборкі, праца без root, адкат на мінулыя версіі ў выпадку праблем, кіраванне канфігурацыяй, кланаванне акружэнняў (стварэнне дакладнай копіі праграмнага асяроддзя на іншых кампутарах) і да т.п.

Асноўныя навіны:

  • Дададзены новы інтэрактыўны ўсталёўнік, які працуе ў тэкставым рэжыме;

    Даступны пакетны мэнэджар GNU Guix 1.0 і дыстрыбутыў GuixSD на яго аснове

  • Падрыхтаваны новая выява для віртуальных машын, прыдатны як для азнаямлення з дыстрыбутывам, так і для стварэння працоўных асяроддзяў для распрацоўкі;
  • Дададзены новыя сістэмныя сэрвісы cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent і zabbix-server;
  • Абноўлены версіі праграм у 2104 пакетах, дабаўлена 1102 новыя пакеты. У тым ліку абноўлены версіі 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 і xorg-server 1.20.4;

  • Сэрвісны мэнэджар GNU Shepherd абноўлены да версіі 0.6, у якой рэалізаваны рэжым працы сэрвісаў one-shot, пры якім сэрвіс адразу пасля паспяховага запуску пазначаецца спыненым, што можа запатрабавацца для запуску аднаразовых прац перад іншымі сэрвісамі, напрыклад, для выканання чысткі ці ініцыялізацыі;
  • Для каманды "guix package" дададзены тыповыя для іншых пакетных мэнэджараў псеўданімы "install", "remove", "upgrade" і "search". Для пошуку пакета можна выкарыстоўваць каманду "guix search", для ўстаноўкі "guix install", а для абнаўлення "guix pull" і "guix upgrade";
  • У пакетны мэнэджар дададзены індыкатар прагрэсу выканання аперацый і падсвятленне кветкамі дыягнастычных паведамленняў. Па змаўчанні большасць каманд зараз запускаецца без дэталёвай высновы на экран, які ўключаецца асобнай опцыяй -v (verbosity);
  • У пакетны мэнэджар guix дададзеная новая каманда "guix system delete-generations" і опцыі "guix pack -save-provenance", "guix pull -news", "guix environment -preserve", "guix gc -list-roots", "guix gc-delete-generations», «tix weather-coverage»;
  • Дададзеныя новыя опцыі пераўтварэнні пакетаў "-with-git-url" і "-with-branch";
  • У дыстрыбутыў дададзены канфігурацыйныя палі "keyboard-layout" для вызначэння раскладкі клавіятуры, "xorg-configuration" для налады X-сервера, "label" для пазнакі часткі і "essential-services" для вызначэння асноўных сэрвісаў;
  • Дададзена каманда "guix pack -RR" для стварэння tar-архіваў з перамяшчанымі выкананымі файламі, якія могуць запускацца як адносна шляхоў у прасторы імён карыстача, так і адносна PRoot;
  • У "guix pull" забяспечана фармаванне кэша пакетаў для паскарэння аперацый пошуку па імі і забяспечана ўбудаванне пакета "glibc-utf8-locales";
  • Забяспечана поўная паўтаральнасць (біт у біт) ISO-вобразаў, якія генерыруюцца камандай "guix system";
  • У якасці мэнэджара ўваходу задзейнічаны GDM замест SLiM;
  • Спынена падтрымка зборкі Guix з выкарыстаннем Guile 2.0.

Нагадаем, што пакетны мэнэджар GNU Guix заснаваны на напрацоўках праекту Nix і акрамя тыповых функцый кіравання пакетамі падтрымлівае такія магчымасці, як выкананне транзакцыйных абнаўленняў, магчымасць адкату абнаўленняў, праца без атрымання прывілеяў суперкарыстальніка, падтрымка прывязаных да асобных карыстачоў профіляў, магчымасць адначасовай усталёўкі некалькіх версій адной праграмы, сродкі ўборкі смецця (выяўленне і выдаленне невыкарыстоўваных версій пакетаў ). Для вызначэння сцэнарыяў зборкі прыкладанняў і правілаў фарміравання пакетаў прапануецца выкарыстоўваць спецыялізаваную высокаўзроўневую прадметна-арыентаваную мову і кампаненты Guile Scheme API, якія дазваляюць выконваць усе аперацыі па кіраванні пакетамі на функцыянальнай мове праграмавання Scheme.

Падтрымліваецца магчымасць выкарыстання пакетаў, падрыхтаваных для пакетнага мэнэджара Nix і размешчаных у рэпазітары.
Nixpkgs. Акрамя аперацый з пакетамі магчыма стварэнне сцэнарыяў для кіравання канфігурацыяй дадаткаў. Пры зборцы пакета аўтаматычна загружаюцца і збіраюцца ўсе злучаныя з ім залежнасці. Магчыма як загрузка гатовых бінарных пакетаў з рэпазітара, так і зборка з зыходных тэкстаў з усімі залежнасцямі. Рэалізаваны сродкі для падтрымання версій устаноўленых праграм у актуальным стане праз арганізацыю ўстаноўкі абнаўленняў са знешняга рэпазітара.

Зборачнае асяроддзе для пакетаў фармуецца ў выглядзе кантэйнера, які змяшчае ўсе неабходныя для працы прыкладанняў кампаненты, што дазваляе сфармаваць набор пакетаў, здольны працаваць без аглядкі на склад базавага сістэмнага асяроддзя дыстрыбутыва, у якім Guix выкарыстоўваецца ў якасці надбудовы. Паміж пакетамі Guix магчыма вызначэнне залежнасцяў, пры гэтым для пошуку наяўнасці ўжо ўсталяваных залежнасцяў выкарыстоўваецца сканаванне хэшаў-ідэнтыфікатараў у дырэкторыі ўсталяваных пакетаў. Пакеты ўстанаўліваюцца ў асобнае дрэва дырэкторый або паддырэкторыю ў каталогу карыстальніка, што дазваляе забяспечыць яго паралельнае суіснаванне з іншымі пакетнымі мэнэджэрамі і забяспечыць падтрымку шырокага спектра існуючых дыстрыбутываў. Напрыклад, пакет усталёўваецца як /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/, дзе «f42d58…» з'яўляецца ўнікальным ідэнтыфікатарам пакета, выкарыстоўваным для кантролю залежнасцяў.

Дыстрыбутыў уключае толькі вольныя кампаненты і пастаўляецца з ядром GNU Linux-Libre, вычышчаным ад нявольных элементаў бінарных прашывак. Для зборкі прымяняецца GCC 8.3. У якасці сістэмы ініцыялізацыі выкарыстоўваецца сэрвісны мэнэджар GNU Shepherd (былы dmd), які развіваецца як альтэрнатыва SysV-init з падтрымкай залежнасцяў. Кіраўнік дэман і ўтыліты Shepherd напісаны на мове Guile (адна з рэалізацый мовы Scheme), які таксама выкарыстоўваецца і для вызначэння параметраў запуску сэрвісаў. Базавая выява падтрымлівае працу ў кансольным рэжыме, але для ўсталёўкі падрыхтавана 9714 гатовых пакетаў, сярод якіх і кампаненты графічнага стэка на базе X.Org, аконныя мэнэджары dwm і ratpoison, працоўны стол Xfce, а таксама падборка графічных прыкладанняў.

Крыніца: opennet.ru

Дадаць каментар