Silverblue, vale a pena?

Vou tentar explicar aqui o que eu entendo sobre a proposta do Fedora Silverblue, também pode servir de resposta para quem pergunta “vale a pena usar? o sistema é pronto para o uso?” etc…

Breve introdução:

O Fedora Silverblue é um sistema operacional de desktop imutável/atômico. O objetivo é ser extremamente estável e confiável. Ele também pretende ser uma excelente plataforma para desenvolvedores e para aqueles que usam fluxos de trabalho focados em contêiner.

Primeiramente, esta versão “emergente” no Fedora é mantida por uma equipe dedicada muito pequena, comparado a versão Workstation por exemplo. Um core em torno de 39~ desenvolvedores/mantenedores do Fedora. Isso quer dizer que, ainda tem pouca documentação e o progresso em suas metas poderiam ser alcançadas muito mais rápido. Por outro lado, a maneira de como o Silverblue é feito, proporciona menos “mão de obra” na manutenção, ou seja, é muito mais fácil mantê-lo com menos pessoas. Pois usam infraestrutura e pacotes do Fedora, incluindo tecnologias do CoreOS/AtomicHost/IoT e Workstation (também são tecnologias usadas/mantidas pela RedHat).

Então podemos dizer que estes 39 dev’s são os que mantêm o Silverblue diretamente, pois indiretamente vários projetos também mantém o Silverblue.

Assim como o Workstation, o Silverblue é focado no desktop/laptop.

Sobre algumas tecnologias usadas no Silverblue, isto serve para termos uma noção de que existe empresas/comunidades trabalhando nelas, além do próprio Fedora.

GNOME

É um projeto de software livre abrangendo o ambiente de trabalho GNOME, para os usuários, e a plataforma de desenvolvimento GNOME, para os desenvolvedores. O projeto dá ênfase especial a usabilidade, acessibilidade e internacionalização.

A comunidade de desenvolvimento do GNOME conta tanto com voluntários quanto com empregados de várias empresas, inclusive grandes empresas como Google, RedHat, Endless, Canonical, Collabora, Igalia, Mozilla, Intel entre outras. Também possui sua própria fundação ( The GNOME Fundation) Por sua vez, o GNOME é filiado ao Projeto GNU, de onde herdou a missão de prover um ambiente de trabalho composto inteiramente por software livre.

Ostree / rpm-ostree

Nasceu através do projeto GNOME Continuos, e é mantido juntamente com a RedHat, Endless e GNOME, é basicamente um sistema para atualização de outros sistemas, tem como característica a atualização atômica. Isso significa em uma operação crítica, como um update, não haverá corrupção no meio processo. Ele irá atualizar com sucesso, ou não será feito a atualização. Sem a possibilidade de falha parcial.

É usado atualmente no EndlessOS, Flatpak, Fedora, CentOS e Redhat.

rpm-ostree é mantido pelos CoreOS, que também faz parte do projeto Fedora e tem devs da RedHat.

Flatpak

Criado por Alexsander Larsson (trabalha na RedHat) é uma estrutura de distribuição de aplicativos para desktop Linux. Tem como objetivo ser usado por todo tipo de programa ou app (incluindo proprietários). É independente de distribuição, pois é compatível com praticamente todas. Também não necessariamente centraliza a distribuição dos programas.

É o que chamam de aplicativos tipo contêiner, pois rodam em sandbox de forma a não interferir no sistema operacional base. É tipo como o Android funciona hoje em dia.

Paradigma do Silverblue

O Silverblue não é o primeiro a prover um “sistema imutável”. Ele basicamente faz a separação mais clara do Sistema base / programas do usuário. Tal como Android, MacOS, EndlessOS, ChromeOS…perceba que fazer a “limitação” onde o usuário não lida com partes críticas do sistema, não é algo novo, porém no “mundo Linux” (falo das distribuições Linux tradicionais) isto é muito incomum. Já que em sua essência, nasceu por conta de pessoas que, de fato, precisam lidar com partes críticas do sistema (alguns developers, SysAdmin’s, engenheiros de software, estudantes…)

O Silverblue tenta trazer para o usuário, o poder que ele acha que deveria ter, ou seja, instalar programas, atualizar o sistema, sem necessidade de privilégios de “super usuário” ou sem correr o risco de quebrar seu sistema instalando lib’s/pacotes atualizadas e testados em momentos diferentes.

Em outras palavras, se algum app que você instalou parar de funcionar, não afeta seu sistema todo. Na parte do sistema, se os mantenedores mandarem uma atualização que tenha algo quebrado (o que é raro mas pode acontecer) você poderá voltar ao estado anterior facilmente, apenas reiniciando e escolhendo a opção anterior no grub, ou usando o comando rpm-ostree rollback. Por isso chamo de “Fedora inquebrável” obviamente, uma brincadeira pois nada é a prova de falhas.

Em geral, distribuições Linux e também alguns desenvolvedores de programas para o “Linux Desktop”, por padrão induzem o usuário comum a lidar com o poder de “super usuário” ou usar o sudo/root/administrador de sistemas. Tendo muitas vezes que instalar lib’s/pacotes/respositórios no sistema base, algumas vezes até substituindo aquelas lib’s testadas pelos mantenedores do seu sistema, por uma provinda do desenvolvedor do programa (estes dev’s que talvez não tenham uma equipe de engenheiros de segurança trabalhando por eles não é?).

As vezes a maneira que o programa foi projetado, é apenas “intrusiva” no sistema, forçando o usuário a usar root (exemplo: módulos de terceiros, drivers em geral).

Por isso falei que o Silverblue “tenta”, pois não creio que ele consegue fazer isso tão bem quanto o Android como exemplo, que já tem um ecossistema que nasceu neste ambiente adaptado a um único modo de ser.

Perceba, não acho que a ideia de sistema imutável + aplicativos sandbox/container seja o “correto para um sistema operacional” apenas uma alternativa que pode ser viável para muitos usuários, assim como é em outros sistemas operacionais.

Características pontuais sobre o Silverblue

Algumas dicas e avisos sobre o sistema:

Módulos/Drivers de terceiros

Já se pode instalar driver Nvidia, virtualbox…mas pode existir alguns drivers/módulos proprietários de impressoras e outros devices não compatíveis, por exigir mudanças em partes críticas do sistema, na qual está imutável.

Instalação de pacotes/programas

Basicamente, vem com 3 opções de instalação de programas:

Flatpak

A primeira opção para programas em GUI. Trás o repositórios flatpak do próprio Fedora por padrão + Flathub filtrado.

Toolbox

A primeira opção para programas em CLI, desenvolvimento, debugging tools etc…

rpm-ostree install / Package layering (para pacotes rpm instalados em camada)

artigos relavantes sobre rpm-ostree:

https://fastoslinux.com/2021/02/23/rpm-ostree-no-silverblue

A ferramenta rpm-ostree é usada para gerenciar atualizações do sistema base e também para instalação de pacotes “ao lado” da imagem imutável/core do sistema. Por padrão, o sistema opera no modo de “imagem pura”, mas as camadas de pacotes (layered packages via rpm-ostree install nomedopacote) são úteis para coisas como libvirt, drivers, ferramentas que não cabem ao flatpak nem ao toolbx etc.

Também pode ser usado para instalação de app’s GUI/CLI.

Detalhe importante: a cada operação de instalação de pacotes via rpm-ostree, será necessário reiniciar o sistema (não necessariamente) para entrar com a nova imagem ostree criada com os novos pacotes instalados. O ideal é não utilizar rpm-ostree para seus programas (ou para a maioria) mantendo-o limpo de pacotes / repositórios fora dos oficiais, pois isto facilita na hora de fazer um rebase e evita conflitos. O Silverblue meio que incentiva boas práticas que geralmente não nos importamos em distros tradicionais?

Dito isto, a experiência em instalação de .rpm’s pode não ser tão boa, caso o .rpm queira modificar algo que o sistema não permita. Veja este caso tentando usar o XAMPP.

Ao instalar um .rpm (qualquer um) será recomendado reiniciar o OS via GNOME Software:

Uma diferença interessante ao instalar .rpm’s no Silverblue (rpm-ostree) comparado ao Workstation (dnf) é que se alguma coisa der errado, pode fazer um rpm-ostree rollback ou reset ou selecionar um deployment pinado no grub anteriormente, que tudo voltará como era antes.

Já com dnf terá que tentar a sorte caso não tenha muita habilidade de sysadmin ou fazer todo aquele trabalho de resolução de dependências quebradas, ou seja, via rpm-ostree é mais fácil resolver o que seria um grande problema em uma distro com gerenciador de pacotes tradicional.

GRUB

Existe um bug (já reportado e conhecido) que duplica as entradas no grub, os devs querem resolver isso via upstream:

Duallboot / particionamento

No momento não tem total funcionalidade out of the box para duallboot no instalador e não é possível usar o particionamento do sistema da maneira que você quiser, é recomendado usar a opção automática. Estão trabalhando para oferecer uma melhor funcionalidade com duallboot, porém o particionamento sempre terá certas limitações (sim, você pode ter uma home separada)

Ja fiz um teste em VM (GNOME Boxes) onde fiz instalação do Windows 10 e logo a após no mesmo HD virtual o Silverblue. Ocorreu tudo bem, sendo que a instalação é tipo MBR (não UEFI).

Também fiz o teste instalando o Win11 (UEFI) deixando um expaço para o Siverblue não alocado no instalador do Win11, ao instalar o SB o instalador reconheceu tranquilamente aquele espaço não alocado, conseguiu usá-lo para instalação e criar a entrada no grub do Win11 normalmente.

Na minha experiência o duallboot ocorreu normalmente.

Fiz outro teste, porém com HD’s separados e é totalmente funcional como qualquer outra distro.

Limitação na modificação do sistema

Basicamente, só poderá modificar o /var e /etc. Veja a documentação para entender mais sobre a sua estrutura de diretórios.

DE’s / Ambientes de desktop

Por padrão o Fedora Silverblue vem apenas com GNOME, mas a comunidade está preparando novos branchs para outras DE’s prontas, já é possível usar fazendo rebase, quer dizer que não vai misturar pacotes de 2 DE’s em uma imagem/sistema (mas pode misturar arquivos de configurações da sua home caso use o mesmo usuário). Outra possibilidade (ja fiz uso) é de instalar via rpm-ostree, pacotes de outras DE’s para ter ao lado do GNOME, isto vai misturar os pacotes das DE’s, porém testei com o XFCE, que precisa de poucos pacotes para ser usável. Sendo assim, bastaria alternar no login (GDM) entre GNOME/XFCE.

Atualmente existe uma página com todos os desktop atômicos do Fedora.

Snap’s

Não será possível usar snaps “–classsic”, pois dependem de um link simbólico a onde não é possível inserir no Silverblue, por conta da imutabilidade e por questões de técnicas, existe conflitos na maneira como Snapd / OSTree funcionam .

Concluindo, minha opinião sobre se é recomendável para iniciantes em geral?

Pode ser! o Fedora como projeto, não foca explicitamente em usuários iniciantes. Isso não quer dizer que apenas usuários experientes conseguirão usar (a final eu uso!).

Provavelmente ter uma curva de aprendizado de usuários de distros tradicionais, pois terão que aprender o que são conteiners, se habituar e talvez mudar seu workflow para o modo que o SB te induz a usar.

Qualidades que mais me atrai ao Silverblue:

  • experiência mais próxima do que seria uma “GNOME OS”;
  • OSTree: promove mais segurança, confiabilidade e facilidade em avançar ou voltar de uma versão/atualização do Fedora, comparado ao dnf e qualquer outro gerenciador de pacotes.
  • economia de tempo em updates / manutenção do OS;
  • fazer parte do Projeto Fedora.

Observações pessoais de coisas que precisam serem otimizadas / implementadas para a melhor experiencia com o SB:

  • Velocidade de download: já foi melhorado muito e creio que de acordo com que o projeto crescer, vão otimizando mais a infraestrutura e os canais do Silverblue;
  • Mais automatização na instalação do Driver Nvidia: Creio que deveria ser tão fácil quanto o Workstation, mesmo achando que é mais por culpa da Nvidia;
  • Falta documentação: tipo de coisa que aumenta naturalmente com o tempo;
  • Seria interessante uma GUI para o rpm-ostree e algumas de suas funções.
  • o rpm-ostree precisa aprimorar sua função –apply-live.

Eu fortemente recomendo o Silverblue para quem gosta de todas as tecnologias que citei aqui neste artigo e queira contribuir com o projeto, eu costumo reportar bug’s, ajudo o que posso em grupos do telegram como:

https://t.me/flatpaksnapappimage

https://t.me/fedorasilverbluebrasil

neste blog…

Para reportar bug’s do Silverblue, pode-se usar o mesmo bugzilla do RedHat, usado pelo Fedora.

Obviamente destacando o “Silverblue” na descrição dos report’s:

https://bugzilla.redhat.com/

Também existe um repo no Github:

https://github.com/fedora-silverblue/issue-tracker

Fórum para ajudar, tirar dúvidas, ensinar etc:

https://discussion.fedoraproject.org/

Listas de discussões do Fedora:

https://lists.fedoraproject.org/archives/

Além do github do Flathub, que deve ser massivamente usado principalmente por usuários do Silverblue?

https://github.com/flathub

Tal como o Forum do Flathub:

https://discourse.flathub.org/

Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? fastos2016@gmail.com

Um comentário em “Silverblue, vale a pena?

Adicione o seu

  1. É isso! Acho que é esse o sistema que eu estou procurando. Simples, moderno e rodando o gnome em toda a sua glória. Se Steam em flatpak funcionar corretamente juntamente com o driver da minha placa de vídeo está ótimo. Tudo que eu uso esta disponível nesses formatos de contêiner mesmo.

    Curtir

Deixe um comentário

Blog no WordPress.com.

Acima ↑