Como inicializar o Ubuntu 18.04 no modo de emergência e resgate
- 4866
- 511
- Mrs. Willie Beahan
Objetivo
Aprendendo sobre metas de emergência e resgate do Systemd e como inicializar o sistema neles
Requisitos
- nenhum requesito especial
Dificuldade
FÁCIL
Convenções
- # - requer que os comandos Linux sejam executados com privilégios de raiz também
diretamente como usuário root ou por uso desudo
comando - $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular
Introdução
Atualmente, o Systemd se tornou o padrão de fato Sistema init
Para todas as principais distribuições Linux.
Substituindo Sysv e Upstart, ele também substituiu a maneira clássica de definir o sistema níveis de execução
, usando o sistema alvos
, um tipo especial de unidade
.
Neste tutorial, veremos como inicializar um Ubuntu 18.04 Sistema no emergência
e resgatar
metas de sistema e que tipo de ambiente eles oferecem aos usuários.
Systemd Targets vs Classic Runlevels
Systemd introduziu o conceito de alvos
que substituiu os níveis clássicos do sistema.
Como exemplo, o que sabia como RUNLEVEL 0
no SYSV, que representa o HALT
estado da máquina, é o equivalente ao Systemd desligar
alvo.
De forma similar,RUNLEVEL 1
ou Modo de usuário único
encontra seu SystemD equivalente no resgatar
alvo.
Finalmente, os níveis 5 e 6, usados respectivamente para o modo gráfico e para reiniciar o sistema, foram agora substituídos pelo gráfico
e reinício
alvos. O resgatar
e o semelhante emergência
metas, são sobre o que falaremos neste tutorial: eles são muito úteis para consertar algumas situações críticas.
O alvo de emergência
O emergência
Target é o ambiente mais mínimo em que o sistema pode ser inicializado em.
Uma vez atingido esse alvo, uma concha de emergência é iniciada no console principal.
Fora isso, apenas Systemd
Ele está disponível para o usuário: apenas o sistema de arquivos raiz é montado (no modo somente leitura) e nenhum serviço é iniciado (isso também significaria que você não terá acesso à rede).
Este é o alvo em que lançamos quando o processo de inicialização não pode ser concluído com sucesso (quando uma verificação do sistema de arquivos falhar, por exemplo).
Como o alvo de emergência é definido
Para verificar como o alvo de emergência é definido, devemos inspecionar o Systemd dedicado unidade
.
Podemos usar o Systemctl Cat
comando para realizar esta tarefa:
$ SystemCTL CAT Emergência.Target #/lib/Systemd/System/Emergência.Target # Este arquivo faz parte do Systemd. # # Systemd é software livre; Você pode redistribuí -lo e/ou modificá -lo # nos termos da Licença Pública Geral GNU menor, conforme publicado pela # The Free Software Foundation; A qualquer versão 2.1 da licença, ou # (por sua opção) qualquer versão posterior. [Unidade] Descrição = Modo de emergência Documentação = Man: Systemd.Especial (7) requer = Emergência.serviço depois = emergência.Serviço Allowisolate = Sim
cópia de Como podemos ver na saída acima, a emergência.alvo requer a emergência relacionada.serviço como uma dependência. Vamos dar uma olhada também:
$ SystemCTL CAT Emergência.Serviço #/lib/Systemd/System/Emergência.Serviço # Este arquivo faz parte do Systemd. # # Systemd é software livre; Você pode redistribuí -lo e/ou modificá -lo # nos termos da Licença Pública Geral GNU menor, conforme publicado pela # The Free Software Foundation; A qualquer versão 2.1 da licença, ou # (por sua opção) qualquer versão posterior. [Unidade] Descrição = Documentação de Shell de emergência = Homem: Sulogin (8) DefaultDependências = sem conflitos = desligamento.conflitos de destino = resgate.serviço antes = desligamento.alvo antes = resgate.serviço [serviço] ambiente = home =/root workingDirectory =-/root execStart =-/lib/systemd/systemd-sulogin-shell type = standardInput de inatividade = tty-force standardOutput = herde standarderror = herde killmode = processo ignoresigpipe = sem sendsighup = sim
cópia de A definição do serviço nos fornece informações muito claras.
Primeiro de tudo, o LAR
A variável de ambiente é definida através do Ambiente
palavra -chave e corresponde ao diretório inicial do usuário raiz.
Este também é o diretório de trabalho usado por padrão quando a emergência.O alvo é alcançado.
Quando este serviço é iniciado, o /lib/Systemd/Systemd-Sulogin-Shell
O executável é chamado, que, por sua vez, invoca /usr/sbin/sulogina
, Responsável por nos fornecer um login para o shell de usuário único.
Como acessar emergência.alvo na inicialização
Para forçar o sistema a inicializar na emergência.Target, devemos modificar o menu Grub.
Esta é uma operação muito fácil. Quando o menu Grub aparecer, basta selecionar a primeira entrada e pressionar e
editar:
Depois de pressionar o e
Chave, você poderá modificar os parâmetros de inicialização e a linha de comando do kernel.
Procure a linha começando com Linux
:
Neste ponto, acerte Ctrl-e
Para chegar ao final da linha, exclua $ VT_HANDOFF
e adicione o Systemd.unidade = emergência.alvo
Diretiva (você também pode usar apenas emergência
Como pseudônimo, para compatibilidade com SYSV), para que sua linha pareça desta maneira:
Se você agora pressionar Ctrl-x
ou F10
, O sistema irá inicializar no modo de emergência:
O resgate.alvo
Este é o alvo Systemd que pode ser associado ao modo de usuário único antigo.
Ao contrário do que acontece com a emergência.Target, quando esse alvo é alcançado, o sistema base é puxado: todos os sistemas de arquivos são montados e os serviços mais básicos são lançados e disponibilizados para o usuário.
O resgate.O alvo é definido no/lib/systemd/system/resgate.Arquivo de destino:
#/lib/Systemd/System/Rescue.Target # Este arquivo faz parte do Systemd. # # Systemd é software livre; Você pode redistribuí -lo e/ou modificá -lo # nos termos da Licença Pública Geral GNU menor, conforme publicado pela # The Free Software Foundation; A qualquer versão 2.1 da licença, ou # (por sua opção) qualquer versão posterior. [Unidade] Descrição = Modo de resgate Documentação = Man: Systemd.especial (7) requer = sysinit.Target Rescue.serviço depois = sysinit.Target Rescue.Serviço Allowisolate = Sim
cópia de O resgate.alvo, exatamente como o que acontece para a emergência.alvo, requer o relacionado resgatar.serviço
, mais o sysinit.alvo
.
O primeiro, assim como a emergência.Serviço, basicamente fornece o login de usuário único, enquanto o último puxa os serviços necessários para a inicialização do sistema (diferentemente da emergência.alvo, o resgate.O alvo é mais do que um shell simples).
Inicialize no resgate.alvo
O procedimento para inicializar o sistema em resgate.O alvo é o mesmo que seguimos para fazê -lo inicializar no alvo de emergência.
A única coisa que precisa ser alterada é o argumento adicionado à linha de comando do kernel: em vez de systemd.unidade = emergência.alvo, vamos usar Systemd.unidade = resgate.alvo
; Novamente, também podemos usar um alias para compatibilidade do SYSV, substituindo a diretiva por apenas 1
.
Uma vez iniciado, o sistema inicializará no resgate.Target, onde podemos administrar o sistema no modo de usuário único:
Ubuntu 18.04 Modo de resgateConclusões
Examinamos rapidamente o que são as metas de emergência e resgate do Systemd, no que são diferentes e que tipo de ambiente fornecer ao usuário.
Também vimos como editar o menu Grub para alterar a linha de comando do kernel e inicializar o sistema diretamente para esses alvos.
É importante dizer que os alvos do Systemd também podem ser alcançados, de um sistema já em execução, "isolando", eles, usando o SystemCTL.
Por exemplo, executando:
# SystemCTL isolate resgate.alvo
trará o sistema ao alvo de resgate.
Para um conhecimento mais profundo do sistema unidades especiais
, Podemos consultar a Manpage Related e muito clara (Systemd.Especial (7)).
Tutoriais do Linux relacionados:
- Coisas para instalar no Ubuntu 20.04
- Uma introdução à automação, ferramentas e técnicas do Linux
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Arquivos de configuração do Linux: os 30 primeiros mais importantes
- Linux pode obter vírus? Explorando a vulnerabilidade do Linux…
- Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
- Loging e auditoria avançados no Linux
- Como fazer bota dupla kali linux e windows 10
- Download do Linux
- Mastering Bash Script Loops
- « Como criar um persistente ubuntu USB Stick usando a ferramenta MKUSB
- Instale o servidor Tomcat 8 no Ubuntu 18.04 Bionic Beaver Linux »