Estou tendo dificuldade para executar um script na inicialização do Debian 12. Estou querendo compartilhar a internet em uma pequena rede de laboratório.
Já fiz o .sh e o tornei executável com o chmod +x. Executando manualmente vai beleza, mas quero que seja executado na inicialização do SO.
Segui vários tutoriais, mas não tive sucesso. Tentei criar um serviço com o executável, mas não estou tendo um resultado positivo.
Segue abaixo a reposta que recebo quando peço o status:
○ compartilhar_internet.service
Loaded: loaded (/lib/systemd/system/compartilhar_internet.service; enabled; preset: enabled)
Active: inactive (dead) since Fri 2023-09-08 18:50:26 -04; 7s ago
Duration: 5ms
Process: 6374 ExecStart=/etc/init.d/compartilhar_internet.sh (code=exited, status=0/SUCCESS)
Main PID: 6374 (code=exited, status=0/SUCCESS)
CPU: 5ms
set 08 18:50:26 srv-router-01 systemd[1]: Started compartilhar_internet.service.
set 08 18:50:26 srv-router-01 systemd[1]: compartilhar_internet.service: Deactivated successfully.
Se alguém puder ajudar ficaria muito grato.
1 curtida
Você precisa criar um arquivo Unit para a inicialização do seu script.
Antes de qualquer coisa remova o arquivo que você criou em /lib/systemd/system/compartilhar_internet.service não é o lugar indicado para arquivos criado pelo usuário.
Crie um arquivo compartilhar_internet.service em /etc/systemd/system/
e add as seguintes informações:
[Unit]
Description=Compartilhar Internet
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/etc/init.d/compartilhar_internet.sh start
ExecStop=/etc/init.d/compartilhar_internet.sh stop
ExecReload=/etc/init.d/compartilhar_internet.sh restart
[Install]
WantedBy=multi-user.target
no terminal
systemctl daemon-reload → para atualizar/carregar o arquivo que voce criou
systemctl enable compartilhar_internet.service → para habilitar o o script na inicialização do sistema.
Seu script esta habilitado para iniciar e também os seguintes atributos:
systemctl start compartilhar_internet.service
systemctl status compartilhar_internet.service
systemctl stop compartilhar_internet.service
systemctl restart compartilhar_internet.service
Reinicie o PC.
Apos o reinicio execute systemctl status compartilhar_internet.service para ver se esta OK.
2 curtidas
Bom dia Tiago!
Muito obrigado, funcionou belezinha!
Já acrescentei nas minhas anotações.
Uma outra opção se usar o bash, os scripts .sh que colocar nessa pasta abaixo serão executados no login
/etc/profile.d
Muito obrigado pela sugestão!
Vou experimentar também essa opção.
Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.