Gerenciador de pacotes GNU Guix 1.1 e distribuição baseada nele disponível

aconteceu lançamento do gerenciador de pacotes GNU Guix 1.1 e a distribuição GNU/Linux construída em sua base. Para carregar formado imagens para instalação em USB Flash (241 MB) e utilização em sistemas de virtualização (479 ​​MB). Suporta operação nas arquiteturas i686, x86_64, armv7 e aarch64.

A distribuição permite a instalação como SO independente em sistemas de virtualização, em contêineres e em equipamentos convencionais, e lançando em distribuições GNU/Linux já instaladas, atuando como plataforma para implantação de aplicativos. O usuário dispõe de funções como levar em conta dependências, compilações repetíveis, trabalhar sem root, reverter para versões anteriores em caso de problemas, gerenciamento de configuração, clonagem de ambientes (criação de uma cópia exata do ambiente de software em outros computadores), etc. .

O principal inovações:

  • Foi adicionado um novo comando “guix deploy”, projetado para implantar o hardware de vários computadores ao mesmo tempo, por exemplo, novos ambientes em um VPS ou sistemas remotos acessíveis via SSH.
  • Os autores de repositórios de pacotes de terceiros (canais) recebem ferramentas para escrever mensagens de notícias que o usuário pode ler ao executar o comando "guix pull --news".
  • Adicionado o comando “guix system description”, que permite avaliar alterações entre duas instâncias diferentes do sistema durante a implantação.
  • Adicionado suporte para geração de imagens para Singularity e Docker ao comando "guix pack".
  • Adicionado o comando "guix time-machine", que permite reverter para qualquer versão de um pacote salvo no arquivo Software de herança.
  • Adicionada opção “--target” ao “sistema guix”, fornecendo suporte parcial para compilação cruzada;
  • Execução garantida do Guix usando Guile 3, o que tem um efeito positivo na produtividade.
  • O gráfico de dependência do pacote é limitado a um conjunto reduzido de componentes iniciais binários, o que é um grande passo para a implementação de bootstrap totalmente verificável.
  • Uma estrutura para testes automatizados do instalador gráfico foi implementada. O instalador agora está integrado em um sistema de integração contínua e testado em diferentes configurações (partição raiz criptografada e regular, instalação com desktops, etc.).
  • Adicionados sistemas de build para Node.js, Julia e Qt, simplificando a escrita de pacotes para aplicações relacionadas a esses projetos.
  • Adicionados novos serviços de sistema auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    resolvedor de nó, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-wheel, proveniência, pulseaudio, sane, singularidade, usb-modeswitch

  • Versões de programas em 3368 pacotes foram atualizadas, 3514 novos pacotes foram adicionados. Incluindo versões atualizadas do xfce 4.14.0, gnome 3.32.2, mate 1.24.0, xorg-server 1.20.7, bash 5.0.7, binutils 2.32, cups 2.3.1, emacs 26.3, lighting 0.23.1,
    gcc 9.3.0, gimp 2.10.18, glibc 2.29,
    gnupg 2.2.20, vá 1.13.9, astúcia 2.2.7,
    icecat 68.7.0-guix0-preview1, chá gelado 3.7.0,
    libreoffice 6.4.2.2, linux-libre 5.4.31, , openjdk 12.33, perl 5.30.0, python 3.7.4,
    ferrugem 1.39.0.

Lembramos que o gerenciador de pacotes GNU Guix é baseado nos desenvolvimentos do projeto Nix e além das funções típicas de gerenciamento de pacotes, suporta recursos como execução de atualizações transacionais, capacidade de reverter atualizações, trabalhar sem obter privilégios de superusuário, suporte para perfis vinculados a usuários individuais, capacidade de instalar simultaneamente várias versões de um programa, ferramentas de coleta de lixo (identificando e removendo versões não utilizadas de pacotes). Para definir cenários de construção de aplicativos e regras de formação de pacotes, propõe-se o uso de uma linguagem especializada de alto nível específica de domínio e componentes da API Guile Scheme, que permitem executar todas as operações de gerenciamento de pacotes na linguagem de programação funcional Scheme.

Suporta a capacidade de usar pacotes preparados para o gerenciador de pacotes Nix e colocados no repositório
Nixpkgs. Além das operações com pacotes, é possível criar scripts para gerenciar configurações de aplicações. Quando um pacote é compilado, todas as dependências associadas a ele são automaticamente baixadas e compiladas. É possível baixar pacotes binários prontos do repositório ou compilar a partir de textos fonte com todas as dependências. Ferramentas foram implementadas para manter as versões dos programas instalados atualizadas, organizando a instalação de atualizações de um repositório externo.

O ambiente de construção de pacotes é formado na forma de um contêiner contendo todos os componentes necessários ao funcionamento da aplicação, o que permite criar um conjunto de pacotes que podem funcionar independentemente da composição do ambiente do sistema base da distribuição, em que o Guix é usado como complemento. As dependências podem ser determinadas entre pacotes Guix verificando hashes de identificadores no diretório de pacotes instalados para encontrar a presença de dependências já instaladas. Os pacotes são instalados em uma árvore de diretórios separada ou subdiretório no diretório do usuário, permitindo coexistir em paralelo com outros gerenciadores de pacotes e fornecer suporte para uma ampla gama de distribuições existentes. Por exemplo, o pacote é instalado como /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, onde "f42a58..." é o identificador exclusivo do pacote usado para monitoramento de dependência.

A distribuição inclui apenas componentes gratuitos e vem com o kernel GNU Linux-Libre, limpo de elementos não livres de firmware binário. GCC 9.3 é usado para montagem. O gerenciador de serviços é usado como um sistema de inicialização Pastor GNU (ex-dm), desenvolvido como uma alternativa ao SysV-init com suporte a dependências. O daemon de controle e utilitários Shepherd são escritos em Guile (uma das implementações da linguagem Scheme), que também é usada para definir parâmetros para lançamento de serviços. A imagem base suporta o modo console, mas para instalação preparado 13162 pacotes prontos, incluindo componentes da pilha gráfica baseada em X.Org, os gerenciadores de janelas dwm e ratpoison, o desktop Xfce, bem como uma seleção de aplicativos gráficos.

Fonte: opennet.ru

Adicionar um comentário