Одна из самых полезных функций файла 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 , создавать службу rc-local.service ?
Поскольку я там просто вручную создал пустой файлик, переименовал его в rc.locаl , набил его внутри как вы пишете. Далее Иполняемым, в Автозагрузку… И всё. Файлик стал рабочим. Теперь он подхватывает скрипты. Правда пару раз фокус мышки переключался с курсора на список Рабочих столов, и никак обратно.
если получилось без службы, то не обязательно…