Estou usando preseed para instalar automaticamente o debian.
Eu quero poder executar um script chamado "run.sh" no final da instalação do Debian:
#!/bin/bash
touch /root/example.txt
Já tentei vários modelos que encontrei pelo google (adiciono esses comandos ao preseed.cfg):
d-i late_command string cp -a /cdrom/preseed/run.sh /target/root; chmod 777 /root/run.sh; /root/run.sh;
d-i preseed/late_command string \
in-target cp run.sh /root/ && in-target chmod 755 /root/run.sh \
cd /target; \
chmod +x ./run.sh; \
chroot ./ ./run.sh;
Tentei tudo o que vi e me ocorreu, em nenhuma das ocasiões tive sucesso. O máximo que consegui é uma tela vermelha com erro de que o arquivo "run.sh" está corrompido
Esta solução se baseia no fato de você usar um USB para instalar o SO, e que você terá na raiz do USB uma pasta chamada
files
onde você terá o arquivopreseed.cfg
e um executável chamadorun.sh
.Este comando irá copiar o arquivo
run.sh
para a raiz do usuário root e aí executará o script.d-i preseed/late_command string cp /cdrom/files/run.sh /target/root/; chmod +x /target/root/run.sh; in-target /bin/bash /root/run.sh
Depois disso, você pode usar
rm
para excluir o arquivo. Você também pode executar o script diretamente do USB (sem copiá-lo), mas após alguns testes verifiquei que ele pode induzir a erros humanos