Linux включить rc.local

Во многих современных версиях версиях Linux по уолчанию отключен rc.local, но часто нужен функционал выполнения операций при запуске системы.

На примере Debian, для других систем пути могут отличаться, но принцип тот же.

Создаем файл:

nano /etc/systemd/system/rc-local.service

со следующим содержимым:

[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target

следующий шагом необходимо создать сам rc.local
nano /etc/rc.local

добавив в него всего несколько строк:

#!/bin/sh -e
exit 0

Добавляем права на запуск и включаем сервис

chmod +x /etc/rc.local
systemctl enable rc-local
systemctl start rc-local

Автоматизация процесса

Автоматизировать этот процесс можно следующим скриптом

#!/bin/bash
cat > /etc/systemd/system/rc-local.service << EOF
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target

echo '#!/bin/sh -e' > /etc/rc.local
echo 'exit 0' >> /etc/rc.local

chmod +x /etc/rc.local
systemctl enable rc-local
systemctl restart rc-local
(Visited 9 times, 1 visits today)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *