•  desabrochar luz

Paroodise

Um pequeno utilitário para modificação ao vivo de sistemas de arquivos

Quando eu estava decidindo qual distribuição Linux usaria para meus servidores remotos, eu precisava de uma maneira de instalar rapidamente diferentes sistemas de arquivos raiz em um host de destino, então escrevi [paroodise].

Para ser capaz de atualizar um dispositivo de bloco inicializado, você precisa desmontar . Você só pode desmontar se parar de usá-lo. Para parar de usá-lo, você precisa reiniciar seus serviços no local, a partir de outro sistema de arquivos raiz. Isso é semelhante ao que o initramfsfaz quando inicializa um sistema operacional baseado em Linux, o kernel executa uma imagem de inicialização que configura o sistema de arquivos de onde o verdadeiro iniciar serviço é lançado.

Para conseguir isso em um já correndo sistema, temos que ter cuidado ao reiniciar nossos processos. Não podemos matar o ssh a menos que tenhamos certeza de que nosso script será executado até ser bem-sucedido.

Todo o processo é muito mais fácil em distros não baseadas no systemd, uma vez que o systemd se conecta profundamente ao kernel do Linux, mutilar seus processos de forma imprudente pode causar pânicos no kernel ... na verdade, em distribuições mais recentes é o que geralmente acontece :)

Quando escrevi este mini utilitário, parece que não conhecia maneiras estáveis ​​de gerar processos que sobrevivessem às sessões ssh originais. Ele deveria ser reescrito com métodos mais consistentes.

Todo o processo consiste em

Se tudo for concluído com sucesso, é possível neste ponto gerar um novo serviço ssh e fazer o login em uma sessão onde os pontos de montagem originais estão disponíveis para modificações.

Tags de postagem: