Доступен пакетный менеджер GNU Guix 0.16 и дистрибутив GuixSD на его основе

Прoeкт GNU oпубликoвaл пaкeтный мeнeджeр GNU Guix 0.16 и пoстрoeнный нa eгo oснoвe дистрибутив GNU/Linux - GuixSD (Guix System Distribution). Дистрибутив дoпускaeт устaнoвку кaк в кaчeствe oбoсoблeннoй OС в систeмax виртуaлизaции и нa oбычнoм oбoрудoвaнии, тaк и зaпуск в ужe устaнoвлeнныx типoвыx oкружeнияx GNU/Linux. На зaгрузки сфoрмирoвaны oбрaзы для устaнoвки нa USB Flash и испoльзoвaния в QEMU (170 Мб). Пoддeрживaeтся рaбoтa нa aрxитeктурax i686, x86_64, armv7, aarch64 и mips64el. Oснoвныe нoвшeствa: Дoбaвлeны нoвыe системные сервисы с целью ddclient, gitolite, iptables, pcscd, prometheus-node-exporter и varnish; Обновлены версии программ в 1945 пакетах, добавлено 985 новых пакетов. В томище числе обновлены версии gcc 8.2.0, дейтон linux-libre 4.19.6, bash 4.4.23, binutils 2.31.1, cups 2.2.8, enlightenment 0.22.4, gdb 8.2, ghc 8.4.3, gimp 2.10.6, glibc 2.28, gnupg 2.2.11, go 1.11.1, icecat 60.3.0-gnu1, icedtea 3.7.0, libreoffice 6.1.3.2, , ocaml 4.07.1, octave 4.4.1, perl 5.28.0, python 3.7.0, rust 1.28.0, r 3.5.1, xorg-server 1.20.3; Добавлен узел "guix channels", предоставляющий возможность подключения к сторонним репозиториям пакетов (каналам). Спина каналов добавлена в команду "guix pull". Синодик (убиенных) каналов задаётся через файл ~/.config/guix/channels.scm; Добавлена главенство "guix pull --profile" для выбора активного профиля (сообразно умолчанию ~/.config/guix/current), позволяющая привести в порядок параллельную работу с несколькими ревизиями; Добавлен часть "guix describe" и одноимённая команда к отображения используемых ревизий и каналов; $ guix describe Generation 10 Sep 03 2018 17:32:44 (current) guix e0fa68c repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: e0fa68c7718fffd33d81af415279d6ddb518f727 Добавлен устройство "guix inferior" для взаимодействия с другими экземплярами (ревизиями репозитрия) Guix, как будто может применяться, например, для сборки пакета с другой ревизии Guix или отображения различий посередине ревизиями. Для вывода списка новых и обновлённых пакетов реализована новая великолепная пятерка и вратарь "guix pull -l", для замены ревизии - "guix repl", а ради просмотра запущенных guix-процессов - "guix processes". В Manifest-файлах нонче могут указываться ссылки на произвольные коммиты Guix; В команды исполнение) работы с пакетом добавлены опции "--with-branch" и "--with-commit", позволяющие извлечь кулек из Git-репозитория, используя определённую ветку неужели коммит; В утилитах командной строки обеспечен побольше наглядный вывод инфорамации с подсвечиванием важных событий. Изо вывода команд "guix packagе" и "guix system" исключены логи сборки, а в "guix build" выделены цветом важные действие при сборке; Добавлен модуль с поддержкой архива Software Heritage и возможностью выполнения вследствие него операций "git checkout". В дополнение к поддержке повторяемых сборок, позволяющих увериться в тождественности бинарной сборки эталонным исходным текстам, добавлена риск повторяемой загрузки исходных текстов. В случае, неравно репозиторий из которого собран стопка перестал существовать, теперь код не грех загрузить из архива Software Heritage; URL с репозиторием к загрузки уже собранных бинарных пакетов (substitute URL) изменён получи и распишись https://ci.guix.info; Сервисный администратор GNU Shepherd обновлён до версии 0.5.0, в которой добавлена потенция определения замены сервисов, обеспечен повторный запуск всех зависимых сервисов при перезапуске родительского сервиса и реализована функциональность ради определения собственных действий в сервисах. Напомним, что-что пакетный менеджер GNU Guix основан нате наработках проекта Nix и кроме типичных функций управления пакетами поддерживает такие потенциал, как выполнение транзакционных обновлений, право отката обновлений, работа без получения привилегий суперпользователя, помощник привязанных к отдельным пользователям профилей, запас одновременной установки нескольких версий одной программы, суммы уборки мусора (выявление и удаление неиспользуемых версий пакетов). Исполнение) определения сценариев сборки приложений и правил формирования пакетов предлагается пускать в ход специализированный высокоуровневый предметно-ориентированный ассемблер и компоненты Guile Scheme API, позволяющие производить все операции по управлению пакетами возьми функциональном языке программирования Scheme. Поддерживается эвенту использования пакетов, подготовленных для пакетного менеджера Nix и размещённых в репозитории Nixpkgs. Исключая операций с пакетами возможно создание сценариев угоду кому) управления конфигурацией приложений. При сборке пакета непроизвольно загружаются и собираются все связанные с ним зависимости. Возможна не хуже кого загрузка готовых бинарных пакетов с репозитория, так и сборка из исходных текстов со всеми зависимостями. Реализованы собственность для поддержания версий установленных программ в актуальном состоянии помощью организацию установки обновлений из внешнего репозитория. Сборочное опоясывание для пакетов формируется в виде контейнера, содержащего и старый и малый необходимые для работы приложений компоненты, чисто позволяет сформировать набор пакетов, годный работать без оглядки на кабинет базового системного окружения дистрибутива, в котором Guix используется в качестве надстройки. Промеж (себя) пакетами Guix возможно определение зависимостей, быть этом для поиска наличия поуже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Пакеты устанавливаются в отдельное валёжник директорий или поддиректорию в каталоге пользователя, чего позволяет обеспечить его параллельное сосуществование с другими пакетными менеджерами и поставить поддержку широкого спектра существующих дистрибутивов. Примерно сказать, пакет устанавливается как /nix/store/f42d4878f3a0b426064a6a54a0c6f92-firefox-63.0.0/, идеже "f42d48..." является уникальным идентификатором пакета, используемым угоду кому) контроля зависимостей. Для сборки применяется GCC 8. В качестве системы инициализации используется сервисный распорядитель GNU Shepherd (бывший dmd), развиваемый как одно из двух SysV-init с поддержкой зависимостей. Правящий демон и утилиты Shepherd написаны в языке Guile (одна из реализаций языка Scheme), некоторый также используется и для определения параметров запуска сервисов. Основополагающий образ поддерживает работу в консольном режиме, только для установки подготовлено 8715 готовых пакетов, посреди которых и компоненты графического стека нате базе X.Org, оконные менеджеры dwm и ratpoison, а вот и все ряд программ на базе библиотеки GTK+. Происхождение: http://www.opennet.ru/opennews/art.shtml?num=49735