Por padrão, /etc/rc.local
é executado após a conexão de rede ser estabelecida. Isso é especificado no arquivo drop-in /lib/systemd/system/rc-local.service.d/debian.conf
:
$ sudo systemctl status rc.local
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (exited) since Sat 2017-02-11 00:31:50 EET; 2h 33min ago
Tasks: 0
Memory: 0B
CPU: 0
Feb 11 00:31:50 libellio systemd[1]: Starting /etc/rc.local Compatibility...
Feb 11 00:31:50 libellio systemd[1]: Started /etc/rc.local Compatibility.
$ cat /lib/systemd/system/rc-local.service.d/debian.conf
[Unit]
# not specified by LSB, but has been behaving that way in Debian under SysV
# init and upstart
After=network-online.target
# Often contains status messages which users expect to see on the console
# during boot
[Service]
StandardOutput=journal+console
StandardError=journal+console
Embora esta configuração padrão seja adequada para o tipo de serviços que geralmente são iniciados a partir de rc.local
, para seu caso de uso específico, você pode querer alterar essa configuração.
Copie o arquivo de serviço /lib/systemd/system/rc-local.service
para /etc/systemd/system
. Em seguida, abra o arquivo de configuração drop-in em /etc/systemd/system/rc-local.service.d/
(crie o diretório, se necessário), edite a cópia e comente a linha After=network-online.target
.