O Guix System é uma meta distribuição sem estado cujas origens podem ser rastreadas até um artigo de pesquisa. O sistema operacional, que acaba de ter seu lançamento 1.2.0, é construído em torno do gerenciador de pacotes Guix, que é um dos mais avançados sistemas de gerenciamento de pacotes de código aberto.
Guix é uma reimplementação do gerenciador de pacotes Nix e Guix System é o sistema operacional equivalente ao NixOS. O Guix System é um afastamento significativo das distros Linux usuais.
Características
Para começar, o Guix System se esforça para ser um sistema operacional totalmente programável, e tudo, desde seu sistema GNU shepherd init até seu gerenciador de pacotes, é escrito na linguagem de programação GNU Guile Scheme.
Na verdade, a distro também tem a distinção de ser reconhecida pela Fundação GNU como um projeto de software livre. Embora atualmente use o kernel Linux-libre por enquanto, os desenvolvedores estão removendo o background para prepará-lo para o kernel Hurd do projeto GNU.
O principal destaque da distro, entretanto, é o gerenciador de pacotes Guix, por meio do qual herda recursos avançados, como a capacidade de realizar atualizações e reversões transacionais, e criar ambientes de construção reproduzíveis.
Portanto, as operações de instalação, remoção e atualização no Guix são, na verdade, uma transação que basicamente só fará alterações em um sistema se a operação for bem-sucedida. Isso significa que se uma transação for encerrada, devido a uma queda de energia ou um operador desajeitado, o sistema ainda permanecerá em um estado perfeitamente utilizável.
Além disso, qualquer uma dessas transações de pacote pode ser revertida. Portanto, se a atualização de um pacote tiver bugs, você pode facilmente reverter para o anterior que funcionou bem. Outro recurso bastante impressionante é o fato de que você pode replicar sua configuração em outro computador sem muitos problemas.
Gerenciar um sistema Guix é muito conveniente, uma vez que você pegue o jeito, já que é essencialmente uma versão contínua que você pode atualizar com alguns comandos. No entanto, o processo levará muito tempo, já que o Guix é uma distribuição baseada em código-fonte e irá recompilar todas as definições de pacote disponíveis.
Dito isso, a distro tem a opção de buscar binários pré-compilados. Eles são conhecidos como substitutos, pois você os usa em vez de construir pacotes localmente.
Instalação
A melhor maneira de compreender as vantagens do Guix é instalar uma cópia da distro Guix System. Ele está disponível como um ISO instalável compactado.
O bom é que a distro possui um instalador que o guiará pelas etapas. É um instalador baseado em ncurses, mas ainda muito melhor do que as versões anteriores da distro que exigiam que você configurasse manualmente a instalação usando a linha de comando.
Se você instalou uma distribuição Linux, os menus baseados em texto do instalador do sistema Guix não devem representar um grande problema. Observe, entretanto, que o instalador ainda não tem um particionador, então você terá que prepará-lo manualmente. Em qualquer caso, os usuários iniciantes não devem experimentar o Sistema Guix fora dos limites seguros de um ambiente virtual.
A penúltima etapa do instalador pede que você escolha um ou mais ambientes de desktop e oferece opções familiares, incluindo Gnome, MATE, Xfce, Enlightenment, Openbox e outros. O instalador então reúne todas essas informações em um arquivo de configuração editável que usa para instalar a distro.
A instalação levará um bom tempo, pois as bibliotecas e pacotes serão compilados e instalados a partir do código-fonte. O tempo exato dependerá da capacidade de processamento do seu computador e do número de pacotes que o instalador precisa compilar.
Além de um ISO instalável, o projeto Guix System, de forma muito útil, também produz uma imagem de disco virtual que você pode usar com o emulador Qemu para inicializar em um ambiente pré-instalado. Você pode usar esta imagem para inicializar em uma instalação do sistema Guix que usa a área de trabalho Xfce. É melhor que os usuários iniciantes experimentem o Guix usando esta imagem virtual em vez de tentar instalar o sistema do zero.
Trabalhando com Guix
Graças ao desktop Xfce, a distro não parece tão estranha por fora quanto realmente é por dentro. Independentemente de sua experiência com o Linux, você não seria capaz de fazer muito com a instalação do sistema Guix sem primeiro ler sua documentação.
A distro tem um conjunto básico de aplicativos, então você terá que transformá-lo em uma área de trabalho utilizável. A coisa boa é que interagir com o gerenciador de pacotes Guix não é tão diferente de usar apt ou dnf, uma vez que você tenha percorrido a documentação para se familiarizar com suas peculiaridades.
No entanto, entender alguns de seus recursos avançados de gerenciamento de pacotes levará algum tempo. Além disso, sendo uma distribuição GNU, você terá um número menor de software à sua disposição por meio de seus repositórios.
A distro, entretanto, oferece suporte a Flatpak e você pode adicionar o repositório Flathub para obter alguns dos aplicativos populares não disponíveis nos repositórios oficiais. Em nossos testes, no entanto, os aplicativos puxados por Flatpak se comportaram de maneira inconsistente. Nenhum deles apareceu nos menus e alguns deles falharam ao iniciar, mesmo a partir da linha de comando.
Além disso, se você tiver coragem e instalar e usar o Sistema Guix fora de um ambiente virtual, a primeira distração que você encontrará será cortesia do kernel Linux-libre, que é despojado de quaisquer blobs binários no kernel.
Isso restringe o suporte de hardware, especialmente quando se trata de placas de vídeo e sem fio. Para contornar essas limitações, você pode usar o repositório nonguix, que inclui drivers que não são livres e não podem ser incluídos no kernel Linux-libre upstream.
A competição
Em comparação com as distros Linux usuais, há uma curva de aprendizado acentuada para instalar e administrar uma instalação do sistema Guix. Você não pode ir muito longe com o Guix sem consultar sua documentação oficial.
Tudo, desde o sistema init, o sistema de arquivos e o gerenciamento de pacotes, é muito diferente do que você tem nas distros Linux tradicionais, e para dominá-los será necessário tempo e um pouco de leitura.
Guix é uma reimplementação do Nix no GNU Guile, o que torna o sistema Guix muito mais semelhante ao NixOS. Dito isso, ainda existem diferenças consideráveis entre os dois. Por exemplo, ao contrário do NixOS, o Guix System usa o gerenciador de serviço GNU Shepherd. Então, novamente, embora os usuários do Nix estejam mais sintonizados com o Guix em um nível conceitual do que os usuários do Linux, eles ainda precisarão consultar a documentação para operar a instalação.
Veredicto Final
Considerar o Sistema Guix como um desktop Linux normal seria uma grande injustiça.
O Guix System, assim como o NixOS, é para usuários que gostam de ter a configuração de toda a sua instalação definida em um único arquivo. A distro atrairá usuários que desejam ter um sistema que facilite bastante a instanciação de máquinas virtuais.
Apenas aqueles que já administram máquinas Linux há algum tempo poderão apreciar totalmente as vantagens do gerenciador de pacotes Guix. A distro fará sentido para usuários que se preocupam com compilações reproduzíveis, que gostam de ter a capacidade de desafiar pacotes compilados localmente com o upstream.
Para qualquer outra pessoa, a curva de aprendizado íngreme para Guix será uma grande distração. A promessa de fornecer estabilidade para implantações críticas como servidores pode ser alcançada em ambientes mais familiares do CentOS ou Arch. A boa notícia, entretanto, é que você pode “instalar” o gerenciador de pacotes Guix em sua distribuição Linux mais familiar.
Outro abismo de usabilidade é a adoção do princípio GNU do software livre, que é nobre, mas impraticável para um grande número de usuários.
Considerando todas as coisas, apesar da superioridade do Sistema Guix, ele falhará em atrair um grande número de usuários comuns de Linux.
- Apresentamos as melhores distros Linux para iniciantes.