Update rc d error drbd default start contains no runlevels aborting

I want to define a simple service to be started at boot, being on Ubuntu server 16.10. So I have created a /etc/init.d/mydaemon I somehow messed up between upstart and systemd: at first I thought ...

I want to define a simple service to be started at boot, being on Ubuntu server 16.10. So I have created a /etc/init.d/mydaemon

I somehow messed up between upstart and systemd: at first I thought I had to setup an upstart service. So after converting my file to an upstart syntax, I ran update-rc.d mydaemon defaults.

I figured out my error and ran update-rc.d mydaemon remove, converted to systemd syntax, and ran systemctl enable mydaemon, but get the error:

mydaemon.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mydaemon
update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting.

asked May 11, 2017 at 13:27

CharlesB's user avatar

I had the same error when porting a sysv script from a redhat box to ubuntu. I needed to add some headers to the script

### BEGIN INIT INFO
# Provides:          my-service-name
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: your description here
### END INIT INFO

found in https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting

answered Feb 14, 2018 at 11:31

nick fox's user avatar

nick foxnick fox

6416 silver badges8 bronze badges

2

The problem was the location of the file, on Ubuntu server it expects it in /etc/systemd/system, /etc/init.d/ is for legacy files.

answered May 11, 2017 at 13:27

CharlesB's user avatar

CharlesBCharlesB

5151 gold badge4 silver badges20 bronze badges

3

Just to add on to the answer from @CharlesB — when I got into this state I was able to simply move the file from /etc/init.d/ to /etc/systemd/system/ and rerun the command and it worked properly:

sudo mv /etc/init.d/mydaemon /etc/systemd/system/
sudo systemctl enable mydaemon

answered Sep 6, 2017 at 9:45

Cory's user avatar

CoryCory

3912 gold badges5 silver badges10 bronze badges

2

I had the same error and I fixed it putting the default start information, as follow:

vi /etc/init.d/greenbone-security-assistant

Change from:

# Default-Start:

to:

# Default-Start: 2 3 4 5

:wq

root@kali:/etc/init.d# systemctl enable greenbone-security-assistant

Synchronizing state of greenbone-security-assistant.service with SysV service script with /lib/systemd/systemd-sysv-install.

Executing: /lib/systemd/systemd-sysv-install enable greenbone-security-assistant

answered Jul 26, 2019 at 15:55

Fernando Galves's user avatar

I want to define a simple service to be started at boot, being on Ubuntu server 16.10. So I have created a /etc/init.d/mydaemon

I somehow messed up between upstart and systemd: at first I thought I had to setup an upstart service. So after converting my file to an upstart syntax, I ran update-rc.d mydaemon defaults.

I figured out my error and ran update-rc.d mydaemon remove, converted to systemd syntax, and ran systemctl enable mydaemon, but get the error:

mydaemon.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mydaemon
update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting.

asked May 11, 2017 at 13:27

CharlesB's user avatar

I had the same error when porting a sysv script from a redhat box to ubuntu. I needed to add some headers to the script

### BEGIN INIT INFO
# Provides:          my-service-name
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: your description here
### END INIT INFO

found in https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting

answered Feb 14, 2018 at 11:31

nick fox's user avatar

nick foxnick fox

6416 silver badges8 bronze badges

2

The problem was the location of the file, on Ubuntu server it expects it in /etc/systemd/system, /etc/init.d/ is for legacy files.

answered May 11, 2017 at 13:27

CharlesB's user avatar

CharlesBCharlesB

5151 gold badge4 silver badges20 bronze badges

3

Just to add on to the answer from @CharlesB — when I got into this state I was able to simply move the file from /etc/init.d/ to /etc/systemd/system/ and rerun the command and it worked properly:

sudo mv /etc/init.d/mydaemon /etc/systemd/system/
sudo systemctl enable mydaemon

answered Sep 6, 2017 at 9:45

Cory's user avatar

CoryCory

3912 gold badges5 silver badges10 bronze badges

2

I had the same error and I fixed it putting the default start information, as follow:

vi /etc/init.d/greenbone-security-assistant

Change from:

# Default-Start:

to:

# Default-Start: 2 3 4 5

:wq

root@kali:/etc/init.d# systemctl enable greenbone-security-assistant

Synchronizing state of greenbone-security-assistant.service with SysV service script with /lib/systemd/systemd-sysv-install.

Executing: /lib/systemd/systemd-sysv-install enable greenbone-security-assistant

answered Jul 26, 2019 at 15:55

Fernando Galves's user avatar

I’m trying to check if this solution would help me with auto restarting after shutdown.

But command sudo systemctl enable haltusbpower.service is followed by error:

Synchronizing state of haltusbpower.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable haltusbpower
update-rc.d: error: haltusbpower Default-Start contains no runlevels, aborting.

My /usr/lib/systemd/system/haltusbpower.service file:

[Unit]
Description=haltusbpower
Before=shutdown.target
DefaultDependencies=no

[Service]
ExecStart=/usr/local/bin/haltusbpower.sh
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=shutdown.target

My /usr/local/bin/haltusbpower.sh script:

#!/bin/bash
for i in /sys/bus/usb/devices/*/power/control;
        do echo on > $i
done

It has execute option:

karol@karol:~$ ls -l /usr/local/bin/haltusbpower.sh
-rwxr-xr-x 1 root root 88 kwi 27 13:03 /usr/local/bin/haltusbpow

Why enabling haltusbpower doesn’t work? And what followed error means? I don’t understand where to look for errors.

asked Apr 27, 2017 at 11:25

Volz's user avatar

1

At the top of your /usr/local/bin/haltusbpower.sh script add something like this:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          haltusbpower
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Halts USB power...
### END INIT INFO

answered Jun 14, 2017 at 14:05

John Elliot V's user avatar

3

I had the same error message but it included a message about missing LSB tags and overrides.

I looked in htop and had multiple processes tailing the log from when I tested the service using /usr/local/bin/./MyService.sh start and /usr/local/bin/./MyService.sh stop. Once I killed these processes it was successful.

The start and stop test command was taken from http://www.jcgonzalez.com/ubuntu-16-java-service-wrapper-example

answered Mar 2, 2018 at 17:51

mboza2's user avatar

I just wanted to repost the comment attached to original question as an answer since it was resolved my issue.

I had started with a shell script /etc/init.d/kafka and was using that with a start and stop flag. I then wrote a SystemD unit file and placed it in /etc/systemd/system/kafka.service. Many systemctl commands such as systemctl cat kafka and systemctl status kafka show that the unit-file was detected as the latter kafka.service file, yet somehow old one in /etc/init.d conflicted with this. As soon as I removed it, I was able to enable the service.

I cannot find any documentation on this behavior.

answered May 30, 2020 at 0:38

Aaron Chamberlain's user avatar

I am trying to make my custom made daemon run at startup
and when I call
update-rc.d ydcd enable

I get the error

update-rc.d: using dependency based boot sequencing
update-rc.d: error: MyDaemon Default-Start contains no runlevels, aborting.

I’m running Debian wheezy, init is SysVinit.

Googling it does not give me any valuable info, so I come here as a last resort.

What’s going on here?
What do I need to change in my init.d script in order to make this work?

Edit:

Here’s the script:

#!/bin/bash
#
#ydcd.daemon
#
# chkconfig: 2345 85 15
# description: MyServiceName
# processname: MyServiceName
# source function library

. /lib/lsb/init-functions

RETVAL=0
NAME=ydcd.daemon
# YOU CAN SET ANY PATH BUT IS RECOMENDED TO USE THE DISTRO'S STANDARD ONE.
DAEMON=/home/debian/yd_cd/$NAME
prog=$(basename $DAEMON)
lockfile=/var/lock/$NAM

SVC_FILE=$DAEMON
start() {
    if [ -f $SVC_FILE ]; then
      #reset
      echo -n "Starting "$SVC_FILE": "
      RETVALS=$(start-stop-daemon -S -b -x $SVC_FILE -- -r)

          Count=${#RETVALS[@]}
      RETVAL="[FAIL]"

          if [ $Count -eq 0 ]; then
        RETVAL="[OK]"
      elif [ $Count -eq 1 ]; then
        if [ ${#RETVALS[0]} -eq 0 ]; then
          RETVAL="[OK]"
        else
          iStart=${#SVC_FILE}
          iLength=${#RETVALS[0]}
          Response=${RETVALS[0]:(iStart+1):7}
          RETVAL=$Response
          if [ "$Response" == "already" ]; then
            RETVAL="[OK]"
          fi
        fi
      fi
      echo $RETVAL
          return 0
    else
      echo $SVC_ALIAS" not installed" $SVC_DIR
      exit 2;
    fi
}

stop() {
    echo -n "Shutting down "$SVC_FILE":"
    RETVALS=$(start-stop-daemon -K -x $SVC_FILE -- s)
    #additional PROCKILLS=$(killall -w -q -e $SVC_PROCESS_NAME $SVC_FILENAME)
    Count=${#RETVALS[@]}
    Index=0
    RETVAL="[FAIL]"
    if [ $Count -eq 1 ]; then
        if [ ${#RETVALS[0]} -eq 0 ]; then
            RETVAL="[OK]"
        else
            Response=${RETVALS[0]:0:2}
            RETVAL=$Response
            if [ "$Response" == "No" ]; then
                RETVAL="[OK]"
            fi
        fi
    else
        RETVAL="[OK]"
    fi

    echo $RETVAL
        return 0
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status $SVC_SERVICE_SCRIPT
        ;;
    restart)
        stop
        start
        ;;
    *)
    echo $SVC_ALIAS" [Invalid Startup Parameters]"
    echo "Usage:  {start|stop|status|restart}"
        exit 1
        ;;
esac
exit $?

  • Печать

Страницы: [1] 2  Все   Вниз

Тема: [Решено] Авто запуск Beanstalkd Worker  (Прочитано 2007 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
Gordon Freeman

Здравствуйте!

Не оставляйте без внимания мой вопрос, если вы хоть что нибудь знаете расскажите.
Уже несколько недель пытаюсь решить проблему и не как не могу..

В системе стоит beanstalkd — сервер очередей…
Но это просто очередь заданий, а то что они должны выполнять это отдельный скрипт, который должен работать в фоне, как обычное приложение или демон… Проблема таки в том что не могу понять как запустить такой скрипт.
Сам код который будет выполнятся уже есть в ручную запускал в консоле все работает, но мне надо что бы запускался автоматом при запуске системы…

« Последнее редактирование: 20 Октября 2017, 22:28:06 от Gordon Freeman »


Оффлайн
EvangelionDeath

Так как не указана версия Ubuntu, то вариант реализации зависит от вашей версии
1) Для систем с initd создать скрипт запуска и добавить в запуск при старте системы (14.04 и менее)
2) Создать конфигурацию для systemd (для 14.10 и выше) и добавить в автозапуск
3) Общие:
 а) если вы используете графическую оболочку — добавить скрипт в запуск при логине
 б) прописать скрипт в конфиг того shell, которым пользуетесь (если используете консоль)

HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04


Оффлайн
Gordon Freeman

Так как не указана версия Ubuntu, то вариант реализации зависит от вашей версии

Ubuntu 16.04.1 LTS (GNU/Linux 2.6.32-042stab120.19 x86_64)

Для систем с initd создать скрипт запуска и добавить в запуск при старте системы (14.04 и менее)

В интернете столько всякого гавна, что не понятно что правильно а что нет… Подскажете простой пример запуска php скрипта?


Оффлайн
EvangelionDeath

Gordon Freeman, Тогда сервис для Systemd

https://help.ubuntu.ru/wiki/systemd — общая инфа. По ссылкам на страничке более подробно все расписано.
Ну а сам Exec будет иметь примерно вид

Exec=/usr/bin/php /path/to/script

Еще есть вариант — добавить в крон

@reboot /usr/bin/php /path/to/script

Ну и сам сервис /lib/systemd/system/service-beanstalkd.service

[Unit]
Description=Start beanstalkd
After=systemd-remount-fs.service
Requires=systemd-remount-fs.service

[Service]
ExecStart=/usr/bin/php /path/to/script
Type=oneshot
RemainAfterExit=yes
Restart=always

[Install]
WantedBy=multi-user.target

После чего выполняем:

sudo systemctl enable service-beanstalkd.service
sudo systemctl start service-beanstalkd.service

HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04


Оффлайн
Gordon Freeman

получился вот такое содержимое файла

[Unit]
Description=Beanstalkd Worker - Actions
After=systemd-remount-fs.service
Requires=systemd-remount-fs.service

 [Service]
ExecStart=/usr/bin/php /var/www/html/pdm/actions.php
Type=oneshot
RemainAfterExit=yes
Restart=always

 [Install]
WantedBy=multi-user.target


Добавил файл в /etc/systemd/system
символьная ссылка создана в multi-user.target.wants

В консоле набераю

sudo systemctl status service-beanstalkd.service
выдает ошибку

service-beanstalkd.service - Beanstalkd Worker - Actions
   Loaded: error (Reason: Invalid argument)
   Active: inactive (dead)

Если набераю в консоле

sudo systemctl start service-beanstalkd.service
выдает ошибку

Failed to start service-beanstalkd.service: Unit service-beanstalkd.service is not loaded properly: Invalid argument.
See system logs and 'systemctl status service-beanstalkd.service' for details.

Я же могу ее потом добавить в автозагрузку?

sudo update-rc.d service-beanstalkd.service enable

« Последнее редактирование: 20 Октября 2017, 19:22:02 от Gordon Freeman »


Оффлайн
EvangelionDeath

Gordon Freeman,

sudo systemctl enable service-beanstalkd.service
Это и добавляет его в автозагрузку. Вы сделали все в порядке, в котором я указал? И да, если не может стартануть — после этого покажите вывод

systemctl status service-beanstalkd.service

HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04


Оффлайн
ARTGALGANO

а

sudo systemctl daemon-reloadсделали?


Оффлайн
ecc83

выдает ошибку […] Invalid argument.


Оффлайн
Gordon Freeman

Gordon Freeman,
sudo systemctl enable service-beanstalkd.service
Это и добавляет его в автозагрузку. Вы сделали все в порядке, в котором я указал? И да, если не может стартануть — после этого покажите вывод
systemctl status service-beanstalkd.service

Вот содержимое файла

[Unit]
Description=Beanstalkd Worker - Actions
After=systemd-remount-fs.service
Requires=systemd-remount-fs.service

 [Service]
ExecStart=/usr/bin/php "/var/www/html/pdm/actions.php"
Type=oneshot
RemainAfterExit=yes
Restart=always

 [Install]
WantedBy=multi-user.target


Файл назвал actions.service, закинул его в /etc/systemd/system

вот какие ошибки были
http://i4.imageban.ru/out/2017/10/20/67f4617f3f476c1b53ad179950a30c03.png

…………………………………………………….

Если тот же файл залить в папку /lib/systemd/system, то вот ошибки
http://imageban.ru/show/2017/10/20/526e24f09109162a1be7f2a8342685d0/png


Пользователь добавил сообщение 20 Октября 2017, 20:46:25:


а
sudo systemctl daemon-reloadсделали?

А зачем?????
Я же его добавляю, а не обновляю

Правила форума
1.5. Для добавления графических изображений в сообщения требуется использовать внешние сервисы. Подробную инструкцию, а так же список рекомендованных и запрещенных сервисов можно посмотреть в «Руководстве по добавлению изображений на форум»

+10% за повторную вставку полноразмерного изображения после полученного замечания!

Правила форума
2. На форуме ЗАПРЕЩЕНО
2.13. Самовольное модерирование форума, в том числе публикация замечаний другим пользователям, удаление примечаний и правок, внесённых администрацией форума и т.д.  Если вы считаете, что необходимо принять административные меры (закрыть тему, удалить сообщение, привлечь к ответственности участника форума и т.п.), не нужно об этом писать в теме — воспользуйтесь кнопкой «Сообщить модератору».

+30%
—HP

« Последнее редактирование: 20 Октября 2017, 20:55:49 от Haron Prime »


Оффлайн
ARTGALGANO

Gordon Freeman,  сустемд нужно обновить для поиска новых или измененных юнитов


Оффлайн
Gordon Freeman

Gordon Freeman,  сустемд нужно обновить для поиска новых или измененных юнитов

Ааааааааааааааааааа, так а я же не знал зачем это….
Но все равно ошибки те же.


Оффлайн
ARTGALGANO

Gordon Freeman, у вас еще скрипт в /etc/init.d/
update-rc.d:error: actions default-start contains no runlevels, aborting
пропишите заголовок

#!/bin/sh
### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       
### END INIT INFO

 или удалите, оставьте ток системд юнит


Оффлайн
EvangelionDeath

Gordon Freeman, Вы можете делать все по инструкции, а не в своей трактовке и потом писать об ошибках? Покажите ошибки, которые возникют в сервисе, что я описал.

« Последнее редактирование: 20 Октября 2017, 21:58:01 от EvangelionDeath »

HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04


Оффлайн
Gordon Freeman

Вы можете делать все по инструкции, а не в своей трактовке и потом писать об ошибках?

EvangelionDeath Походу я что то пропустил….
1. Вы дали ссылку на общую инфу про Systemd
2. Потом предложили вариант с добавлением в Cron
3. И потом только пример файла service-beanstalkd.service
4. И выполнить две команды….

Ну так где инструкция????

Покажите ошибки, которые возникют в сервисе, что я описал.

Та я же давал ссылки на картинки….

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

Так они же сам создаются…


Пользователь добавил сообщение 20 Октября 2017, 22:06:39:


Все класссс!!!!!!!!!!!!

Запускается, даже автоматически. То что доктор прописал…
Но нарисовалась одна проблема…

Этот сервис запускается раньше чем сама система beanstalkd, из-за этого в лог файлах ошибка

Error displaying the error page: Application Instantiation Error: Socket error 111: Connection refused (connecting to localhost:11300)
Можно же как то поменять очередность запуска???

« Последнее редактирование: 20 Октября 2017, 22:06:39 от Gordon Freeman »


Оффлайн
EvangelionDeath

Этот сервис запускается раньше чем сама система beanstalkd, из-за этого в лог файлах ошибка

Там выше под спойлером. Там уже описан порядок правильно.
А по поводу путей — нельзя в самом сервисе писать пути с символическими ссылками

« Последнее редактирование: 20 Октября 2017, 22:19:32 от EvangelionDeath »

HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04


  • Печать

Страницы: [1] 2  Все   Вверх

Понравилась статья? Поделить с друзьями:
  • Unrecoverable playback error device invalidated
  • Unrecoverable playback error could not query sample rate
  • Unrecoverable playback error could not locate the specified virtual asio device
  • Unrecoverable playback error could not initialize the driver перевести
  • Unrecoverable playback error could not initialize the driver foobar