O "rescue.target" é um alvo especial no sistema de inicialização systemd no Linux que serve a um propósito específico no contexto de solução de problemas e recuperação do sistema. Ele foi projetado para fornecer um ambiente mínimo de usuário único que permite aos administradores de sistema diagnosticar e corrigir problemas sem precisar reinicializar o sistema. Esse destino é particularmente útil ao lidar com falhas críticas do sistema ou configurações incorretas que impedem a inicialização normal.
O objetivo principal do "rescue.target" é fornecer um shell de resgate com serviços mínimos e um conjunto limitado de sistemas de arquivos montados. Por padrão, ele inicia um shell de usuário único com um sistema de arquivos raiz montado no modo somente leitura. Esse ambiente permite que os administradores acessem os arquivos do sistema e executem comandos como o usuário root, permitindo que eles investiguem e resolvam problemas que possam ter causado a falta de resposta ou instabilidade do sistema.
Para acessar o "rescue.target" sem reiniciar o sistema, você precisa interromper o processo de inicialização e modificar os parâmetros de inicialização. Isso normalmente pode ser feito por meio do menu do carregador de inicialização, onde você pode editar a linha de comando do kernel. Ao anexar o parâmetro "systemd.unit=rescue.target" ao final da linha de comando, você instrui o sistema a inicializar diretamente no destino de resgate em vez do destino padrão.
Por exemplo, se estiver usando o gerenciador de inicialização GRUB, você pode selecionar a entrada de kernel desejada e pressionar "e" para editar os parâmetros. Localize a linha que começa com "linux" ou "linuxefi" e adicione "systemd.unit=rescue.target" no final da linha. Pressione "Ctrl+X" ou "F10" para inicializar com os parâmetros modificados e entrar no ambiente de resgate.
Uma vez no shell de resgate, você pode executar várias tarefas de solução de problemas. Você tem acesso a comandos e utilitários essenciais, como montagem de sistema de arquivos, configuração de rede, gerenciamento de pacotes e ferramentas de análise de log. Isso permite que você investigue e corrija problemas relacionados a erros de disco, serviços mal configurados, dependências quebradas ou outros problemas no nível do sistema.
É importante observar que o destino do resgate é um ambiente mínimo e alguns serviços ou dispositivos podem não estar disponíveis. A rede pode estar desativada por padrão, portanto, pode ser necessário configurá-la manualmente, se necessário, para solução de problemas. Além disso, o shell de recuperação opera com o sistema de arquivos raiz montado no modo somente leitura para evitar modificações acidentais. Se você precisar fazer alterações no sistema de arquivos, poderá remontá-lo no modo de leitura e gravação usando o comando "mount -o remount,rw /".
O "rescue.target" no sistema de inicialização do systemd fornece um ambiente mínimo de usuário único para solução de problemas e recuperação do sistema sem a necessidade de reinicializar o sistema. Ele permite que os administradores do sistema diagnostiquem e corrijam problemas críticos, fornecendo um shell de recuperação com ferramentas essenciais e acesso aos arquivos do sistema. Esse recurso é particularmente valioso em situações em que uma falha do sistema impede a inicialização normal.
Outras perguntas e respostas recentes sobre Administração do sistema EITC/IS/LSA Linux:
- Como a diretiva "conflitos" no systemd impede que duas unidades sejam ativas simultaneamente?
- Qual é o propósito da diretiva "requisito" no systemd e como ela é diferente de "exigido por"?
- Por que é recomendado gerenciar dependências em unidades que você mesmo está criando ou gerenciando, em vez de editar unidades do sistema?
- Como a diretiva "before" no systemd especifica a ordem de execução das unidades?
- Qual é a diferença entre dependências fracas e ordenação explícita no systemd?
- Qual comando pode ser usado para alternar entre os destinos no systemd e como ele é semelhante à alternância entre os níveis de execução no sysvinit?
- Como você pode garantir que as configurações de rede necessárias sejam concluídas antes do início de um serviço de rede específico?
- Como os destinos são semelhantes aos níveis de execução nomeados no sysvinit e qual é o propósito do "multi-user.target"?
- O que são destinos systemd e como eles ajudam no gerenciamento de relacionamentos entre unidades em um sistema Linux?
- Sobre o que o comando "status" em systemctl fornece informações?
Veja mais perguntas e respostas em EITC/IS/LSA Linux System Administration