Включение rc.local в Debian 10

Одна из самых полезных функций файла rc.local — запуск скриптов во время загрузки системы. К примеру, в нём можно было запустить правила iptables, добавив всего лишь строчку вроде /etc/firewall/iptables.sh.

К сожалению, в современных версиях Debian эта функция стала недоступна, но её можно вернуть вручную, и в этой статье речь пойдёт именно об этом.

В первую очередь нам необходимо создать службу rc-local.service.

Для этого создадим файл /etc/systemd/system/rc-local.service

# touch /etc/systemd/system/rc-local.service

Затем откроем его

# 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

После этого создадим файл /etc/rc.local

# touch /etc/rc.local

откроем его

# nano /etc/rc.local

и сюда добавим такие строчки:

#!/bin/sh -e

exit 0

Сделаем этот файл исполняемым

# chmod +x /etc/rc.local

Далее включим службу в автозагрузку, запустим её и проверим состояние

# systemctl enable rc-local
# systemctl start rc-local
# systemctl status rc-local

Если показывает такое состояние

Active: active (exited)

значит работает.

Для проверки можно запустить скрипт, который во время загрузки будет создавать пустой файл с именем даты и времени запуска системы. Для этого создадим каталог /home/rc-local/

# mkdir /home/rc-local/

и в самом файле /etc/rc.local перед строчкой

exit 0

добавим

touch /home/rc-local/`date +%Y-%m-%d_%H-%M` &

Результат будет таким:

В данном примере показаны 3 файла, каждый из которых был создан в процессе загрузки системы.

Включение rc.local в Debian 10: 2 комментария

  1. извиняюсь, а в Одиннадцатом Дебиане — обязательно перед созданием самого  rc.local ,  создавать службу  rc-local.service ?

    Поскольку я там просто вручную создал пустой файлик, переименовал его в rc.locаl , набил его внутри как вы пишете. Далее Иполняемым, в Автозагрузку… И всё. Файлик стал рабочим. Теперь он подхватывает скрипты. Правда пару раз фокус мышки переключался с курсора на список Рабочих столов, и никак обратно.

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

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