Como forçar o systemd a entrar no modo de emergência?

4

Estou usando o Opensuse 12.3.
systemd-195-13.45.1.x86_64

Depois de alguns problemas quando adicionei um disco no btrfs mount, tentei colocar meu sistema em modo de emergência (o que considero que todos os serviços serão interrompidos e todas as montagens podem ser desmontadas).

Mas eles simplesmente não funcionam !!!

Como forçar o systemd a entrar no modo de emergência? (ou algo equivalente ao modo único do init) e forçar o modo de emergência no momento da inicialização (menu grub)?

Primeira tentativa:
Eu uso o jeito antigo: init 1 no console ...
Eles me mostram a tela de emergência, pedem senha de root, mas depois desse novo login, eu ainda não consigo desmontar meu FS do btrfs (diz que ele está em uso). (com lsof eu não encontrei nada usando essas montagens).
O nível de retorno do comando runlevel 3 ... não 1 ...

Segunda tentativa:
Eu corro o comando systemctl emergency , que mostra a "tela de emergência", peço a senha do root ... e, finalmente, mostro-me runlevel = 1. Mas ainda não consigo desmontar meu FS btrfs ...

Terceira tentativa:
Eu reinicio a máquina e na tela do grub eu digito 'e' para adicionar a palavra "emergência" nas opções. Onde eles me dão uma mensagem como "palavra de emergência é inválida". Eu tento com a palavra "single" e obtenho o mesmo comportamento ....

Minha solução final foi remover a montagem automática do fstab e reinicializar meu sistema no modo normal. Então finalmente eu consigo executar meu check no btrfs Fs ... mas é muito chato porque todos os serviços que dependem desta montagem começam a dar erros ...

    
por ceinmart 07.01.2014 / 12:31

2 respostas

2

Existem 4 alvos no systemd. o que você queria é emergency.target Acho que você pode tentar estas etapas:

  1. reinicialize o sistema
  2. interrompa a contagem regressiva do menu do carregador de boot pressionando qualquer tecla
  3. move o cursor para a entrada a ser iniciada
  4. pressione e para editar a entrada atual
  5. mova o cursor para a entrada da linha que começa com linux16 . Esta é a linha de comando do kernel.

6.append systemd.unit = desired.target

  1. pressione ctrl + x para inicializar com essas alterações.

Este é o método de rhel7. Eu acho que é parecido com o suse. Depois de entrar no modo de emergência, a senha do root ainda é necessária. boa sorte:)

    
por 03.01.2016 / 04:34
0

Depois de ler os comentários de @suspectus e @goldilocks, apesar de já "resolver" meu problema original com o btrfs, testei novamente colocando meu sistema em modo de emergência.

Eu considero ter entendido mal a diferença entre o modo de emergência de systemd com modo único de SystemV .
Mas como não tenho certeza sobre minha resposta e sobre minha compreensão ... então, não verificarei minha resposta como correta por enquanto.

O modo de emergência, fecha e desliga todos os serviços para o bem e não altera o nível de execução e não desmonta qualquer volume / FS.

Sobre o meu problema de raiz que enganam minha mente, onde eu acho que não entrou no modo de emergência antes ...

Descobrir que não serei capaz de desmontar meu FS porque preciso desmontá-lo com o comando systemctl :

systemctl stop dados.mount

Onde "dados" é meu FS / dados do btrfs. Então eles desmontam efetivamente.
O mais estranho é que não há como identificar porque o comando unmount informa que o FS está "em uso" e nada é mostrado no comando lsof .
Provavelmente algum trinco interno entre o umount / systemd. ..

    
por 07.01.2014 / 15:11