Veja nesse tutorial como atualizar do openSUSE Leap 15.3 para o openSUSE Leap 15.4. Como o Linux Kamarada é uma distribuição Linux baseada no openSUSE Leap, esse tutorial também mostrará como os usuários do Linux Kamarada 15.3 podem atualizar suas instalações para o Linux Kamarada 15.4.
Os mesmos números de versão indicam o alinhamento entre as distribuições e o procedimento para atualizá-las é bem parecido, tanto que ambas cabem no mesmo tutorial.
Hoje, o openSUSE Leap está na versão 15.4, lançada em junho. A versão anterior, a 15.3, foi lançada em junho do ano passado e, de acordo com uma notícia publicada recentemente no site do openSUSE, terá seu suporte encerrado com a virada do ano. Portanto, é recomendado a usuários do openSUSE Leap 15.3 atualizarem para o openSUSE Leap 15.4.
O Linux Kamarada está na versão 15.3, lançada em dezembro do ano passado. O Linux Kamarada 15.4 será lançado nos próximos dias. Por enquanto, temos a versão 15.4 RC, que já apresenta uma boa estabilidade. Nos meus testes, a atualização do Linux Kamarada 15.3 Final para o 15.4 RC ocorreu sem grandes problemas.
Como o Linux Kamarada 15.4 ainda não foi finalizado, não recomendo a atualização para todos os usuários. Mas, se você se sente “corajoso” e quer ajudar no desenvolvimento, testando a atualização e reportando quaisquer problemas, por favor, sinta-se à vontade.
O Linux Kamarada 15.4 Final foi lançado. A atualização é recomendada para todos os usuários do Linux Kamarada 15.3.
Para mais informações sobre a nova versão, leia:
Atualizar (fazer o upgrade) de uma versão para outra no openSUSE Leap é um processo fácil e tranquilo. Eu sigo a “receita de bolo” que aprendi na wiki do openSUSE. É praticamente a mesma “receita” desde 2012, quando comecei a usar o openSUSE. Como o Linux Kamarada é baseado no openSUSE Leap, sua atualização segue a mesma “receita”, a única diferença é a configuração de um repositório a mais, que é o do Linux Kamarada.
A seguir, você verá como atualizar o openSUSE Leap e o Linux Kamarada da versão 15.3 para a 15.4.
Observação: para não ficar repetitivo, o que eu falo sobre o openSUSE Leap se aplica às duas distribuições, o que eu falo sobre o Linux Kamarada é específico deste.
O repositório oficial do Linux Kamarada não é mais hospedado pela OSDN. Para mais informações, leia:
Este tutorial foi atualizado de acordo com essas mudanças.
Algumas recomendações
A atualização da distribuição (upgrade) no openSUSE Leap é um procedimento seguro, que deve funcionar para a maioria dos casos, mas que requer alguns cuidados. É sempre bom relembrar as recomendações a seguir.
Você deve estar usando a versão imediatamente anterior do openSUSE Leap. Isso quer dizer que se você pretende atualizar para a versão 15.4, deve estar usando agora a versão 15.3. Saltos de versões não são suportados. Podem funcionar, mas não há garantia. Portanto, se agora você está usando a versão 15.2, por exemplo, é melhor que primeiro atualize para a versão 15.3, para então atualizar para a versão 15.4.
Sua instalação do openSUSE Leap deve estar atualizada com as versões mais recentes dos pacotes lançadas até o momento. Observe que há dois tipos de atualização: neste post, você vai ver como atualizar a distribuição (upgrade), mas antes você deve atualizar os pacotes (update). Para mais informações sobre os dois tipos de atualizações e como atualizar os pacotes, consulte o post:
Você deve se informar sobre a versão do openSUSE Leap que vai instalar. Consulte as notas de lançamento, que descrevem o que muda na nova versão e listam alguns bugs conhecidos, como preveni-los e/ou solucioná-los.
Você deve fazer uma cópia de segurança (backup) de arquivos importantes. apesar de a atualização do openSUSE ser segura (fazendo lembrar, para quem conhece, a atualização do Debian), não quer dizer que seja perfeita. Ganhar na loteria é difícil, mas uma hora alguém ganha. Algo dar errado na atualização é difícil, especialmente se você toma todos os cuidados, mas pode acontecer. Eu, particularmente, já atualizei algumas vezes sem problema. Nunca é demais fazer uma cópia dos seus arquivos pessoais por precaução, especialmente se a pasta /home
não está em uma partição reservada. Se o computador não pode ficar parado por muito tempo (um servidor, por exemplo), considere fazer uma cópia de todo o sistema, a fim de restaurá-la imediatamente caso algo não funcione como esperado.
Você não deve usar repositórios não oficiais (de terceiros) durante a atualização. Antes de começar a atualização (upgrade), removeremos os repositórios de terceiros. É possível que isso ocasione a remoção também de programas de terceiros. Você pode devolvê-los depois. Isso não quer dizer que não seja possível atualizar com esses repositórios presentes, mas usar apenas os repositórios oficiais é mais garantido. A base do sistema será atualizada para uma nova base estável, sólida, confiável. Depois, sobre essa base, você poderá instalar o que quiser. Faça diferente dessa recomendação apenas se souber o que está fazendo.
Recomendo também que você leia toda essa página antes de começar de fato a agir. Para organizá-la melhor, vou dividi-la em 6 etapas. Conhecendo todo o processo, você terá condição de agendá-lo melhor. Você pode até fazer outras coisas usando o computador enquanto segue o passo a passo, mas depois que começar a atualização (upgrade), só poderá usar o computador quando ela for concluída.
1) Atualização dos pacotes (update)
Certifique-se de que sua instalação do openSUSE Leap está atualizada. Para isso, execute o comando zypper up
como usuário root (administrador). Ele deve informar que não há o que fazer:
Para mais informações sobre atualização de pacotes (update), consulte o post:
2) Backup dos repositórios atuais
Essa etapa, na verdade, é opcional.
Talvez você queira fazer backup da sua lista atual de repositórios para devolvê-la depois da atualização. O openSUSE Leap guarda as configurações de repositórios na pasta /etc/zypp/repos.d
, sendo um arquivo de texto para cada repositório.
Vamos copiar a pasta repos.d
, em /etc/zypp
, para outra no mesmo lugar, chamada repos.d.antigos
. Para isso, usaremos a interface de linha de comando.
Se não já o fez, alterne do seu usuário para o usuário root executando o comando:
1
$ su
Forneça a senha do usuário root para continuar.
Se você já fez alguma atualização de versão seguindo alguma edição anterior desse mesmo tutorial, talvez ainda tenha o backup antigo guardado. Se esse é o seu caso, execute o comando a seguir para excluir a pasta repos.d.antigos
:
1
# rm -rf /etc/zypp/repos.d.antigos
Então, ordene a cópia:
1
# cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.antigos
Se você ainda não fez backup dos seus arquivos pessoais e/ou do seu sistema, considere fazê-lo agora.
3) Faxina dos repositórios
Como expliquei antes, durante a atualização usaremos apenas os repositórios oficiais. Mais especificamente, apenas dois deles, no caso do openSUSE Leap:
- Main Repository (repositório principal): contém apenas softwares de código aberto (do inglês open source sofware, OSS).
URL: http://download.opensuse.org/distribution/leap/$releasever/repo/oss/
URL calculada para o 15.3: http://download.opensuse.org/distribution/leap/15.3/repo/oss/
- Main Update Repository (repositório de atualização principal): contém atualizações (updates) oficiais para os pacotes do repositório principal.
URL: http://download.opensuse.org/update/leap/$releasever/oss/
URL calculada para o 15.3: http://download.opensuse.org/update/leap/15.3/oss/
Note que o sistema automaticamente substitui a variável $releasever
pela versão da distribuição sendo usada no momento.
No caso do Linux Kamarada, além dos repositórios acima, usaremos também o repositório oficial do Linux Kamarada, antes hospedado pela OSDN, e agora hospedado em packages.linuxkamarada.com. Portanto, note que nesse caso haverá uma mudança de URL.
URL antiga: http://c3sl.dl.osdn.jp/storage/g/k/ka/kamarada/$releasever/openSUSE_Leap_$releasever/
URL nova: https://packages.linuxkamarada.com/$releasever/openSUSE_Leap_$releasever/
URL nova calculada para o 15.3: https://packages.linuxkamarada.com/15.3/openSUSE_Leap_15.3/
Vamos fazer uma faxina nos repositórios, excluindo quaisquer outros repositórios configurados (vamos excluir inclusive quaisquer repositórios de terceiros).
Abra o Centro de Controle do YaST. Para isso, clique em Mostrar aplicativos, no canto inferior esquerdo da tela, e clique no ícone do YaST, no final da lista de aplicativos:
Será solicitada a você a senha do usuário root. Digite-a e clique em Continuar:
Dentro da categoria Software, a primeira, clique no item Repositórios de software:
Você será apresentado à lista de repositórios do seu sistema:
Para cada repositório que não seja um dos listados acima, selecione o repositório na lista e clique em Remover.
Aparecerá uma mensagem de confirmação. Clique em Sim:
Faça isso com todos os repositórios até que só sobrem os repositórios listados acima:
Esses repositórios podem estar com nomes diferentes no seu computador. Se esse for o caso, você pode se orientar pela URL em vez do nome. Se não encontrá-los, não tem problema: adicione-os, informando as URLs acima.
4) Repositórios da nova versão
Nessa etapa, em edições anteriores desse tutorial, editávamos os repositórios um a um, substituindo a versão anterior da distribuição (15.3) pela versão nova (15.4). Agora que temos a variável $releasever
, isso não é mais necessário.
Apenas selecione cada um dos seus repositórios e confira se seu URL Bruto contém a variável $releasever
:
Caso a versão da distribuição (no momento, 15.3
) apareça em algum trecho do URL Bruto, clique em Editar. Na tela que aparece, substitua essa versão por $releasever
e clique em OK:
No caso do Linux Kamarada, selecione o repositório na lista e clique em Editar. Na tela que aparece, substitua a URL do repositório por:
1
https://packages.linuxkamarada.com/$releasever/openSUSE_Leap_$releasever/
Observe que a variável $releasever
aparece duas vezes. Clique em OK.
Ao final, sua lista de repositórios deve estar assim:
Clique em OK para gravar as alterações. Pode fechar o YaST.
5) Download dos pacotes
Já podemos começar a baixar os pacotes da nova versão do openSUSE Leap.
De volta à interface de linha de comando, baixe a lista de pacotes dos novos repositórios (note que vamos usar a opção --releasever=15.4
para indicar o uso da versão nova):
1
# zypper --releasever=15.4 ref
Depois, execute o comando:
1
# zypper --releasever=15.4 dup --download-only --allow-vendor-change
(distribution upgrade, atualização da distribuição, download only, apenas baixar, allow vendor change, permitir mudanças de fornecedor)
Usamos a opção --allow-vendor-change
porque o openSUSE Leap compartilha pacotes RPM com o SUSE Linux Enterprise (não apenas o código-fonte, como nas versões anteriores, mas até mesmo os pacotes binários, já compilados). Por isso, o gerenciador de pacotes zypper poderia acusar muitas mudanças de fornecedor durante a atualização. A opção --allow-vendor-change
faz com que o zypper aceite essas mudanças de antemão.
O gerenciador de pacotes zypper passa um tempo “pensando”. Depois, mostra as alterações que precisa fazer no sistema para atualizar o openSUSE Leap para a próxima versão (quais pacotes serão atualizados, quais serão removidos, quais mudarão de fornecedor, etc) e pergunta se você deseja continuar:
Note que essa lista de ações é semelhante à produzida pelo comando zypper up
, apresentado no post sobre atualização de pacotes. No entanto, como agora estamos fazendo uma atualização de distribuição, a lista do que precisa ser feito é bem maior.
Confira essa lista com cuidado. Você pode ir para cima ou para baixo usando a barra de rolagem à direita da tela ou a roda (scroll) do mouse, se utiliza o Terminal, ou as combinações de teclas Shift + Page Up ou Shift + Page Down, se está em uma interface puramente textual (elas também funcionam no Terminal).
A opção padrão é continuar (s). Se você concorda, pode apenas teclar Enter e o download dos novos pacotes começará. Enquanto aguarda, você pode usar seu computador normalmente. A atualização propriamente dita ainda não começou.
Observe que o zypper apenas baixa os pacotes, ele não inicia a atualização:
Isso porque ordenamos a ele por ora apenas baixar os pacotes (opção --download-only
).
Termine o que está fazendo e salve os arquivos abertos para iniciarmos a atualização da distribuição. Note que ela pode levar alguns (vários) minutos e você só poderá voltar a usar o computador quando ela for concluída.
6) Atualização da distribuição (upgrade)
Agora que já baixamos os pacotes necessários para atualizar o openSUSE Leap da versão 15.3 para a 15.4, vamos sair da interface gráfica e usar a linha de comando para realizar a instalação. Aqui, você não poderá usar o Terminal.
Isso é necessário porque inclusive a própria interface gráfica será atualizada. Se estivermos usando a interface gráfica durante a atualização, pode ser que o sistema trave no meio da processo e as consequências disso são imprevisíveis.
Considere abrir essa página em outro computador, em um smartphone ou tablet, imprimi-la ou anotar o que vai fazer.
Se o sistema que você vai atualizar está em um notebook, certifique-se de que ele esteja com a bateria completamente carregada e conectado à fonte de alimentação. Não desconecte a bateria ou a fonte durante a atualização. Vamos prevenir qualquer possibilidade de problema.
Encerre sua sessão (logout). Para isso, clique no menu do sistema, no canto superior direito da tela, clique no seu nome de usuário e escolha a opção Encerrar sessão:
Você será apresentado à tela de login, onde você poderia informar seu nome de usuário e senha caso quisesse iniciar uma nova sessão na interface gráfica:
Mas não é isso que queremos. Aperte a combinação de teclas Ctrl + Alt + F1 para alternar para uma interface puramente textual:
Caso isso seja novidade para você, saiba que o Linux disponibiliza seis consoles (terminais) além da interface gráfica. Você pode usar as teclas de F1 a F6 na mesma combinação (Ctrl + Alt + F1, Ctrl + Alt + F2 e assim por diante) para alternar entre os consoles, assim como pressionar Ctrl + Alt + F7 para retornar à interface gráfica.
Vamos permanecer no primeiro console.
Entre com o usuário root. Para isso, digite root
e tecle Enter. Depois, digite a senha do usuário root e tecle Enter.
Vamos alternar do nível de execução (runlevel) 5, nível padrão, no qual o sistema nos provê interface gráfica, para o nível de execução 3, no qual temos apenas a interface de linha de comando e conexão de rede.
Para alterar o nível de execução para 3, execute o comando:
1
# init 3
Finalmente, vamos realizar a atualização de distribuição propriamente dita. Para isso, execute o comando (se atente, também aqui, às mesmas opções que usamos antes):
1
# zypper --no-refresh --releasever=15.4 dup --allow-vendor-change
A opção --no-refresh
faz com que o zypper não atualize a lista de pacotes dos repositórios. Com isso, garantimos que ele não tente baixar mais algum pacote além dos que nós já baixamos. Isso pode ser útil especialmente em notebooks, que podem perder a conexão com a rede Wi-Fi ao sair da interface gráfica.
Como antes, o zypper vai processar a atualização e mostrar o que vai fazer (se antes ele fez perguntas sobre as mudanças, e agora ele repetir as mesmas perguntas, responda da mesma forma):
Note que todos os pacotes que ele precisa já foram baixados: ao final ele mostra “Tamanho total do download: 0 B. Já em cache: 2,18 GiB.”
Apenas tecle Enter para que a atualização comece.
O zypper pula o download dos pacotes e já vai direto para a instalação:
A atualização da distribuição pode demorar alguns (vários) minutos.
Quando ela terminar, o zypper vai sugerir reiniciar. É o que vamos fazer executando:
1
# reboot
Pronto
Se você conseguiu fazer tudo até aqui, seu computador já está com o Linux Kamarada 15.4 (ou com o openSUSE Leap 15.4) e ele já está pronto para uso:
Verifique se está tudo no lugar.
Agora você pode devolver os repositórios que excluiu, lembrando de substituir a versão do openSUSE Leap, onde aparecer, pela variável $releasever
. Pela interface de linha de comando, fazer isso é fácil:
1
2
# sed -i 's/15.3/$releasever/g' /etc/zypp/repos.d.antigos/*
# mv /etc/zypp/repos.d.antigos/* /etc/zypp/repos.d/
Feito isso, você pode excluir o backup da sua antiga lista de repositórios:
1
# rm -rf /etc/zypp/repos.d.antigos/
Você também pode tentar instalar qualquer programa que por ventura tenha sido removido durante a atualização.
Solução de problemas
Quem usa o Linux Kamarada deve se atentar a alguns detalhes da atualização do 15.3 para o 15.4: nos meus testes, após a atualização, o Terminal do GNOME não abria. Como alternativa, se eu abrisse o XTerm, ele iniciava mostrando uma mensagem de erro, “comando não encontrado”:
Quanto ao Terminal do GNOME não abrir, encontrei um relato de problema semelhante que acontecia no Ubuntu e adaptei a solução para o openSUSE.
Para corrigir esse problema, aperte a combinação de teclas Alt + F2, digite:
1
gnomesu gedit /etc/sysconfig/language
E tecle Enter.
Forneça a senha do usuário root para continuar.
No arquivo, localize a linha:
1
RC_LC_ALL=""
E mude para:
1
RC_LC_ALL="pt_BR.UTF-8"
Localize também a linha:
1
ROOT_USES_LANG="ctype"
E mude para:
1
ROOT_USES_LANG="yes"
Salve o arquivo e reinicie o computador.
Feito isso, já deve ser possível iniciar o Terminal do GNOME. Porém, ele agora também exibe a mensagem “comando não encontrado”, que nem o XTerm.
Essa mensagem de erro se deve a uma alteração que foi feita no Base16 Shell, o script responsável por personalizar as cores do terminal no Linux Kamarada. Instalações novas do Linux Kamarada 15.4 (“feitas do zero”, usando a mídia baixada da página Download) não devem apresentar esse problema, mas quem atualizar do 15.3 para o 15.4 pode se deparar com ele.
Repita o mesmo procedimento, mas para abrir outro arquivo, com o comando:
1
gnomesu gedit /etc/bash.bashrc.local
O arquivo aberto terá o seguinte conteúdo:
1
2
3
4
5
6
7
# Base16 Shell
# https://github.com/chriskempson/base16-shell
BASE16_SHELL="/usr/share/base16-shell/"
[ -n "$PS1" ] && \
[ -s "$BASE16_SHELL/profile_helper.sh" ] && \
eval "$("$BASE16_SHELL/profile_helper.sh")"
Substitua por:
1
2
3
4
5
6
7
# Base16 Shell
# https://github.com/chriskempson/base16-shell
BASE16_SHELL="/usr/share/base16-shell"
[ -n "$PS1" ] && \
[ -s "$BASE16_SHELL/profile_helper.sh" ] && \
source "$BASE16_SHELL/profile_helper.sh"
(a título de curiosidade, você pode ver as diferenças neste commit)
E salve o arquivo.
Feche o Terminal do GNOME e abra-o novamente.
A mensagem de erro não deve aparecer mais.
Ambos os problemas foram resolvidos.
Conclusão
Se lembre de regularmente verificar se há atualizações (updates) para sua nova distribuição. Note que no uso cotidiano do zypper você não precisa usar a opção --releasever
.
Se você encontrou alguma dificuldade durante a atualização ou possui alguma dúvida, não deixe de comentar!
Até a próxima!