15 Instalando várias versões do kernel #
O SUSE Linux Enterprise Server 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 uma opção 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.
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 Server e os kernels disponibilizados pelos canais de atualização oficiais do SUSE Linux Enterprise Server são suportados.
É 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 Section 13.3, “Configuring the Boot Loader with YaST” para obter mais informações.
15.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:
Abra
/etc/zypp/zypp.conf
comoroot
no editor de sua escolha.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)
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 exemplomultiversion = kernel-default,kernel-default-base,kernel-source
Grave as mudanças feitas.
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.
15.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 a partição /boot
normalmente tem espaço limitado, você também pode ter problemas com overflow de /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.
Abra
/etc/zypp/zypp.conf
comoroot
no editor de sua escolha.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:4.4.126-48
: manter o kernel com o número de versão especificadomais recente
: manter o kernel com o número de versão mais altolatest-N
: manter o kernel com o Nth número de versão mais altoem execução
: manter o kernel em execuçãooldest
: manter o kernel com o número de versão mais baixo (o número originalmente incluído no SUSE Linux Enterprise Server)oldest+N
. manter o kernel com o Nth número de versão mais baixoVeja a seguir alguns 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,4.4.126-48
Manter o kernel mais recente, o que estiver em execução e 4.4.126-48.
Dica: Manter o kernel em execuçãoExceto 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.
15.1.2 Caso de uso: apagando um kernel antigo apenas após a 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.
15.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
).
15.1.4 Caso de uso: manter 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,3.12.28-4.20,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 3.12.28-4.20
).
15.2 Instalando/Removendo várias versões do kernel com o YaST #
Inicie o YaST e abra o gerenciador de software em
› .Liste todos os pacotes capazes de fornecer várias versões escolhendo
› › .Figura 15.1: Gerenciador de Software do YaST: exibição multiversão #Selecione um pacote e abra a guia
no painel inferior à esquerda.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.Clique em
para iniciar a instalação.
15.3 Instalando/Removendo várias versões do kernel com o Zypper #
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 --+----------------+------------+-----------------+--------+------------------- v | kernel-default | package | 2.6.32.10-0.4.1 | x86_64 | Alternative Kernel i | kernel-default | package | 2.6.32.9-0.5.1 | x86_64 | (System Packages) | kernel-default | srcpackage | 2.6.32.10-0.4.1 | noarch | Alternative Kernel i | kernel-default | package | 2.6.32.9-0.5.1 | x86_64 | (System Packages) ...
Especifique a versão exata ao instalar:
zypper in kernel-default-2.6.32.10-0.4.1
Ao desinstalar um kernel, use os comandos
zypper se -si 'kernel*'
para listar todos os kernels instalados e ozypper rm
NOMEDOPACOTE-VERSÃO para remover o pacote.