No jargão systemd, isolar uma unidade é uma forma um pouco especial de iniciar ou ativá-la , que pode ser maioritariamente (embora eu voltar a isso) ser considerado idêntico à ativação. O systemd no bootstrap isola um dos três alvos, dependendo de o sistema estar sendo iniciado em emergência, salvamento ou modo normal. Os dois primeiros são especificados por -b
e -s
na linha de comando do kernel que são passados para o primeiro processo e isolam emergency.target
e rescue.target
, respectivamente. O modo normal isola a default.target
unit, que é um alias (definida com systemctl set-default
) para algum outro destino concreto, como graphical.target
ou multi-user.target
. Uma falha em isolar a primeira unidade (a partir da qual todo o resto flui) é um erro bastante drástico e, quando isso acontece, o systemd emite uma mensagem e congela.
É incomum que default.target
não seja isolável, e sugere algum erro de configuração grave (como a pessoa que mascara sysinit.target
) ou uma configuração altamente incomum (como uma violação de uma das premissas do sistema, como /usr
e /etc
sendo o mesmo sistema de arquivos ou, pelo menos, montado junto com /
). Diagnosticar isso envolve ainda os modos de emergência e salvamento mencionados anteriormente. Basta inicializar em esses modos em vez do modo normal e, em seguida, manualmente iniciar a default.target
unidade, observando o que acontece, quais erros ocorrem e o que está nos registros . É aqui que a diferença entre isolamento e ativação é importante. É preciso não isolar default.target
, pois isso desliga a sessão de login do modo de emergência / salvamento como parte do isolamento da unidade. É preciso iniciar .
Eu pareço ter um parágrafo de reposição.
Leitura adicional