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 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.
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 14.3, “Configuring the Boot Loader with YaST” para obter mais informações.
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
como root
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 exemplo
multiversion = 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.
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
como root
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 especificado
mais recente
:
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
em execução
:
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 Server)
oldest+N
.
manter o kernel com o Nth número de versão mais baixo
Veja 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.
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.
É 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.
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
).
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
).
Você pode instalar ou remover vários kernels com YaST:
Inicie o YaST e abra o gerenciador de software em
› .Liste todos os pacotes capazes de fornecer várias versões escolhendo
› › .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.
Você pode instalar ou remover vários kernels 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:
tux >
sudo
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 o zypper rm
NOMEDOPACOTE-VERSÃO para remover o pacote.