LINUX.ORG.RU

Порядок запуска служб.


0

1

Добрый день. Debian Wheezy. Проблема в следующем. Инет от билайна, настроил, работает. Но при ребуте xl2tpd запускается до того как отработает dhclient и соответственно инет не поднимается. Если xl2tpd перезапустить то все ок.

Делаю:

update-rc.d -f xl2tpd remove
update-rc.d xl2tpd start 99 2 3 4 5 . stop 01 0 1 6 .
Смотрю и все равно:
ls -la /etc/rc3.d/
итого 12
drwxr-xr-x  2 root root 4096 Июл 22 17:38 .
drwxr-xr-x 86 root root 4096 Июл 22 17:23 ..
...
lrwxrwxrwx  1 root root   16 Июл 22 17:38 S18xl2tpd -> ../init.d/xl2tpd
...

Подскажите, как зачтавить xl2tpd запускаться самым последним?



Последнее исправление: zzh (всего исправлений: 2)

S18xl2tpd - {S||K}{index}{service_name}.

В данном случае на уровень запуска 3 добавлен запуск (S) сервиса xl2tpd с очерёдностью (приоритетом) 18 . Выставьте приоритет ниже чем у запуска сети.

kostik87 ★★★★★
()

А что, этот ваш дебиан не поддерживает зависимости в сервисах? Ну ничего, главное дать отпор ужасному systemd.

anonymous
()
Ответ на: комментарий от anonymous

Да как бы всё есть:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          xl2tpd l2tpd
# Required-Start:    $network $syslog $remote_fs
# Required-Stop:     $network $syslog $remote_fs
# Should-Start:      ipsec
# Should-Stop:       ipsec
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: layer 2 tunelling protocol daemon
# Description:       xl2tpd is usually used in conjunction with an ipsec
#                    daemon (such as openswan).
### END INIT INFO

kostik87 ★★★★★
()

Помогло:

# Required-Start: $all
...
   start)
         sleep 5
...

Но все равно почему update-rc.d не делает то что ему говорят, при том что этот функционал описан в руководстве.

zzh
() автор топика

Глупое предположение: а не может ли он запускаться раньше из-за того, что на каком-то уровне запуска xl2tpd есть, а dhclient'а нет?

Поведение update-rc.d, мягко говоря, странное. Он не выдаёт никаких ошибок? Запускаешь от рута?

tiandrey ★★★★★
()
Ответ на: комментарий от tiandrey

Потому и написал, что странное. Запускаю от рута. Пробовал то же самое с openvpn, он встает 17-м и update-rc.d его тоже не хочет двигать в конец. Я изначально думал что нужно что-то прописывать в init-скрипт, но нагуглить ни чего толкового не удалось. Если в инит-скрипт прописывать # Required-Start: $all, то update-rc.d действительно двигает скрипт в конец загрузки. Но dhclient все равно не успевает получить маршруты, по этому пришлось использовать костыль с sleep.

zzh
() автор топика
Ответ на: комментарий от zzh

Ну тогда можно в исходниках поковыряться, а можно забить :) Ну и просто sleep 5 я бы заменил на такую конструкцию:

while ! route -n | grep -q '^0\.0\.0\.0'; do sleep 1; done
Это, конечно, при условии, что по dhcp получается маршрут по умолчанию и используются net-tools, а не iproute.

tiandrey ★★★★★
()
Последнее исправление: tiandrey (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.