Задать вопрос

Как заставить работать rc.local?

Нужно перезагружать supervisor при запуске системы, решил сделать через rc.local
в /etc/rc.local прописал

#!/bin/sh
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/etc/super
exit 0

По идее если выполнить sudo /etc/rc.local то выполняется, получается значит rc.local сам не запускается при запуске системы?
  • Вопрос задан
  • 7612 просмотров
Подписаться 3 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 3
Debian 11 Булзай:

создаёшь новый файл rc.local вручную в /etc/ со строками:

#!/bin/sh -e
#
# rc.local
#
#Oo - tyt nuwu 4to xo4ewb

exit 0


Делаешь исполняемым:

chmod +x /etc/rc.local

перезагружаешь демона:

systemctl daemon-reload

стартуешь:

systemctl start rc-local

Проверяешь статус:

systemctl status rc-local

должен появиться такой код:

● rc-local.service - /etc/rc.local Compatibility
     Loaded: loaded (/lib/systemd/system/rc-local.service; enabled-runtime; vendor preset: enabled)
    Drop-In: /usr/lib/systemd/system/rc-local.service.d
             └─debian.conf
     Active: active (exited)
       Docs: man:systemd-rc-local-generator(8)
    Process: 58756 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)


всё. (перевод 11: https://blog.wijman.net/enable-rc-local-in-debian-...
Для Десятки на-русском: https://dondub.com/2021/04/vklyuchenie-rc-local-v-...
)
Ответ написан
Комментировать
@extraterrestrial
1. Что значит перезагружать при загрузке системы? М.б. загружать?
2. Простой способ проверить запуск rc.local
echo "passed" > /tmp/test.txt

после загрузки
cat /tmp/test.txt

3. Для полного ответа необходимо знать Ваш дистрибутив Linux, например в Ubuntu rc.local запускается через /etc/init.d скрипт, его просто необходимо добавил в какой Вам необходимо runlevel
Ответ написан
Комментировать
Frankenstine
@Frankenstine
Сисадмин
Запуск из /etc/rc.local будет в непредсказуемый момент времени, например ещё до того, как будет запущен тот сервис, который вы хотите перезапускать. Поэтому правильней будет создать свой systemd сервис, у которого будут прописаны соответствующие зависимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы