GNU Guix 1.4 paket yöneticisi ve buna dayalı dağıtım mevcut

Состоялся релиз пакетного менеджера GNU Guix 1.4 и построенного на его основе дистрибутива GNU/Linux. Для загрузки сформированы образы для установки на USB Flash (814 МБ) и использования в системах виртуализации (1.1 ГБ). Поддерживается работа на архитектурах i686, x86_64, Power9, armv7 и aarch64.

Dağıtım kiti, sanallaştırma sistemlerinde, konteynerlerde ve geleneksel ekipmanlarda bağımsız bir işletim sistemi olarak kurulabilir ve uygulamaları konuşlandırmak için bir platform görevi görerek önceden kurulu GNU / Linux dağıtımlarında çalıştırılabilir. Kullanıcıya bağımlılık muhasebesi, tekrarlanabilir derlemeler, root olmadan çalışma, sorun olması durumunda önceki sürümlere geri dönme, konfigürasyon yönetimi, ortam klonlama (diğer bilgisayarlarda yazılım ortamının birebir kopyasını oluşturma) gibi işlevler sağlanır.

Ana yenilikler:

  • Улучшено управление программными окружениями. На смену команде «guix environment» пришла новая команда «guix shell», которая позволяет не только формировать сборочные окружения для разработчиков, но и использоваться окружения для ознакомления с программами без отражения в профиле и без выполнения «guix install». Например, для загрузки и запуска игры supertuxkart можно выполнить «guix shell supertuxkart — supertuxkart». После загрузки пакет будет сохранён в кэше и следующий запуск не потребует его повторного извлечения.

    Для упрощения формирований окружений для разработчиков в «guix shell» предоставлена поддержка файлов guix.scm и manifest.scm с описанием состава окружения (для генерации файлов может использоваться опция «—export-manifest»). Для создания контейнеров, в которых эмулируется классическая иерархия системных каталогов, в «guix shell» предложены опции «—container —emulate-fhs».

  • Добавлена команда «guix home» для управления домашним окружением. Guix позволяет определить все компоненты домашнего окружения, включая пакеты, сервисы и начинающиеся с точки файлы. При помощи команды «guix home» экземпляры описанного домашнего окружения могут быть воссозданы в каталоге $HOME или в контейнере, например, для переноса своего окружения на новый компьютер.
  • В команду «guix pack» добавлена опция «-f deb» для создания отдельных deb-пакетов, которые могут быть установлены в Debian.
  • Для создания различных типов системных образов (raw, QCOW2, ISO8660 CD/DVD, Docker и WSL2) предложена универсальная команда «guix system image», позволяющая определить тип хранилища, разделы и операционную систему для создаваемого образа.
  • В команды для сборки пакетов добавлена опция «—tune», позволяющая указать микроархитектуру процессора, для которой будут включены специфичные оптимизации (например, на новых CPU AMD и Intel могут быть задействованы SIMD-инструкции AVX-512).
  • В инсталляторе реализован механизм для автоматического сохранения важной отладочной информации в случае аварийного завершения установки.
  • Сокращено время запуска приложений, благодаря задействованию кэша при динамическом связывании, позволяющего сократить обращение к системным вызовам stat и open при поиске библиотек.
  • Задействован новый выпуск системы инициализации GNU Shepherd 0.9 , в котором реализована концепция временных сервисов (transient) и появилась возможность создания сервисов, активируемых при сетевой активности (в стиле systemd socket activation).
  • Добавлен новый интерфейс для задания размера раздела подкачки в конфигурации операционной системы.
  • Переделан интерфейс для задания статической сетевой конфигурации, в котором теперь предлагается декларативный аналог настроек в стиле команды ip.
  • Добавлены 15 новых системных сервисов, включая Jami, Samba, fail2ban и Gitile.
  • Запущен сайт packages.guix.gnu.org для навигации по пакетам.
  • Обновлены версии программ в 6573 пакетах, добавлено 5311 новых пакетов. Среди прочего обновлены версии 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. Удалено более 500 пакетов, использующих Python 2.

GNU Guix 1.4 paket yöneticisi ve buna dayalı dağıtım mevcut

GNU Guix paket yöneticisinin Nix projesinin geliştirmelerine dayandığını ve tipik paket yönetimi işlevlerine ek olarak işlem güncellemeleri, güncellemeleri geri alma yeteneği, süper kullanıcı ayrıcalıkları almadan çalışma, profil desteği gibi özellikleri desteklediğini hatırlayın. bireysel kullanıcılarla ilişkili, bir programın birkaç sürümünü aynı anda kurma yeteneği, çöp toplama araçları (paketlerin kullanılmayan sürümlerini belirleme ve kaldırma). Uygulama oluşturma betiklerini ve paketleme kurallarını tanımlamak için, Scheme işlevsel programlama dilinde tüm paket yönetimi işlemlerini gerçekleştirmenize izin veren özel bir üst düzey etki alanına özgü dil ve Guile Scheme API bileşenlerinin kullanılması önerilir.

Nix paket yöneticisi için hazırlanan ve Nixpkgs deposunda barındırılan paketleri kullanma yeteneği desteklenir. Paket işlemlerine ek olarak, uygulama yapılandırmasını yönetmek için komut dosyaları oluşturabilirsiniz. Bir paket oluşturulduğunda, ilişkili tüm bağımlılıklar otomatik olarak indirilir ve oluşturulur. Hem hazır ikili paketleri depodan indirmek hem de kaynaktan tüm bağımlılıklarla derlemek mümkündür. Güncellemelerin harici bir havuzdan yüklenmesini organize ederek kurulu programların sürümlerini güncel tutmak için araçlar uygulanmıştır.

Paketler için yapı ortamı, uygulamaların çalışması için gerekli tüm bileşenleri içeren bir kap olarak oluşturulur; bu, Guix'in içinde bulunduğu dağıtımın temel sistem ortamının bileşimine bakılmaksızın çalışabilen bir dizi paket oluşturmanıza olanak tanır. eklenti olarak kullanılmaktadır. Guix paketleri arasındaki bağımlılıklar, halihazırda kurulu olan bağımlılıkların varlığını bulmak için kurulu paketler dizinindeki karma tanımlayıcıları tarayarak belirlenebilir. Paketler, kullanıcının dizinindeki ayrı bir dizin ağacına veya alt dizine yüklenir, bu da diğer paket yöneticileriyle birlikte var olmasına ve çok çeşitli mevcut dağıtımlar için destek sağlamasına olanak tanır. Örneğin, bir paket /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/ olarak yüklenir; burada "452a59...", bağımlılıkları denetlemek için kullanılan benzersiz paket kimliğidir.

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

Kaynak: opennet.ru

Yorum ekle