Upgrade de Versão – Fedora Silverblue

Fazer upgrade para uma nova versão da sua distro pode ser um dilema, será que vai quebrar? alguma coisa para de funcionar? desempenho pode piorar? poder reverter se quiser?

Regressões, bug’s, incompatibilidades…podem ocorrer com novas versões de sistemas, qualquer um! mas no caso do Fedora Silverblue / Kinoite se elimina 2 “medos” comuns no upgrade, a possibilidade de não poder reverter a versão anterior e de quebrar no meio do caminho. Obrigado OSTree! que possui o esquema de atualização atômica (ou ele completa a opção ou não completa) com possibilidade de reverter para versão anterior com 1 comando no terminal (ou selecionando a versão anterior no grub).

Quando lançarem uma próxima versão, tudo o que você tem que fazer é: abir GNOME Software / atualizações / Baixar / Reiniciar e estará pronto!

Agora, caso ocorra algum erro como na imagem abaixo ou parecido (geralmente acontecerá com Nvidia user’s):

Significa que pacotes rpm’s que você instalou estão conflitando, ou ainda não estão prontos para a nova versão…

Antes de ir para o terminal, preciso dizer que você não precisa temer a linha de comando no Silverblue, aqui você não vai quebrar todo o sistema com um erro, como pode acontecer em outras distros.

Como falei, anteriormente você provavelmente tem pacotes .rpm no sistema impedindo o upgrade.

Para verificar quais pacotes estão conflitando, abrimos o terminal e rodamos o comando:

rpm-ostree status

Você poderia rodar o upgrade via CLI e verificar quais pacotes especificamente estão conflitando, mas para fins de simplicidade, vamos direto na resolução mais precisa, remover todos pacotes que você instalou e deixar o sistema como “veio de fábrica”.

Perceba que, estou usando o caso de uso mais comum com pacotes de terceiros no Fedora, que são drivers Nvidia. Removendo irá usar automaticamente o driver Nouveau.

Então, antes do procedimento de remover todos pacotes instalados, recomendo dar um “pin” que irá gravar este deploy (o estado atual com driver instalado e tudo mais…) no seu grub, ou seja, mesmo depois do update, digamos que a nova versão nem chegue a dar boot? Este deploy atual, com driver Nvidia instalado, será o seu “ponto de restauração” uma deploy que você sabe que funciona ou um “deploy backup”.

Use o comando:

sudo ostree admin pin 0

Para conferir se o deploy ficou “pinado” ou protegido de não sumir em próximos updates, rode novamente o comando rpm-ostree status para conferir:

“Pinned: yes”

Agora sim, vamos deixar o sistema como de “fábrica” dando um reset nos “Layered/Local packages” que são os pacotes que você instalou. Para isso use o comando:

obs: Se tiver muitos pacotes .rpm, recomendo fazer um backup (copiando os nomes dos pacotes em um .txt mesmo) para facilitar depois quando for reinstalar:

rpm-ostree reset

Então reinicie novamente.

Com o comando rpm-ostree status poderá ver seu novo deploy “limpo” de pacotes e o antigo (pinned) com todos os pacotes e drivers do deploy anterior:

Agora, basta ir novamente na GNOME Software e mandar baixar as atualizações da nova versão.

obs: no momento que testei, ao clicar em “Reiniciar & atualizar” levou 2 minutos sem nenhum feedback até a tela de “Reiniciar” aparecer:

Depois de reiniciar na nova versão, já poderá reinstalar os rpm’s, caso eles já sejam compatíveis…

Um aviso: existe um bug (desenvolvedores já estão cientes) de duplicação das entradas no grub, todos funcionam, só estão duplicados:

Alternativamente, via terminal:

rpm-ostree rebase fedora:fedora/36/x86_64/silverblue

Se usar Nvidia ou depender do RPMFusion, poderá usar o seguinte comando para o rebase / upgrade. Ele irá automatizar a reinstalação do repositório RPMFusion do 35 para o 36 no novo deployment:

rpm-ostree rebase fedora:fedora/36/x86_64/silverblue --uninstall=rpmfusion-free-release-35-1.noarch --uninstall=rpmfusion-nonfree-release-35-1.noarch --install=https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-36.noarch.rpm --install=https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-36.noarch.rpm

Agora na nova versão, poderá verificar se está tudo ok, caso não, terá basicamente duas escolhas:

1 – Selecionar a opção anterior no grub, que terá o deploy anterior com tudo funcionando ok. Perceba que ao dar boot por este deploy anterior, o update do sistema irá continuar seguindo* do ultimo deploy, ou seja, vai atualizar o Fedora 36, não o 35 na qual você deu boot. Esta opção pode ser usada caso queira se manter temporariamente no deploy 35 “pinnado” (congelado) e continuar atualizando o 36 na espera de resolução de algum bug que impediu você de usar o 36 no momento.

2 – Dar o comando rpm-ostree rollback em seguida reiniciar, para de fato fazer downgrade para o Fedora 35 no caso. Poderá usar o comando de rollback dando boot em qualquer deploy, ou seja, pode dar o comando rollback estando no Fedora 35 também.

Se deseja me dar sugestões, mande para fastos2016@gmail.com ou nas redes sociais.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Blog no WordPress.com.

Acima ↑

%d blogueiros gostam disto: