quarta-feira, 8 de novembro de 2017

Guia definitivo de Upgrade do openSuSE

Artigo atualizado em 12 de junho de 2018



Agora usando como exemplo a atualização para o openSUSE Leap 15.0

Atualizar um sistema operacional pode ser muito traumático. No mundo linux esta tarefa já foi muito complicada, mas tem ficado mais simples a cada dia. Apesar de simples, podem existir situações onde os novatos ficam meio perdidos. Então este artigo tem o objetivo de esclarecer um pouco.

Como posso atualizar de uma versão do openSUSE para outra?

Existem algumas formas de fazer upgrade do openSUSE:

  1. Usar uma mídia instalação (DVD ou USB Stick) da nova versão e selecionar a opção Fazer Upgrade;
  2. Fazer o upgrade "a quente", configurando os repositórios de atualização e atualizando via internet;
  3. Combinar as duas opções acima!
Mas, seja qual for a opção escolhida, uma coisa importante precisa ser feita antes de prosseguir: certifique-se que tem espaço disponível na partição root ( / ). Serão necessários uns 8 GB livres na partição root!

Upgrade pelo DVD: "the easy way"



Esta é a forma que recomendamos, por ser considerada "fácil e segura". Basta fazer o download da versão mais nova do openSuSE, "queimar" o DVD e dar boot por ele, para fazer upgrade da versão que estiver usando.

São etapas simples, interativas, e quase sempre autoexplicativas. Todavia, se você está lendo esse artigo é porque deve ter alguma dúvida ou insegurança. Então vamos ajudar você!

Siga as imagens abaixo, capturadas durante o processo de upgrade, acrescidas dos devidos comentários quando achamos que eram necessários.


  • Opção "Fazer Upgrade"



A opção "Fazer upgrade" aparece já no menu inicial!

Nas versões mais novas do openSuSE, a opção de atualização da versão aparece logo de início, no menu de boot presente no DVD de instalação! Basta selecionar a opção "Fazer Upgrade"!

Não esqueça que você deve apertar F2 no menu de opções apresentado pelo DVD, para escolher nosso idioma, bem como apertar F3 para escolher uma resolução adequada à sua configuração (1024x768, por exemplo).

  • Testando o teclado e lendo o Contrato de Licença 

Aproveite enquanto estiver na tela mostrada acima para configurar e testar o teclado!

  • Selecionando a partição do Sistema 

 O instalador detecta a partição do sistema

Confira se o atualizador detectou corretamente a partição do sistema e clique em [ Próximo ], se a informação estiver correta.

  • Algumas coisas irão mudar 


Os repositórios antigos serão excluídos! (o atualizador irá configurar os repositórios adequados à versão sendo instalada na tela seguinte)

  • Repositórios de atualização via internet! 


O Atualizador irá configurar automaticamente os repositórios de atualização via internet e, caso você esteja conectado, os pacotes mais atualizados serão baixados durante a atualização!
Opcionalmente, você pode desabilitar os repositórios de atualização nesse momento, e deixar para atualizar depois do Upgrade!
Se você tiver uma internet não muito rápida, ou se estiver com pressa (rs), sugerimos desabilitar agora os repositórios e deixar para atualizar depois.

Desabilitar os repositórios não significa que eles não serão configurados! Não se preocupe, o atualizador irá configurar eles mesmo assim.


O importante agora é fazer o Upgrade!

  • Uma revisão final 

  • Avisos "extras" podem ocorrer! 

Talvez acordos de licenças adicionais sejam necessários, como o mostrado na tela acima. "Feche os olhos" e clique em [ Eu concordo ] !

  • Um pedido final de confirmação! 


E...

  • O processo de atualização, finalmente 



Epílogo!

Ao final da atualização, caso você tenha desabilitado o processo de atualização de pacotes, o Atualizador irá "insistir" na atualização dos pacotes, como mostrado na figura abaixo!


Como já dissemos antes, nossa sugestão é pular essa etapa e deixar para atualizar depois que nos cerificarmos que o Upgrade for feito adequadamente.
Não muito raro, o processo de atualização de pacotes implica em fazer o download de 1 GB de arquivos. Se a internet não for banda larga MESMO, isso demora muito!

  • Final do Upgrade! 


  • Após a reinicialização, podemos ver que tudo deu certo! 



Como podemos ver na tela acima, o openSuSE Leap 42.2 foi atualizado corretamente para o Leap 15.0!

Também podemos ver, na parte inferior direita de tela, que existem atualizações de software! Se quiser fazer isso agora, basta autorizar a atualização de software, clicando em [ Instalar atualizações ].





Upgrade "a quente": "the hard way"

Esta é a forma oficial. Ou melhor, é a forma sugerida no site do openSUSE. No mundo deles, (quase) tudo é perfeito, inclusive a Internet! Sugerimos ler a forma oficial, para algum novo insight. Mas acreditamos que nossa versão, mais enxuta e direto ao ponto, está mais fácil de acompanhar!

Classificamos com "the hard way" por dois motivos: exige um trabalho "manual" por parte do usuário, que habitualmente não gosta de linha de comando, e porque depende de uma boa internet. Afinal, quase sempre é necessário o download de algo entre 1 GB e 2 GB, para um Upgrade!

  • Prosseguindo com o Upgrade "a quente"

Neste processo, você substitui os repositórios da versão atual pelos repositórios da versão mais nova e depois usa a opção "Distribution Upgrade" (dup) do utilitário zypper.

  • Como fazer isto?
Você primeiramente deve se certificar que os repositórios padrão e de atualização de software da versão atual estão configurados, habilitados, e que seu sistema está atualizado!
Abrindo um terminal e executando o comando zypper lr --url você deverá ver algo como:

#  | Apelido         | Nome            | Habilitado | Atualizar | URL
---+-----------------+-----------------+------------+-----------+----------------------------------------------------
1  | repo-update     | repo-update     | Yes        | Yes       | http://download.opensuse.org/update/leap/42.2/oss/
Observe a palavra update na URL do repositório!

É muito provável que seu sistema esteja atualizado, mas confira se está tudo certo checando esse outro artigo aqui no Blog: Guia definitivo de atualização do openSUSE.

ATENÇÃO: Se você é um daqueles usuários mais avançados que terminam por instalar outros softwares além dos pacotes dos repositórios padrão, isso quase sempre implica que existem repositórios de terceiros na sua lista! É altamente recomendável que você remova esses repositórios agora, tornando a reconfigurá-los para as versões mais novas após o Upgrade!

Uma listagem típica dos repositórios costuma ser como a mostrada abaixo:

Observem que existem outros repositórios, além dos repositório padrão e de atualização! Então, antes de prosseguirmos, vamos remover os repositórios "extras" nesse momento.

  • Salvando os repositórios atuais 
DICA: Antes de alterar a lista atual de repositórios, você pode fazer uma espécie de backup, usando o comando zypper lr -e. Assim, depois do Upgrade, você pode abrir esse arquivo, para se lembrar de como as coisas eram antes! Algo como:

linux-9558:~ # zypper lr -e /home/magister/atuais.repo 
Os repositórios foram exportados para /home/magister/atuais.repo com sucesso. 

  • Removendo os repositórios "indesejáveis" no momento

Agora vamos finalmente remover os repositórios "extras":

linux-9558:~ # zypper rr 1 2 3 4 5 6 9 10 
(...) 


Assim, mantivemos os repositórios padrão e de atualização (7 e 8, 11 e 12).

  • Reconfigurando os repositórios atuais
O último passo antes do Upgrade é fazer os repositórios atuais apontarem para os endereços da versão mais nova do openSUSE. Podemos fazer isso alterando os arquivos contidos em /etc/zypp/repos.d/, todos de uma vez, com o comando sed!

linux-9558:~ # sed -i 's/42.2/15.0/g' /etc/zypp/repos.d/* 
(...) 

OBS.: Se sua versão for diferente, basta substituir o 42.2 pela versão que você usa (42.3, por exemplo).

  • Configuração preparada para o Upgrade 

A título de ilustração, mostramos na figura abaixo como as coisas devem estar nesse momento no Gerenciador de Repositórios!

Observem que o comando sed substituiu corretamente tudo o que era 42.2 por 15.0!

  • "Retoques finais" para o Upgrade

Finalmente, precisamos fazer um refresh nos caches de repositório:

linux-9558:~ # zypper ref
(...) 



Chegamos ao momento!

Estamos prontos para fazer o Upgrade via internet. Mas, temos algumas recomendações antes:

  1. É altamente recomendável que você faça o Upgrade fora do modo gráfico!
  2. Portanto, sugerimos fazer o Upgrade no runlevel 3 (texto + rede).
  3. Infelizmente, se seu computador estiver conectado à rede via Wi-Fi, pode ser que a rede pare de funcionar no runlevel 3. Para evitar isso você pode usar um "truque" para continuar no runlevel 5, mas fora do modo gráfico: Apertar simultaneamente Control-Alt-F1.
Dito isto, você faz o Upgrade digitando o seguinte comando:

linux-9558:~ # zypper dup 

Vai aparecer uma lista enorme de informações após esse comando, mostrando coisas do tipo:

Os seguintes 15 aplicativos serão instalados: 
(...) 
Os seguintes 924 pacotes NOVOS serão instalados: 
(...) 
Os seguintes 3 padrões NOVOS serão instalados: 
(...) 
Os seguintes 5 aplicativos serão REMOVIDOS: 
(...) 
Os seguintes 303 pacotes serão REMOVIDOS: 
(...) 
Os seguintes 7 padrões serão REMOVIDOS: 
(...) 
Os seguintes 1541 pacotes serão atualizados: 
(...) 
Os seguintes 29 padrões serão atualizados: 
(...) 
Os seguintes 454 pacotes serão desatualizados: 
(...) 

O seguinte produto será desatualizado: 
 openSUSE 

Os seguintes 9 pacotes irão alterar de arquitetura: 
(...)
Os seguintes 10 padrões irão alterar de arquitetura: 
(...)


Embora algumas dessas informações possam parecer bizarras, no final vai dar tudo certo, desde que você tenha configurado os repositórios corretamente!


A informação mais bizarra, sem dúvida, é a seguinte:


O seguinte produto será desatualizado:
openSUSE

( What a hell is going on?! )

Acreditamos que isso é uma daquelas situações não imaginadas pelos programadores do openSUSE: Que um dia uma versão mais atual (15.0) teria uma numeração inferior à que está substituindo (42.2)!

Bem, superado o trauma da (des)informação, iremos ver no final da lista alguma coisa como:

1541 pacotes a atualizar, 454 para desatualizar, 924 novos, 303 para remover, 9 para alterar de arquitetura. 
Tamanho total do download: 2,06 GiB. Já em cache: 0 B. Após a operação, 2,0 GiB adicionais serão utilizados. 
Continuar? [s/n/...? exibe todas as opções] (s): 


Agora é só cruzar os dedos, selecionar S(im) e apertar Enter, para prosseguir com o Upgrade. Quando o zypper concluir o upgrade, será necessário reiniciar o sistema, através de um simples:

linux-9558:~ # reboot 






Upgrade "a quente" misto: "the better way"

  • Essa terceira opção, na verdade, é uma dica!

Você pode adicionar a imagem do DVD de instalação do openSUSE na lista de repositórios antes de fazer o Upgrade. Isso trará uma grande vantagem: 75% dos pacotes que estão para ser baixados existem no DVD. Isso evitará que você faça o download de +/- 1.5 GB!

Mais uma vez, basta seguir as imagens capturadas mostradas logo a seguir, lendo os comentários...

  • Adicionando a imagem ISO do DVD 
Na interface gráfica, basta clicar no botão [ Adicionar ] do Gerenciador de Repositórios para chegar nessa tela:

Selecionar Imagem ISO local..., para adicionar o DVD de instalação

  • Informando o caminho da imagem ISO do DVD, e dando um nome para o repositório




  • Se preferir linha de comando, use o zypper

Alternativamente, e se você gosta das coisas mais simples(!), basta usar o zypper deste jeito:

zypper ar -c -t yast2 "iso:/?iso=/caminho/para/a/imagem.iso" "Nome_do_Repositorio

No nosso exemplo, o comando correspondente seria:

zypper ar -c -t yast2 "iso:/?iso=/local/ISO-Images/openSUSE/Leap15/openSUSE-Leap-15.0-DVD-x86_64-Current.iso" "openSuSE Leap-15.0"

  • Repositórios contendo o DVD de instalação! 




PRONTO!


A partir deste ponto, podemos continuar o Upgrade exatamente como mostrado algumas linhas atrás, a partir do ponto onde escrevemos:

Chegamos ao momento!

Estamos prontos para fazer o Upgrade via internet. Mas, temos algumas recomendações antes:





Até o próximo artigo...

3 comentários:

  1. No guia "oficial" (bastante confuso), também sugere isso, após "zypper ref", e antes do "zypper dup":

    # zypper patch --updatestack-only

    ResponderExcluir
    Respostas
    1. Obrigado pela informação! Vou checar essa recomendação também...

      Checando a documentação do zypper encontrei o significado desse comando:

      "patch [options]
      Install all available needed patches.

      If there are patches that affect the package management itself, those will be installed first and you will
      be asked to run the patch command again.

      This command is similar to zypper update -t patch.

      --updatestack-only
      Install only patches which affect the package management itself and exit."

      Isso equivale a fazer um zypper up, porém somente atualizando as CORREÇÕES que afetam o GERENCIAMENTO DE PACOTES em si mesmo (bastante confuso, rs). Traduzindo, ele atualiza apenas as correções de pacotes que se referem ao gerenciamento de pacotes (zypper, rpm, Etc).

      Se já prestaram atenção, algumas vezes o openSUSE sinaliza que há atualizações a fazer, e quando vamos ver, tem lá meia dúzia de pacotes. Fazemos essa atualização e, no momento seguinte, aparece DE NOVO que há atualizações a fazer, agora uma lista bem maior. Esse é o efeito de um patch --updatestack-only! Ele atualiza primeiro as correções no gerenciador de pacotes, se houver, depois faz um Refresh, e finalmente um Up!

      Entretanto, nessa versão oficial, mais atualizada, sugere atualizar o sistema para todos os pacotes mais novos, com um zypper refresh, seguido de um zypper update, antes de reconfigurar os repositórios, como está escrito no item 4. do artigo.

      Link para a versão oficial, inclusive testada no Leap 15.0:
      https://en.opensuse.org/SDB:System_upgrade

      Excluir
  2. Este comentário foi removido por um administrador do blog.

    ResponderExcluir