5 Fazendo upgrade online #
A SUSE oferece uma ferramenta gráfica intuitiva e uma ferramenta de linha de comando simples para fazer upgrade de um sistema em execução para um novo pacote de serviço. Elas oferecem suporte para “rollback” de pacotes de serviço e muito mais. Este capítulo apresenta instruções passo a passo sobre como fazer o upgrade de um pacote de serviço usando essas ferramentas.
5.1 Visão geral conceitual #
A SUSE lança novos pacotes de serviço para a família do SUSE Linux Enterprise regularmente. Para facilitar aos clientes a migração para um novo pacote de serviço e minimizar o tempo de espera, o SUSE suporta a migração online durante a execução do sistema.
A partir do SLE 12, o YaST Wagon foi substituído pela migração do YaST (GUI) e pela migração do Zypper (linha de comando). Esse procedimento tem as seguintes vantagens:
O sistema está sempre em um estado definido até a atualização do primeiro RPM.
Cancelamento possível até a atualização do primeiro RPM.
Recuperação simples em caso de erro.
É possível fazer um “rollback” por meio das ferramentas do sistema. Não há necessidade de backup ou de restauração.
Uso de todos os repositórios ativos.
Capacidade de ignorar um pacote de serviço
A migração online é suportada apenas para migração entre pacotes de serviço. A migração online não é suportada para fazer upgrade para novas versões principais. Para obter os detalhes, consulte a Capítulo 2, Upgrade de caminhos e métodos.
Use a migração offline para fazer upgrade para uma nova versão principal. Para obter os detalhes, consulte a Capítulo 4, Fazendo upgrade offline.
Se o sistema do qual será feito o upgrade for um cliente do SUSE Multi-Linux Manager, não será possível fazer upgrade dele por meio da migração online do YaST ou do comando zypper migration
. Em vez disso, siga o procedimento de Client Migration (Migração do cliente). Ele está descrito no SUSE Multi-Linux Manager Upgrade Guide.
5.2 Workflow de migração de pacote de serviço #
É possível executar a migração do pacote de serviço pelo YaST, zypper
ou AutoYaST.
Antes de começar a migração de um pacote de serviço, o sistema deve ser registrado no SUSE Customer Center ou em um servidor RMT local. É possível também usar o SUSE Multi-Linux Manager.
Independentemente do método, a migração de service pack consiste nas seguintes etapas:
Localize os destinos de migração possíveis em seus sistemas registrados.
Selecione um destino de migração.
Solicite e habilite novos repositórios.
Execute a migração.
A lista de destinos de migração depende dos produtos que você instalou e registrou. Se você tem uma extensão instalada para a qual ainda não há um novo SP disponível, talvez nenhum destino de migração seja oferecido a você.
A lista de destinos de migração disponíveis para o seu host sempre será recuperada do SUSE Customer Center e depende dos produtos ou extensões instalados.
5.3 Cancelando a migração do pacote de serviço #
É possível cancelar a migração de um pacote de serviço apenas em fases específicas durante o processo de migração:
Até o upgrade do pacote ser iniciado, há apenas mudanças mínimas no sistema, como mudanças em serviços e repositórios. Restaure
/etc/zypp/repos.d/*
para reverter ao estado anterior.Depois que o upgrade do pacote é iniciado, você pode reverter ao estado anterior usando um instantâneo do Snapper (consulte o Chapter 10, System recovery and snapshot management with Snapper).
Depois que o destino de migração for selecionado, o SUSE Customer Center mudará os dados do repositório. Para reverter esse estado manualmente, use
SUSEConnect
‑‑rollback
.
5.4 Fazendo upgrade com a ferramenta de migração online (YaST) #
Para executar a migração de service pack com o YaST, use a ferramenta
. Por padrão, o YaST não instala nenhum pacote de um repositório de terceiros. Se um pacote foi instalado de um repositório de terceiros, o YaST impede que os pacotes sejam substituídos pelo mesmo pacote que vem do SUSE.Ao executar a migração do Pacote de Serviço, o YaST instalará todos os pacotes recomendados. Principalmente no caso das instalações mínimas personalizadas, isso pode aumentar o tamanho da instalação do sistema de forma significativa.
Para mudar este comportamento padrão e permitir apenas os pacotes necessários, ajuste a opção solver.onlyRequires
em /etc/zypp/zypp.conf
.
solver.onlyRequires = true
Além disso, edite o arquivo /etc/zypp/zypper.conf
e altere a opção installRecommends
.
installRecommends=false
Isso muda o comportamento de todas as operações de pacote, como a instalação de patches ou novos pacotes. Para mudar o comportamento do Zypper para uma única chamada, use o parâmetro --no-recommends
.
Para iniciar a migração do pacote de serviço, faça o seguinte:
Desative todas as extensões não utilizadas em seu servidor de registro para evitar conflitos futuros de dependência. Se você se esquecer de uma extensão, o YaST detectará posteriormente os repositórios de extensões não utilizadas e as desativará.
Se você efetuou login em uma sessão do GNOME em execução na máquina que você pretende atualizar, alterne para um console de texto. Não é recomendável executar a atualização de uma sessão GNOME. Observe que isso não se aplica quando o login é efetuado de uma máquina remota (a menos que você esteja executando uma sessão VNC com GNOME).
Execute a atualização online do YaST para obter as atualizações de pacote mais recentes para o seu sistema.
Instale o pacote yast2-migration e suas dependências (no YaST em › ).
Reinicie o YaST; do contrário, o módulo recém-instalado não será mostrado no centro de controle.
No YaST, escolha SUSE Linux Enterprise Server da qual você está fazendo upgrade, este módulo será classificado como ou ). O YaST mostra os destinos de migração possíveis e um resumo. Se houver mais de um destino de migração disponível para o seu sistema, selecione um deles na lista.
(dependendo da versão doSelecione um destino de migração na lista e clique em
para continuar.Se a ferramenta de migração oferecer repositórios de atualização, a recomendação será clicar em
para continuar.Se a ferramenta de migração online encontrar repositórios obsoletos de DVD ou de um servidor local, será altamente recomendado desabilitá-los. Os repositórios obsoletos se referem a um service pack anterior. Os repositórios antigos do SUSE Customer Center ou da RMT são removidos automaticamente.
Se o servidor de registro não oferecer migrações para um módulo ou uma extensão, sua configuração de repositório permanecerá inalterada. Geralmente, isso acontece com repositórios de terceiros, como o
, que não são específicos a uma versão de produto ou um pacote de serviço. Se necessário, você poderá verificar manualmente a configuração do repositório após a migração.Confira o resumo e clique em
para continuar a migração. Clique em para confirmar.Reinicie o sistema após a migração bem-sucedida.
5.5 Fazendo upgrade com o Zypper #
Para executar uma migração de service pack com o Zypper, use a ferramenta de linha de comando zypper
migration
do pacote zypper-migration-plugin.
Ao executar a migração do Pacote de Serviço, o YaST instalará todos os pacotes recomendados. Principalmente no caso das instalações mínimas personalizadas, isso pode aumentar o tamanho da instalação do sistema de forma significativa.
Para mudar este comportamento padrão e permitir apenas os pacotes necessários, ajuste a opção solver.onlyRequires
em /etc/zypp/zypp.conf
.
solver.onlyRequires = true
Além disso, edite o arquivo /etc/zypp/zypper.conf
e altere a opção installRecommends
.
installRecommends=false
Isso muda o comportamento de todas as operações de pacote, como a instalação de patches ou novos pacotes. Para mudar o comportamento do Zypper para uma única chamada, use o parâmetro --no-recommends
.
Para iniciar a migração do pacote de serviço, faça o seguinte:
Se você efetuou login em uma sessão do GNOME em execução na máquina que você pretende atualizar, alterne para um console de texto. Não é recomendável executar a atualização de uma sessão GNOME. Observe que isso não se aplica quando o login é efetuado de uma máquina remota (a menos que você esteja executando uma sessão VNC com GNOME).
Registre a máquina do SUSE Linux Enterprise, caso ainda não tenha feito isso:
>
sudo
SUSEConnect
--regcode YOUR_REGISTRATION_CODEInicie a migração:
>
sudo
zypper migration
Algumas observações sobre o processo de migração:
Se houver mais de um destino de migração disponível para o seu sistema, o Zypper permitirá selecionar um SP na lista. Isso equivale a ignorar um ou mais SPs. Lembre-se de que a migração online para produtos base (SLES, SLED) permanece disponível apenas entre os SPs de uma versão principal.
Por padrão, o Zypper usa a opção
--no-allow-vendor-change
, que é passada para ozypper
dup
. Se um pacote foi instalado de um repositório de terceiros, essa opção impede que os pacotes sejam substituídos pelo mesmo pacote que vem do SUSE.Se o Zypper encontrar repositórios obsoletos de DVD ou de um servidor local, será altamente recomendado desabilitá-los. Os repositórios antigos do SUSE Customer Center ou da RMT são removidos automaticamente.
Revise todas as mudanças, principalmente os pacotes que serão removidos. Digite
y
para continuar (o número exato de pacotes para upgrade pode variar de acordo com o sistema):266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch. Overall download size: 285.1 MiB. Already cached: 0 B After the operation, additional 139.8 MiB will be used. Continue? [y/n/? shows all options] (y):
Use as teclas Shift–Page ↑ ou Shift–Page ↓ para mover a barra de rolagem no shell.
Reinicie o sistema após a migração bem-sucedida.
5.6 Fazendo upgrade com o Zypper simples #
Se seu sistema não foi registrado porque você não tem acesso à Internet ou um servidor de registro, a migração para um novo pacote de serviço não é possível com a Migração do YaST ou o zypper migration
. Nesse caso, você ainda pode migrar para um novo pacote de serviço com o Zypper simples e algumas interações manuais.
Este caminho de migração para um novo pacote de serviço é suportado apenas para sistemas não registrados sem acesso à Internet ou um servidor de registro. Por exemplo, pode ser o caso de máquinas em uma rede com proteção especial. Se você tem um sistema registrado, use a migração do YaST ou do Zypper.
Esse caminho de migração requer que o sistema de destino da migração tenha acesso às fontes de instalação. Por exemplo, é possível fazer isso configurando um servidor RMT ou SLP.
É necessário também que o sistema tenha acesso ao repositório de atualizações mais recente para a versão do produto instalado.
Se você efetuou login em uma sessão gráfica em execução na máquina que você pretende migrar, efetue logout dessa sessão e alterne para um console de texto. Não é recomendável executar a atualização de uma sessão gráfica. Observe que isso não se aplica quando o login é efetuado de uma máquina remota (a menos que você esteja executando uma sessão VNC com X).
Atualize as ferramentas de gerenciamento de pacotes:
>
sudo
zypper
patch --updatestack-onlyCertifique-se de que todos os arquivos de configuração do repositório do SUSE Linux Enterprise Server em
/etc/zypp/repos.d/
usem a variável$releasever
:>
grep baseurl /etc/zypp/repos.d/*.repo
/etc/zypp/repos.d/rmt.repo:baseurl=https://rmt.example.com/repo/SUSE/Products/SLE-15-SP5-Product-SLES/x86_64/product/ /etc/zypp/repos.d/updates.repo:baseurl=https://updates.suse.com/SUSE/Products/SLE-Product-SLES/$releasever/x86_64/product[...]Neste exemplo, o arquivo
updates.repo
usa a variável, enquantormt.repo
codifica a string de versão15-SP5
. Para substituir todas as ocorrências de15-SP5
por$releasever
em todos os arquivos de configuração do repositório, execute:>
sudo
sed -i 's/15-SP5/${releasever}/g' /etc/zypp/repos.d/*.repo
Se necessário, repita esse comando com strings de versões diferentes para garantir que todos os arquivos de configuração do repositório sejam atualizados.
Verifique se todos os repositórios estão configurados corretamente:
>
sudo
zypper --releasever=15-SP7 repos -u
Agora você deve ver
15-SP7
nos URLs do repositório. Observe que alguns repositórios de terceiros podem não ter versão. Supõe-se que eles funcionem para todas as versões do SUSE Linux Enterprise Server.Altere e atualize todos os repositórios para 15 SP7:
>
sudo
zypper --releasever=15-SP7 refresh -f -s
Em caso de falha na atualização de um repositório, verifique se você não inseriu o URL incorreto. Se não for possível corrigir o problema, a recomendação será desabilitar o repositório com falha.
Teste a migração:
>
sudo
zypper --releasever=15-SP7 dup -D --no-allow-vendor-change --no-recommends
O parâmetro
-D
fará uma simulação da migração sem de fato mudar o sistema. Se houver problemas, corrija-os antes de continuar.A opção
-no-allow-vendor-change
impede que pacotes de terceiros substituam os pacotes RPM do sistema básico. A opção--no-recommends
garante que os pacotes desmarcados durante a instalação inicial não sejam adicionados novamente.Execute o upgrade completo da distribuição:
>
sudo
zypper --releasever=15-SP7 dup --no-allow-vendor-change --no-recommends
Com o comando acima, o Zypper baixa todos os pacotes antecipadamente, o que é mais confiável caso sua conexão com a Internet falhe. Para baixar e instalar pacotes em massa, execute:
>
sudo
zypper zypper --releasever=15-SP7 dup --no-allow-vendor-change --no-recommends --download-in-heaps
Quando a atualização da distribuição estiver concluída, o SUSE Linux Enterprise Server definirá a variável
$releasever
para a nova versão, e você não precisará mais especificá-la com a opção--releasever
.Reinicie o sistema após a migração bem-sucedida.
5.7 Voltando um pacote de serviço #
Se um pacote de serviço não funcionar para você, o SUSE Linux Enterprise permitirá reverter o sistema ao estado anterior à inicialização da migração do pacote de serviço. O pré-requisito é uma partição raiz Btrfs com instantâneos habilitados (este é o padrão desde o SLES 12). Consulte Chapter 10, System recovery and snapshot management with Snapper para obter os detalhes.
Confira uma lista de todos os instantâneos do Snapper:
>
sudo
snapper listRevise a saída para localizar o instantâneo que foi criado logo antes da inicialização da migração do pacote de serviço. A coluna
contém uma declaração correspondente, e o instantâneo está marcado comoimportant
na coluna . Memorize o número do instantâneo da coluna e a data da coluna .Reinicialize o sistema. No menu de boot, selecione 15 SP7 e inicialize o sistema.
e escolha o instantâneo com a data e o número que você memorizou na etapa anterior. Um segundo menu de boot (aquele do instantâneo) é carregado. Selecione a entrada que começa com SLESO sistema é inicializado no estado anterior com a partição do sistema montada como apenas leitura. Efetue login como
root
e verifique se você escolheu o instantâneo correto. Verifique também se tudo funciona conforme o esperado. Como o sistema de arquivos raiz está montado como apenas leitura, pode haver restrições de funcionalidade.Em caso de problemas ou se você inicializou o instantâneo errado, reinicialize e escolha outro instantâneo do qual inicializar. Até este ponto, não foram feitas mudanças permanentes. Se o instantâneo está correto e funciona conforme o esperado, faça a mudança permanente executando o seguinte comando:
>
sudo
snapper rollbackReinicialize a máquina. Na tela de boot, escolha a entrada de boot padrão para reinicializar no sistema restaurado.
Verifique se a configuração do repositório foi redefinida apropriadamente. Verifique também se todos os produtos foram registrados apropriadamente. Se não for nenhum desses casos, a atualização do sistema em um momento posterior talvez não funcione mais, ou o sistema pode ser atualizado usando os repositórios de pacotes errados.
Verifique se o sistema pode acessar a Internet antes de iniciar este procedimento.
Atualize serviços e repositórios executando
>
sudo
zypper ref -fsObtenha uma lista de repositórios ativos executando
>
sudo
zypper lrVerifique cuidadosamente a saída deste comando. Não deve aparecer na lista serviços e repositórios que foram adicionados para a atualização. Por exemplo, se você estiver voltando do SLES 15 SP7 para o SLES15 GA, a lista deverá incluir os repositórios
SLES15-GA
, e não os repositóriosSLES15-SP7
.Se na lista constar os repositórios incorretos, apague-os e, se necessário, substitua-os pelas versões correspondentes à versão do produto ou do pacote de serviço. Para obter uma lista de repositórios para os caminhos de migração suportados, consulte a Seção 1.3, “Dependências de módulos e ciclos de vida”. Observe que a intervenção manual talvez não seja necessária, já que os repositórios devem ser atualizados automaticamente, mas a melhor prática é verificar e fazer as correções pertinentes.
Por fim, verifique o status do registro para todos os produtos instalados executando
>
sudo
SUSEConnect --statusTodos os produtos devem ser relatados como
Registered
(Registrados). Se não for esse o caso, conserte o registro executando>
sudo
SUSEConnect --rollback
Agora, você reverteu com êxito o sistema ao estado que foi capturado logo antes da inicialização da migração do pacote de serviço.
5.8 Fazendo upgrade com o SUSE Multi-Linux Manager #
O SUSE Multi-Linux Manager é uma solução de servidor que oferece atualizações, patches e correções de segurança para clientes SUSE Linux Enterprise. Ele vem com um conjunto de ferramentas e uma interface do usuário baseada na Web para as tarefas de gerenciamento. Consulte https://www.suse.com/products/multi-linux-manager/ para obter mais informações sobre o SUSE Multi-Linux Manager.
A Migração do pacote de serviço permite migrar entre pacotes de serviço dentro de uma versão principal (por exemplo, do SLES 15 GA para o SLES 15 SP7).
Se sua máquina for gerenciada pelo SUSE Multi-Linux Manager, atualize-a conforme descrito na documentação do SUSE Multi-Linux Manager. O procedimento de Client Migration (Migração do cliente) está descrito no SUSE Multi-Linux Manager Upgrade Guide (Guia de Upgrade do SUSE Multi-Linux Manager) disponível no site https://documentation.suse.com/multi-linux-manager/.
5.9 Fazendo upgrade do openSUSE Leap para o SUSE Linux Enterprise Server #
Você pode fazer upgrade de uma instalação do openSUSE Leap para o SUSE Linux Enterprise Server. Para saber quais versões do Leap são suportadas para migração, consulte a Seção 2.3, “Caminhos de upgrade e migração suportados para o SLES 15 SP7”.
O openSUSE oferece mais pacotes do que o SUSE Linux Enterprise Server. A maioria dos pacotes adicionais está disponível no SUSE Package Hub e será migrada. Os pacotes adicionais que não estiverem disponíveis por meio do SUSE Package Hub não receberão mais atualizações após a migração e, portanto, deverão ser removidos posteriormente.
Verifique se todos os pacotes necessários para operação do seu sistema estão disponíveis nos repositórios do SUSE Linux Enterprise Server e do SUSE Package Hub. Para obter mais informações sobre o SUSE Package Hub, consulte https://packagehub.suse.com/.
5.9.1 Fazendo upgrade com yast2 migration
#
O procedimento a seguir é semelhante ao da Seção 5.4, “Fazendo upgrade com a ferramenta de migração online (YaST)”, mas requer algumas etapas adicionais. Antes de executar esse procedimento em um sistema de produção, recomendamos que ele seja executado em um sistema de teste que replique a configuração da produção.
yast2 migration
#Para migrar do openSUSE Leap para o SUSE Linux Enterprise Server, siga as etapas abaixo:
Feche todos os aplicativos não utilizados e alterne para um TTY, por exemplo, pressionando Ctrl–Alt–F1. Em seguida, efetue login como
root
.Instale os pacotes yast2-migration e rollback-helper:
#
zypper in yast2-migration rollback-helper
Habilite o serviço
rollback-helper
:#
systemctl enable rollback
Registre o sistema no SUSE Customer Center:
#
yast2 registration
Execute a migração:
#
yast2 migration
Em caso de conflito de pacotes, o YaST apresenta uma lista de resoluções para você fazer a sua escolha.
Reinicialize o sistema:
#
reboot
Você migrou com êxito seu sistema para o SUSE Linux Enterprise Server. Continue com Capítulo 6, Concluindo o upgrade e remova os pacotes órfãos para garantir que você esteja executando uma instalação do SUSE Linux Enterprise com suporte total.
Se você tiver algum problema após a migração, poderá revertê-la como um upgrade de pacote de serviço. Para obter instruções, consulte a Seção 5.7, “Voltando um pacote de serviço”.
5.9.2 Fazendo upgrade com yast2 migration_sle
#
Uma migração simplificada do openSUSE Leap para o SUSE Linux Enterprise Server está disponível como uma prévia de tecnologia a partir do Leap 15.4.
yast2 migration_sle
#Para migrar do openSUSE Leap para o SUSE Linux Enterprise Server, siga as etapas abaixo:
Feche todos os aplicativos não utilizados (recomendado).
Instale os pacotes yast2-migration-sle e rollback-helper:
>
sudo
zypper in yast2-migration-sle rollback-helper
Habilite o serviço
rollback-helper
:>
sudo
systemctl enable rollback
Inicie o YaST e selecione
› ou execute:>
sudo
yast2 migration_sle
O assistente orientará você durante o processo de migração. Se houver atualizações pendentes, elas poderão ser instaladas antes de registrar o sistema. Para se registrar, digite seu código de registro e endereço de e-mail. Para se registrar em um servidor RMT local, forneça o URL dele em vez do código de registro e deixe o endereço de e-mail em branco.
Após o registro do sistema, os repositórios do SUSE Linux Enterprise Server serão adicionados, e os pacotes SLE serão instalados para substituir os do openSUSE.
Reinicialize o sistema:
>
sudo
reboot
Você migrou com êxito seu sistema para o SUSE Linux Enterprise Server. Continue com Capítulo 6, Concluindo o upgrade e remova os pacotes órfãos para garantir que você esteja executando uma instalação do SUSE Linux Enterprise com suporte total.
Se você tiver algum problema após a migração, poderá revertê-la como um upgrade de pacote de serviço. Para obter instruções, consulte a Seção 5.7, “Voltando um pacote de serviço”.