Ir para o conteúdoIr para navegação de página: página anterior [tecla de acesso p]/próxima página [tecla de acesso n]
documentation.suse.com / Documentação do SUSE Linux Enterprise Desktop / Guia de Administração / Sistema / Instalando várias versões do kernel
Aplica-se a SUSE Linux Enterprise Desktop 15 SP5

27 Instalando várias versões do kernel

O SUSE Linux Enterprise Desktop suporta a instalação paralela de várias versões do kernel. Ao instalar um segundo kernel, uma entrada de boot e um initrd são automaticamente criados, dessa forma, nenhuma outra configuração manual é necessária. Ao reinicializar a máquina, o kernel recém-adicionado fica disponível como mais um parâmetro de boot.

Usando esta funcionalidade, você pode testar as atualizações do kernel com segurança e sempre realizar fallback para o kernel anterior comprovado. Para isso, não use as ferramentas de atualização (como a Atualização Online do YaST ou o applet de atualização). Em vez disso, siga o processo descrito neste capítulo.

Atenção
Atenção: Direito a suporte

Fique ciente de você perde todo o seu direto a suporte para a máquina ao instalar um kernel autocompilado ou de terceiros. Somente os kernels distribuídos com o SUSE Linux Enterprise Desktop e os kernels disponibilizados pelos canais de atualização oficiais do SUSE Linux Enterprise Desktop são suportados.

Dica
Dica: Verificar o kernel de configuração do carregador de boot

É recomendável verificar a configuração do carregador de boot após a instalação de outro kernel para definir a entrada de boot padrão de sua escolha. Consulte a Seção 18.3, “Configurando o carregador de boot com o YaST” para obter mais informações.

27.1 Habilitando e configurando suporte multiversão

A instalação de várias versões de um pacote de software (suporte multiversão) está habilitada por padrão a partir do SUSE Linux Enterprise Server 12. Para verificar essa configuração, faça o seguinte:

  1. Abra /etc/zypp/zypp.conf com o editor de sua escolha como root.

  2. Pesquise pela string multiversion (multiversão). Se a multiversão estiver habilitada para todos os pacotes do kernel compatíveis com esse recurso, a seguinte linha aparecerá sem comentários:

    multiversion = provides:multiversion(kernel)
  3. Para restringir o suporte multiversão a determinados tipos de kernel, adicione os nomes dos pacotes como uma lista separada por vírgula à opção multiversion em /etc/zypp/zypp.conf, por exemplo

    multiversion = kernel-default,kernel-default-base,kernel-source
  4. Grave as mudanças feitas.

Atenção
Atenção: Pacotes de módulos do kernel (KMP)

Verifique se os módulos do kernel necessários (Pacotes de Módulos do Kernel) distribuídos pelo fornecedor também foram instalados para o novo kernel atualizado. O processo de atualização do kernel não avisa sobre eventuais módulos do kernel que estiverem faltando, porque os requisitos do pacote ainda estão sendo atendidos pelo kernel antigo mantido no sistema.

27.1.1 Apagando kernels não usados automaticamente

Quando novos kernels são testados com frequência com o suporte multiversão habilitado, o menu de boot torna-se rapidamente confuso. Como uma partição /boot normalmente tem espaço limitado, você pode ter problemas com overflow do /boot. Embora seja possível apagar as versões não usadas do kernel manualmente com o YaST ou o Zypper (conforme descrito a seguir), você também pode configurar o libzypp para apagar automaticamente os kernels que não são mais usados. Por padrão, nenhum kernel é apagado.

  1. Abra /etc/zypp/zypp.conf com o editor de sua escolha como root.

  2. Pesquise pela string multiversion.kernels e ative esta opção removendo o comentário da linha. Esta opção usa uma lista separada por vírgula dos seguintes valores:

    5.3.18-53.3: manter o kernel com o número de versão especificado

    latest: manter o kernel com o número de versão mais alto

    latest-N: manter o kernel com o Nth número de versão mais alto

    running: manter o kernel em execução

    oldest: manter o kernel com o número de versão mais baixo (o número originalmente incluído no SUSE Linux Enterprise Desktop)

    oldest+N manter o kernel com o Nth número de versão mais baixo

    Veja a seguir vários exemplos

    multiversion.kernels = latest,running

    Manter o kernel mais recente e o que estiver em execução. Isso é o mesmo que não habilitar o recurso multiversão, com a exceção de que o kernel antigo será removido após a próxima reinicialização, e não logo após a instalação.

    multiversion.kernels = latest,latest-1,running

    Manter os dois últimos kernels e o que estiver em execução.

    multiversion.kernels = latest,running,5.3.18-53.3

    Manter o kernel mais recente, o que estiver em execução e 5.3.18-53.3.

    Dica
    Dica: Manter o kernel em execução

    Exceto se você usa uma configuração especial, sempre mantenha o kernel marcado como running (em execução).

    Se você não fizer isso, ele será apagado durante a atualização. Por sua vez, isso significa que todos os módulos do kernel em execução também serão apagados e não poderão mais ser carregados.

    Se você decidir não manter o kernel em execução, sempre reinicialize logo após um upgrade do kernel para evitar problemas com os módulos.

27.1.2 Caso de uso: apagando um kernel antigo apenas depois da reinicialização

É importante garantir que o kernel antigo seja apagado apenas depois que o sistema é reinicializado com êxito com o novo kernel.

Mude a seguinte linha em /etc/zypp/zypp.conf:

multiversion.kernels = latest,running

Os parâmetros anteriores pedem para o sistema manter o kernel mais recente e o que está em execução apenas se eles forem diferentes.

27.1.3 Caso de uso: mantendo kernels mais antigos como fallback

Convém manter uma ou mais versões de kernel para ter um ou mais kernels sobressalentes.

Isso pode ser útil se você precisa de kernels para testes. Se alguma coisa der errado (por exemplo, sua máquina não for inicializada), você ainda poderá usar uma ou mais versões de kernel reconhecidamente boas.

Mude a seguinte linha em /etc/zypp/zypp.conf:

multiversion.kernels = latest,latest-1,latest-2,running

Quando você reinicializa o sistema após a instalação de um novo kernel, o sistema mantém três kernels: o atual (configurado como latest,running) e os dois antecessores imediatos (configurados como latest-1 e latest-2).

27.1.4 Caso de uso: mantendo uma versão específica do kernel

Você faz atualizações de sistema regulares e instala novas versões de kernel. Porém, você também está compilando sua própria versão do kernel e deseja garantir que o sistema a mantenha.

Mude a seguinte linha em /etc/zypp/zypp.conf:

multiversion.kernels = latest,5.3.18-53.3,running

Quando você reinicializa o sistema após a instalação de um novo kernel, o sistema mantém dois kernels: o kernel novo em execução (configurado como latest,running) e o seu próprio kernel compilado (configurado como 5.3.18-53.3).

27.2 Instalando/Removendo várias versões do kernel com o YaST

Você pode instalar ou remover vários kernels com YaST:

  1. Inicie o YaST e abra o gerenciador de software em Software › Gerenciamento de Software.

  2. Liste todos os pacotes capazes de fornecer várias versões escolhendo Ver › Classificação do pacote › Pacotes com várias versões.

    Gerenciador de software do YaST: exibição multiversão
    Figura 27.1: Gerenciador de software do YaST: exibição multiversão
  3. Selecione um pacote e abra a guia Versão no painel inferior à esquerda.

  4. Para instalar um pacote, clique na caixa de seleção ao lado dele. Uma marca de seleção verde indica que ele está selecionado para instalação.

    Para remover um pacote já instalado (indicado com uma marca de seleção branca), clique na caixa de seleção ao lado dele até um X vermelho indicar que ele está selecionado para remoção.

  5. Clique em Aceitar para iniciar a instalação.

27.3 Instalando/Removendo várias versões do kernel com o Zypper

Você pode instalar ou remover vários kernels com zypper:

  1. Use o comando zypper se -s 'kernel*' para exibir uma lista de todos os pacotes de kernel disponíveis:

    S  | Name                 | Type    | Version           | Arch   | Repository
    ---+----------------------+---------+-------------------+--------+------------------------------------------------------
    i+ | kernel-default              | package | 5.14.21-150400.6.3              | x86_64 | SLE-Module-Basesystem15-SP4-Pool
       | kernel-default-base         | package | 5.14.21-150400.6.3.150400.22.27 | x86_64 | SLE-Module-Basesystem15-SP4-Pool
       | kernel-default-devel        | package | 5.14.21-150400.6.3              | x86_64 | SLE-Module-Basesystem15-SP4-Pool
       | kernel-devel                | package | 5.14.21-150400.6.4              | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-all         | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-amdgpu      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-ath10k      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-ath11k      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-atheros     | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-bluetooth   | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-bnx2        | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-brcm        | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-chelsio     | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-dpaa2       | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-i915        | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-intel       | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-iwlwifi     | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-liquidio    | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-marvell     | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-media       | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-mediatek    | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-mellanox    | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-mwifiex     | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-network     | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-nfp         | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-nvidia      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-platform    | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-prestera    | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-qcom        | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-qlogic      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-radeon      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-realtek     | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-serial      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-sound       | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-ti          | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-ueagle      | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
    i  | kernel-firmware-usb-network | package | 20220119-150400.1.1             | noarch | SLE-Module-Basesystem15-SP4-Pool
       | kernel-macros               | package | 5.14.21-150400.6.4              | noarch | SLE-Module-Basesystem15-SP4-Pool
  2. Especifique a versão exata ao instalar:

    > sudo zypper in kernel-default-5.3.18-53.3
  3. Ao desinstalar um kernel, use os comandos zypper se -si 'kernel*' para listar todos os kernels instalados, e o zypper rm PACKAGENAME-VERSION para remover o pacote.