Salve pessoa! Acompanhando vários tópicos aqui no fórum tenho observado muitas dúvidas relacionadas com distros imutáveis, muitas bastante válidas e outras que me parecem simplesmente ocasionadas por falta de informação adequada.
Listem suas dúvidas de forma objetiva, vou fazer o possível para responder todas elas. Se juntarmos informação suficiente, podemos criar uma página na wiki aqui do fórum com as principais dúvidas.
Para facilitar, vamos tentar seguir algumas regras:
…“Eu não gosto de distros imutáveis, prefiro XYZ”… - não é uma dúvida, é uma afirmação e não entra na proposta desse tópico.
Se a dúvida for sobre uma distro específica, forneça informações para dar contexto.
Podem colocar quantas dúvidas quiserem no mesmo post, apenas separem para facilitar a resposta.
Uma dúvida: uso a Bazzite (que é imutável), mas às vezes bate um receio sobre a longevidade do projeto. Tenho medo de a distro simplesmente parar de ser produzida ou mantida, já que ela não tem por trás o peso de uma Red Hat (Fedora) ou de uma Canonical (Ubuntu). Como vocês lidam com essa incerteza em distros comunitárias?
Eu realmente só considero que isso é um problema se estivermos falando de parques empresariais com centenas, talvez milhares de máquinas que precisem ser orquestradas, auditadas e provisionadas.
Para um usuário comum em sua casa? Se um projeto parar de oferecer suporte, migre para outro que esteja ativo.
Muitas vezes criamos apego com alguns projetos, mas no final do dia, não temos controle sobre isso. Então, não há porque ficar realmente preocupado.
Depende de cada projeto, é comum vermos ciclos semanais para correções pequenas e atualizações de segurança. A atualização geralmente é feita via interface gráfica, mas em quase todas as distros também é possível automatizar, deixando a atualização automática e transparente.
Adendo importante: algumas distros empresariais são imutáveis e mesmo assim usam um esquema de lançamento LTS, então, os ciclos onde novas imagens são liberadas é diferente.
Aqui vale a pena fazer um parêntese: ser imutável não implica ou tem nenhuma relação com ser bleeding edge e/ou rolling release.
Nestes casos, a abordagem mais recomendável seria instalar um contêiner e usar essa estrutura para o programa que precisa ser compilado. Diferente de uma VM tradicional, os contêineres costumam ter acesso ao hardware “real” então a perda de desempenho quando existe é mínima.
Eu falo por mim, se o bluefin ou bazzite “morrerem“ eu simplesmente migro para um fedora silver blue, kinoite, gnomeOS ou o futuro KDE OS. Não é algo que realmente me preocupa. Mas acho que os sistemas da universal blue não vão sumir tão cedo. Eles não requerem um grande esforço de manutenção humana. Muitos testes e implementações são automatizados.
Você pode usar as ferramentas de rebase para literalmente pular para qualquer imagem que seja compatível. Por exemplo, no projeto Universal Blue você pode saltar livremente entre o Bazzite, Aurora e o Bluefin.
É possível fazer rebase tanto de imagens online quanto offline.
Uma limitação clara que distros imutáveis ainda possuem é relacionada com programas que precisam carregar módulos no kernel. Então, se você realmente precisa dessas ferramentas provavelmente você terá menos problemas usando uma distro convencional.
Se você for um usuário avançado, é possível criar uma imagem derivada do Universal Blue que já inclua as modificações que você precisa - como os módulos do kernel para virtualização.
O GNOME Boxes funciona bem para a minha necessidade, então tenho usado ele na maior parte do tempo.
Vou deixar anotado para pesquisar mais sobre esse tópico de virtualização.
Então, na documentação eles falam pra não ficar trocando de DE. Por quê?
Tipo, em outros carnavais eu já tive GNOME e KDE instalado, e, apesar da bagunça de pacotes e arquivos de configuração, eles coexistiam de algum jeito. Seria por isso?
Outra: eu posso manter mais sistemas ao mesmo tempo? Por exemplo, eu quero usar o Bazzite com Steam Gaming Mode, mas nem sempre eu quero cair na interface de jogar, então, posso manter uma imagem do Bazzite com e outra sem o Steam Gaming Mode? Ou então, uma do Bazzite (com Steam Gaming Mode) e outra do Aurora quando não quiser jogar?
Eu sei que tem como pinar uma imagem, mas, se manter as 2 irá atualizar automaticamente ou terei de fazer manualmente?
Imagina que você é um engenheiro que projeta carros, você cria toda uma plataforma em torno de um motor à gasolina. Mas, algum cliente específico quer customizar o carro e trocar por um motor à querosene de aviação.
Ele pode fazer isso? Em alguns países sim, afinal, o carro é dele.
O carro foi projetado para funcionar com esse cenário em mente? Não foi. Então, se houver um problema, fica bastante complexo para você, o engenheiro que citamos no começo, ajudar. Porque o cliente, estava operando totalmente fora das normas testadas e isso trás um conjunto enorme de variáveis.
Ao adotar uma distro imutável, você precisa adaptar sua mentalidade para esse paradigma. Se você realmente gosta de ter controle sobre cada byte no seu PC, provavelmente uma distro como o Arch ou o NixOS faz muito mais sentido do que um Bazzite.
Esse é um tópico avançado que eu ainda não testei, mas, o que te impede de simplesmente fazer um dualboot? Instale quantos sistemas quiser, arrume as pastas comuns como Downloads, Documentos, etc, para ficarem acessíveis para todos os sistemas e segue o baile.
Qualquer coisa “pinada” passa a ser gerida pelo usuário, então provavelmente você teria que procurar formas de manter isso organizado e atualizado.
Praticamente em nenhuma situação as pessoas achariam aceitável instalar o Debian e o Manjaro na mesma partição root… ou o Debian 12 e o 13. Porque isso passaria a fazer sentido com distros imutáveis?
Essa realmente é uma pergunta boa, esse termo “sistemas operacionais imutáveis” surgiu porque esses sistemas tratam a imagem do sistema como algo que não muda durante o uso normal — mas tem um detalhe importante, esses sistemas não são 100% imutáveis de verdade, como você mesmo disse. Afinal, nos conseguimos mudar muita coisa na área do usuário, apenas não na área do sistema.
Até onde consegui pesquisar, não existe um autor conhecido para o termo.