Dispoñible xestor de paquetes GNU Guix 1.4 e distribución baseada nel

Lanzáronse o xestor de paquetes GNU Guix 1.4 e a distribución GNU/Linux construída sobre a súa base. Para a descarga, xeráronse imaxes para a súa instalación en USB Flash (814 MB) e uso en sistemas de virtualización (1.1 GB). Admite o funcionamento en arquitecturas i686, x86_64, Power9, armv7 e aarch64.

A distribución permite a instalación tanto como SO autónomo en sistemas de virtualización, en contedores e en equipos convencionais, podendo lanzarse en distribucións GNU/Linux xa instaladas, actuando como plataforma para o despregue de aplicacións. O usuario dispón de funcións como ter en conta dependencias, compilacións repetibles, traballar sen root, volver a versións anteriores en caso de problemas, xestión da configuración, clonar ambientes (crear unha copia exacta do entorno de software noutros ordenadores), etc. .

Principais novidades:

  • Mellora da xestión dos contornos de software. O comando "entorno guix" foi substituído polo novo comando "guix shell", que che permite non só crear ambientes de compilación para desenvolvedores, senón tamén utilizar ambientes para familiarizarse cos programas sen que se vexa reflectido no perfil e sen realizar " instalación guix”. Por exemplo, para descargar e lanzar o xogo supertuxkart, podes executar "guix shell supertuxkart - supertuxkart". Despois da descarga, o paquete gardarase na caché e o próximo lanzamento non requirirá extraelo de novo.

    Para simplificar a creación de ambientes para desenvolvedores, o "guix shell" ofrece soporte para ficheiros guix.scm e manifest.scm que describen a composición do ambiente (pódese usar a opción "--export-manifest" para xerar ficheiros). Para crear contedores nos que se emula a xerarquía clásica de directorios do sistema, o “guix shell” ofrece as opcións “—container —emulate-fhs”.

  • Engadiuse o comando "guix home" para controlar o ambiente doméstico. Guix permítelle definir todos os compoñentes do seu contorno doméstico, incluídos paquetes, servizos e ficheiros que comezan por un punto. Usando o comando "guix home", pódense recrear instancias do contorno doméstico descrito no directorio $HOME ou nun contedor, por exemplo, para transferir o seu ambiente a un novo ordenador.
  • Engadiuse a opción "-f deb" ao comando "guix pack" para crear paquetes deb separados que se poden instalar en Debian.
  • Para crear varios tipos de imaxes do sistema (raw, QCOW2, ISO8660 CD/DVD, Docker e WSL2), proponse un comando universal "guix system image", que permite determinar o tipo de almacenamento, as particións e o sistema operativo para a imaxe creada. .
  • A opción "—tune" engadiuse aos comandos para construír paquetes, o que lle permite especificar a microarquitectura do procesador para a que se activarán optimizacións específicas (por exemplo, as instrucións AVX-512 SIMD pódense usar nas novas CPU AMD e Intel) .
  • O instalador implementa un mecanismo para gardar automaticamente información importante de depuración en caso de fallar na instalación.
  • O tempo de inicio da aplicación reduciuse ao usar unha caché durante a ligazón dinámica, o que reduce as chamadas á estatística e as chamadas abertas ao sistema ao buscar bibliotecas.
  • Utilizouse unha nova versión do sistema de inicialización GNU Shepherd 0.9, que implementa o concepto de servizos temporais (transitorios) e a posibilidade de crear servizos activados pola actividade da rede (ao estilo da activación do socket systemd).
  • Engadida unha nova interface para configurar o tamaño da partición de intercambio na configuración do sistema operativo.
  • Rediseñouse a interface para establecer unha configuración de rede estática, que agora ofrece un análogo declarativo de configuración ao estilo do comando ip.
  • Engadíronse 15 novos servizos do sistema, incluíndo Jami, Samba, fail2ban e Gitile.
  • Lanzou packages.guix.gnu.org para a navegación por paquetes.
  • Actualizáronse versións dos programas en 6573 paquetes, engadíronse 5311 novos paquetes. Entre outras cousas, versións actualizadas de 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. Elimináronse máis de 500 paquetes usando Python 2.

Dispoñible xestor de paquetes GNU Guix 1.4 e distribución baseada nel

Lembremos que o xestor de paquetes GNU Guix baséase nos desenvolvementos do proxecto Nix e, ademais das funcións típicas de xestión de paquetes, admite funcións como a realización de actualizacións transaccionais, a capacidade de retrotraer actualizacións, traballar sen obter privilexios de superusuario, soportar perfís vinculados a usuarios individuais, a posibilidade de instalar simultaneamente varias versións dun programa, ferramentas de recollida de lixo (identificar e eliminar versións non utilizadas de paquetes). Para definir escenarios de creación de aplicacións e regras de formación de paquetes, proponse empregar unha linguaxe especializada de alto nivel específico de dominio e compoñentes da API de Guile Scheme, que lle permiten realizar todas as operacións de xestión de paquetes na linguaxe de programación funcional Scheme.

Admítese a capacidade de usar paquetes preparados para o xestor de paquetes Nix e colocados no repositorio de Nixpkgs. Ademais das operacións con paquetes, é posible crear scripts para xestionar as configuracións das aplicacións. Cando se constrúe un paquete, todas as dependencias asociadas con el descárganse e constrúense automaticamente. É posible descargar paquetes binarios preparados desde o repositorio ou construír a partir de textos fonte con todas as dependencias. Implementáronse ferramentas para manter actualizadas as versións dos programas instalados organizando a instalación de actualizacións desde un repositorio externo.

O ambiente de compilación para paquetes está formado en forma de contedor que contén todos os compoñentes necesarios para que a aplicación funcione, o que lle permite crear un conxunto de paquetes que poden funcionar sen ter en conta a composición do entorno do sistema base da distribución, no que Guix se usa como complemento. As dependencias pódense determinar entre paquetes Guix escaneando os hash de identificadores no directorio de paquetes instalados para atopar a presenza de dependencias xa instaladas. Os paquetes instálanse nunha árbore de directorios ou subdirectorio separado no directorio do usuario, o que lle permite coexistir en paralelo con outros xestores de paquetes e proporcionar soporte para unha ampla gama de distribucións existentes. Por exemplo, o paquete instálase como /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, onde "452a59..." é o identificador único do paquete usado para a supervisión da dependencia.

A distribución inclúe só compoñentes libres e vén co núcleo GNU Linux-Libre, limpo de elementos non libres do firmware binario. GCC 12.2 úsase para a montaxe. O xestor de servizos GNU Shepherd (anteriormente dmd) utilízase como sistema de inicialización, desenvolvido como alternativa a SysV-init con soporte para dependencias. O daemon de control de Shepherd e as utilidades están escritos en Guile (unha das implementacións da linguaxe Scheme), que tamén se usa para definir parámetros para lanzar servizos. A imaxe base admite o traballo en modo consola, pero prepáranse para a instalación 20526 paquetes preparados, incluíndo compoñentes da pila de gráficos baseados en X.Org, xestores de ventás dwm e ratpoison, escritorios GNOME e Xfce, así como unha selección de gráficos. aplicacións.

Fonte: opennet.ru

Engadir un comentario