systemd para permitir fallback automático para um kernel mais antigo em caso de falha de inicialização

28 de novembro de 2018

Recentemente, o systemd lançou um novo recurso para gerenciar falhas de inicialização. Vamos ler sobre isso nesta curta cobertura sobre o mesmo.

O que é systemd, novamente?

systemd systemd Systemd é um sistema daemon que serve como um conjunto de software de blocos de construção básicos para um sistema Linux. Ele facilita o gerenciamento do sistema e do serviço e inicia o resto do sistema. É convencionalmente representado em letras minúsculas como systemd (daemon do sistema) de acordo com os padrões Unix/Linux.

Ele foi iniciado como um projeto de desenvolvedor em 2010 por Lennart Poettering e Kay Sievers. O Fedora se tornou a primeira grande distribuição a incluir o systemd por padrão desde maio de 2011.

A inclusão do systemd criou algum tipo de revolta nos usuários veteranos do Linux. Distribuições como Devuan foram criadas apenas para manter o systemd afastado.

Não vou entrar no debate systemd vs init aqui. A decisão é inteiramente sua, se você entender os detalhes técnicos. Vou compartilhar o novo recurso do systemd junto com minha experiência em consertar falhas de inicialização com ele.

Contagem de inicialização: o recurso mais recente do Systemd

Como a frase sugere, a contagem de tentativas de inicialização é parte de uma versão revisada do systemd's Automatic Boot Assessment, que permite rastrear inicializações e falhas do kernel.

Com a ajuda dessa avaliação, o sistema pode reverter automaticamente para uma versão anterior do SO/kernel, no caso de uma versão mais recente se recusar a inicializar com sucesso devido a uma falha.

O conjunto revisado de recursos da nova avaliação de inicialização automática do systemd está disponível na documentação do GitHub. Você pode lê-lo se estiver interessado nos detalhes técnicos.

Os desenvolvedores também sugerem que, além de fornecer uma solução completa em sistemas UEFI, os diferentes componentes também podem ser usados independentemente em combinação com outro software.

Diagnosticando problemas com o systemd: Minha experiência

Estou animado com esse novo recurso do systemd. Isso pode economizar muito tempo e problemas para os usuários do Linux. Vou compartilhar minha experiência com o problema de inicialização ANTES do systemd apresentar este recurso de falha de inicialização.

  • Systemd * me ajudou a diagnosticar um problema no passado em meu sistema de inicialização dupla e acho que seria útil compartilhar a experiência aqui, para saber sobre sua capacidade:

Certa vez, ao tentar inicializar meu sistema Ubuntu 16.04 LTS, recebi a seguinte mensagem de erro depois de selecionar o mesmo no GRUB:

falha de inicialização do systemctl no Ubuntu falha de inicialização do systemctl no Ubuntu Fiquei alarmado porque fui recebido com uma mensagem tão irritante de repente após um dia agitado de trabalho. Quando li que ele está mencionando um dos discos rígidos do meu PC (/ dev/sdb3), percebi que talvez tivesse que fazer algo com o recurso de hibernação do Windows 10 e o fato de que as tentativas de desligamento do Windows 10 são, na verdade, hibernações parciais para uma inicialização mais rápida.

Assim que recebi essa dica, inicializei o Windows e desliguei completamente segurando a tecla Shift e clicando em Desligar no menu Iniciar do Windows, após o que consegui fazer o login no Ubuntu com sucesso. Daí em diante, desativei a inicialização rápida e a hibernação do Windows.

Quando olhei os logs com a ajuda do comando, de volta ao Ubuntu, descobri que a mensagem de erro faz parte dos recursos do systemd . Usei o seguinte comando para armazenar a saída completa do comando em um arquivo de log:

Comandos para usar no terminal

journalctl -xb | tee systemdlogged.log

Ao percorrer o arquivo de log, pude reconfirmar que era de fato devido a uma hibernação parcial no Windows 10 ( Não é possível criar sessão: já está em execução em uma sessão ).

Ame-o ou odeie-o?

Como você pode ver, esse novo fallback automático para um kernel antigo evitaria alguns problemas para os usuários do Linux.

Essa ideia permitiria a implementação de esquemas semelhantes em outros carregadores de boot ou sistemas não UEFI. Talvez systemd também possa ser considerado para uso com LinuxBoot no futuro?

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Avimanyu Bandyopadhyay e publicado no site itsfoss.com. Tradução sujeita a revisão.

systemd to Allow Automatic Fallback to an Older Kernel in Case of Boot Failure

Propaganda
Blog Comments powered by Disqus.
Propaganda