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

O gerenciador de pacotes GNU Guix 1.4 e a distribuição GNU/Linux baseada nele foram lançados. Imagens para instalação em USB Flash (814 MB) e utilização em sistemas de virtualização (1.1 GB) foram geradas para download. Suporta arquiteturas i686, x86_64, Power9, armv7 e aarch64.

O kit de distribuição pode ser instalado tanto como SO autônomo em sistemas de virtualização, em containers e em equipamentos convencionais, quanto rodar em distribuições GNU/Linux já instaladas, atuando como plataforma para implantação de aplicações. O usuário dispõe de funções como contabilidade de dependências, compilações repetíveis, trabalho sem root, reversão para versões anteriores em caso de problemas, gerenciamento de configuração, clonagem de ambiente (criação de uma cópia exata do ambiente de software em outros computadores), etc.

Principais inovações:

  • Melhor gerenciamento de ambientes de programas. O comando “ambiente guix” foi substituído por um novo comando “guix shell”, que permite não só criar ambientes de construção para desenvolvedores, mas também utilizar ambientes para se familiarizarem com programas sem se refletir no perfil e sem realizar “guix install” . Por exemplo, para baixar e executar o jogo supertuxkart, você pode executar "guix shell supertuxkart - supertuxkart". Depois de baixado, o pacote será armazenado no cache e a próxima execução não exigirá extraí-lo novamente.

    Para simplificar a formação de ambientes para desenvolvedores no “guix shell”, é fornecido suporte aos arquivos guix.scm e manifest.scm com uma descrição da composição do ambiente (a opção “--export-manifest” pode ser usada para gerar arquivos). Para criar contêineres que emulam a hierarquia clássica de diretórios do sistema, o "guix shell" oferece as opções "-container --emulate-fhs".

  • Adicionado comando "guix home" para gerenciar o ambiente doméstico. Guix permite definir todos os componentes do ambiente doméstico, incluindo pacotes, serviços e arquivos que começam com um ponto. Usando o comando "guix home", as instâncias do ambiente inicial descrito podem ser recriadas no diretório $HOME ou em um contêiner, por exemplo, para transferir o ambiente de alguém para um novo computador.
  • Adicionada a opção "-f deb" ao comando "guix pack" para criar pacotes deb independentes que podem ser instalados no Debian.
  • Para criar vários tipos de imagens de sistema (raw, QCOW2, CD/DVD ISO8660, Docker e WSL2), é proposto um comando universal "imagem de sistema guix", que permite determinar o tipo de armazenamento, partições e sistema operacional para o criado imagem.
  • A opção "-tune" foi adicionada aos comandos de montagem do pacote, o que permite especificar a microarquitetura do processador para a qual otimizações específicas serão habilitadas (por exemplo, instruções AVX-512 SIMD podem ser usadas em novas CPUs AMD e Intel).
  • O instalador implementa um mecanismo para salvar automaticamente informações importantes de depuração no caso de uma instalação anormal.
  • Tempo de inicialização do aplicativo reduzido usando cache de link dinâmico para reduzir o uso de estatísticas e chamadas de sistema aberto ao pesquisar bibliotecas.
  • Está envolvida uma nova versão do sistema de inicialização GNU Shepherd 0.9, que implementa o conceito de serviços temporários (transitórios) e a capacidade de criar serviços que são ativados durante a atividade da rede (no estilo da ativação do soquete systemd).
  • Uma nova interface foi adicionada para definir o tamanho da partição swap na configuração do sistema operacional.
  • A interface para definir uma configuração de rede estática foi redesenhada, que agora oferece um análogo declarativo de configurações no estilo do comando ip.
  • Adicionados 15 novos serviços de sistema, incluindo Jami, Samba, fail2ban e Gitile.
  • Site Packages.guix.gnu.org lançado para navegação de pacotes.
  • Versões de software atualizadas em 6573 pacotes, adicionados 5311 novos pacotes. Entre outras coisas, versões atualizadas do 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. Removidos mais de 500 pacotes usando Python 2.

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

Lembre-se de 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 atualizações transacionais, capacidade de reverter atualizações, trabalhar sem obter privilégios de superusuário, suporte para perfis associado a usuários individuais, a 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 scripts de construção de aplicativos e regras de empacotamento, 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.

A capacidade de usar pacotes preparados para o gerenciador de pacotes Nix e hospedados no repositório Nixpkgs é suportada. Além das operações de pacote, você pode criar scripts para gerenciar a configuração do aplicativo. Quando um pacote é compilado, todas as dependências associadas são baixadas e compiladas automaticamente. É possível baixar pacotes binários prontos do repositório e compilar a partir do código-fonte com todas as dependências. Foram implementadas ferramentas para manter atualizadas as versões dos programas instalados, organizando a instalação de atualizações de um repositório externo.

O ambiente de construção de pacotes é formado como um container contendo todos os componentes necessários ao funcionamento das aplicações, o que permite criar um conjunto de pacotes que podem funcionar independentemente da composição do ambiente do sistema base da distribuição, no qual o Guix é usado como um complemento. As dependências podem ser determinadas entre pacotes Guix verificando os identificadores hash 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, o que permite coexistir com outros gerenciadores de pacotes e fornecer suporte para uma ampla variedade de distribuições existentes. Por exemplo, um pacote é instalado como /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/ onde "452a59..." é o ID exclusivo do pacote usado para controlar dependências.

A distribuição inclui apenas componentes gratuitos e vem com um kernel GNU Linux-Libre despojado de elementos de firmware binários não livres. GCC 12.2 é usado para construir. O gerenciador de serviços GNU Shepherd (anteriormente dmd) é utilizado como sistema de inicialização, desenvolvido como alternativa ao SysV-init com suporte a dependências. O daemon de controle e os utilitários Shepherd são escritos na linguagem Guile (uma das implementações da linguagem Scheme), que também é usada para definir os parâmetros de inicialização do serviço. A imagem base suporta o modo console, mas 20526 pacotes prontos foram preparados para instalação, incluindo componentes de pilha gráfica baseados em X.Org, gerenciadores de janelas dwm e ratpoison, desktops GNOME e Xfce e uma seleção de aplicativos gráficos.

Fonte: opennet.ru

Adicionar um comentário