Почему не запускается моя служба init.d?

707
cgm123

Я купил Raspberry Pi 3 пару недель назад и давно с ней играю. Я использую Raspbian Lite без головы, и я хочу сделать кое-что при загрузке. Ничего захватывающего, всего несколько команд, но я нахожу это очень трудным для выполнения. Я буду использовать упрощенный пример моего сценария, но это то, к чему я работал, и это то, что я не могу заставить работать. Вот что я сделал до сих пор:

Создал файл, /etc/init.d/sanity

#!/bin/sh # /etc/init.d/sanity  # If you want a command to always run, put it here echo "sanity script is running"  # Carry out specific functions when asked to by the system case "$1" in start) echo "START START START" echo "START START START" > /root/START.txt ;; stop) echo "STOP STOP STOP" echo "STOP STOP STOP" > /root/STOP.txt ;; *) echo "Usage: /etc/init.d/sanity " echo "FAIL FAIL FAIL" > /root/FAIL.txt exit 1 ;; esac  exit 0 

Затем изменили разрешения с помощью:

chmod 755 /etc/init.d/sanity 

Который, кажется, работает:

root@raspberrypi:/etc/init.d|⇒ ll total 304 ...blah blah blah... -rwxr-xr-x 1 root root 493 Aug 13 23:09 sanity ...blah blah blah... 

И, вручную запустить, кажется, работает:

root@raspberrypi:/etc/init.d|⇒ sh sanity start sanity script is running START START START root@raspberrypi:/etc/init.d|⇒ sh sanity stop sanity script is running STOP STOP STOP root@raspberrypi:/etc/init.d|⇒ sh sanity sanity script is running Usage: /etc/init.d/sanity  root@raspberrypi:/etc/init.d|⇒ cat /root/STOP.txt STOP STOP STOP root@raspberrypi:/etc/init.d|⇒ cat /root/START.txt START START START root@raspberrypi:/etc/init.d|⇒ cat /root/FAIL.txt FAIL FAIL FAIL 

Выглядит хорошо. Теперь я настроил его запуск при загрузке, затем попытался запустить его как службу ... но ничего не происходит.

root@raspberrypi:/etc/init.d|⇒ update-rc.d sanity defaults insserv: warning: script 'K01sanity' missing LSB tags and overrides insserv: warning: script 'sanity' missing LSB tags and overrides root@raspberrypi:/etc/init.d|⇒ service sanity start root@raspberrypi:/etc/init.d|⇒ ls /root configurations root@raspberrypi:/etc/init.d|⇒ 

Итак, что я здесь делаю не так? Есть ли что-то особенное в Малиновом Писе, которое мне не хватает? Я точно знаю, что делал это раньше с Ubuntu и Debian, и у меня никогда не было таких проблем. Это сводит меня с ума.

0

2 ответа на вопрос

0
cgm123

(Извините @ Gogeta70)

Я на самом деле в конечном итоге с помощью systemd. Вот пример службы Dropbox, которую я получил, которая зависит от двух вещей:

[Unit]  Description=Dropbox as a system service After=local-fs.target network.target  [Service] User=me Restart=always ExecStart=/opt/dropbox/dropboxd Restart=on-failure RestartSec=1  [Install] WantedBy=default.target 

Я назвал файл dropbox.serviceи поместил его в/etc/systemd/system/

-1
Gala

Используйте systemd для управления сервисами.

Okay, you didn't really answer my question but after a lot of reading I eventually accomplished what I wanted. One thing I was completely unable to do was make a service unit dependent on two path units. Can you point me to any doc that deals specifically with path units and/or unit dependencies? cgm123 7 лет назад 0
@ cgm123 Я знаю, что прошло два года, но было бы неплохо, чтобы вы опубликовали решение, которое вы нашли, как ответ на свой вопрос. Я сейчас сталкиваюсь с теми же проблемами, что и вы ... Gogeta70 5 лет назад 0

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