El administrador de paquetes GNU Guix 1.4 y la distribución basada en él están disponibles

Se lanzaron el administrador de paquetes GNU Guix 1.4 y la distribución GNU/Linux construida sobre su base. Para su descarga se han generado imágenes para su instalación en USB Flash (814 MB) y uso en sistemas de virtualización (1.1 GB). Admite la operación en arquitecturas i686, x86_64, Power9, armv7 y aarch64.

La distribución permite su instalación como sistema operativo independiente en sistemas de virtualización, en contenedores y en equipos convencionales, y puede lanzarse en distribuciones GNU/Linux ya instaladas, actuando como plataforma para implementar aplicaciones. El usuario cuenta con funciones como tener en cuenta dependencias, compilaciones repetibles, trabajar sin root, retroceder a versiones anteriores en caso de problemas, gestión de configuración, clonación de entornos (creación de una copia exacta del entorno de software en otras computadoras), etc. .

Principales novedades:

  • Mejora de la gestión de entornos de software. El comando “guix Environment” ha sido reemplazado por el nuevo comando “guix shell”, que permite no solo crear entornos de compilación para desarrolladores, sino también utilizar entornos para familiarizarse con los programas sin que se reflejen en el perfil y sin realizar “ instalación de guix”. Por ejemplo, para descargar e iniciar el juego supertuxkart, puedes ejecutar “guix shell supertuxkart - supertuxkart”. Después de la descarga, el paquete se guardará en el caché y el próximo lanzamiento no requerirá volver a extraerlo.

    Para simplificar la creación de entornos para los desarrolladores, el "guix shell" proporciona soporte para archivos guix.scm y manifest.scm que describen la composición del entorno (la opción "--export-manifest" se puede utilizar para generar archivos). Para crear contenedores en los que se emule la jerarquía de directorios del sistema clásico, el “guix shell” ofrece las opciones “—container —emulate-fhs”.

  • Se agregó el comando "guix home" para controlar el entorno del hogar. Guix le permite definir todos los componentes de su entorno doméstico, incluidos paquetes, servicios y archivos que comienzan con un punto. Usando el comando "guix home", se pueden recrear instancias del entorno de inicio descrito en el directorio $HOME o en un contenedor, por ejemplo, para transferir su entorno a una computadora nueva.
  • Se agregó la opción "-f deb" al comando "guix pack" para crear paquetes deb separados que se pueden instalar en Debian.
  • Para crear varios tipos de imágenes del sistema (raw, QCOW2, ISO8660 CD/DVD, Docker y WSL2), se propone un comando universal "imagen del sistema guix", que le permite determinar el tipo de almacenamiento, las particiones y el sistema operativo de la imagen creada. .
  • Se agregó la opción “—tune” a los comandos para crear paquetes, lo que le permite especificar la microarquitectura del procesador para la cual se habilitarán optimizaciones específicas (por ejemplo, las instrucciones SIMD AVX-512 se pueden usar en las nuevas CPU AMD e Intel). .
  • El instalador implementa un mecanismo para guardar automáticamente información de depuración importante en caso de que se produzca un error en la instalación.
  • El tiempo de inicio de la aplicación se ha reducido mediante el uso de un caché durante el enlace dinámico, lo que reduce las llamadas a las estadísticas y las llamadas al sistema abierto cuando se buscan bibliotecas.
  • Se ha utilizado una nueva versión del sistema de inicialización GNU Shepherd 0.9, que implementa el concepto de servicios temporales (transient) y la capacidad de crear servicios activados por la actividad de la red (al estilo de activación de socket systemd).
  • Se agregó una nueva interfaz para configurar el tamaño de la partición de intercambio en la configuración del sistema operativo.
  • Se ha rediseñado la interfaz para establecer una configuración de red estática, que ahora ofrece un análogo declarativo de configuraciones al estilo del comando ip.
  • Se agregaron 15 nuevos servicios del sistema, incluidos Jami, Samba, fail2ban y Gitile.
  • Se lanzó packages.guix.gnu.org para la navegación de paquetes.
  • Se actualizaron versiones de programas en 6573 paquetes y se agregaron 5311 paquetes nuevos. Entre otras cosas, versiones 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. Se eliminaron más de 500 paquetes usando Python 2.

El administrador de paquetes GNU Guix 1.4 y la distribución basada en él están disponibles

Recordemos que el administrador de paquetes GNU Guix se basa en los desarrollos del proyecto Nix y, además de las funciones típicas de administración de paquetes, admite funciones tales como realizar actualizaciones transaccionales, la capacidad de revertir actualizaciones, trabajar sin obtener privilegios de superusuario, admitir perfiles vinculados a usuarios individuales, la capacidad de instalar simultáneamente varias versiones de un programa, herramientas de recolección de basura (identificar y eliminar versiones no utilizadas de paquetes). Para definir escenarios de creación de aplicaciones y reglas de formación de paquetes, se propone utilizar un lenguaje especializado de alto nivel específico de dominio y componentes API de Guile Scheme, que le permiten realizar todas las operaciones de administración de paquetes en el lenguaje de programación funcional Scheme.

Se admite la capacidad de utilizar paquetes preparados para el administrador de paquetes de Nix y colocados en el repositorio de Nixpkgs. Además de las operaciones con paquetes, es posible crear scripts para gestionar las configuraciones de la aplicación. Cuando se crea un paquete, todas las dependencias asociadas con él se descargan y crean automáticamente. Es posible descargar paquetes binarios ya preparados desde el repositorio o compilarlos a partir de textos fuente con todas las dependencias. Se han implementado herramientas para mantener actualizadas las versiones de los programas instalados organizando la instalación de actualizaciones desde un repositorio externo.

El entorno de compilación para paquetes se forma en forma de un contenedor que contiene todos los componentes necesarios para que funcione la aplicación, lo que le permite crear un conjunto de paquetes que pueden funcionar independientemente de la composición del entorno del sistema base de la distribución. en el que se utiliza Guix como complemento. Las dependencias se pueden determinar entre paquetes de Guix escaneando los hashes de identificador en el directorio de paquetes instalados para encontrar la presencia de dependencias ya instaladas. Los paquetes se instalan en un árbol de directorios o subdirectorio separado en el directorio del usuario, lo que le permite coexistir en paralelo con otros administradores de paquetes y brindar soporte para una amplia gama de distribuciones existentes. Por ejemplo, el paquete se instala como /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, donde "452a59..." es el identificador de paquete único utilizado para la supervisión de dependencias.

La distribución incluye sólo componentes gratuitos y viene con el kernel GNU Linux-Libre, libre de elementos no libres de firmware binario. Para el montaje se utiliza GCC 12.2. Como sistema de inicialización se utiliza el administrador de servicios GNU Shepherd (anteriormente dmd), desarrollado como alternativa a SysV-init con soporte de dependencia. El demonio de control y las utilidades de Shepherd están escritos en Guile (una de las implementaciones del lenguaje Scheme), que también se utiliza para definir parámetros para iniciar servicios. La imagen base admite el trabajo en modo consola, pero se preparan 20526 paquetes listos para su instalación, incluidos componentes de la pila de gráficos basada en X.Org, administradores de ventanas dwm y ratpoison, escritorios GNOME y Xfce, así como una selección de gráficos. aplicaciones.

Fuente: opennet.ru

Añadir un comentario