LINUX.ORG.RU
решено ФорумAdmin

Не работает update-rc.d на Debian 7

 ,


0

1

Нудно запускать апач последним. Имеем:

root@debian: # cat /etc/inittab
id:3:initdefault:
root@debian: /etc/rc3.d # ll
total 4
-rw-r--r-- 1 root root 677 Jul 14  2013 README
lrwxrwxrwx 1 root root  14 May 14 16:12 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root  17 May 14 16:40 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx 1 root root  20 May 14 16:40 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx 1 root root  17 May 14 16:40 S16rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  32 May 14 16:40 S16virtualbox-guest-utils -> ../init.d/virtualbox-guest-utils
lrwxrwxrwx 1 root root  17 May 14 17:23 S17apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root  15 May 14 17:06 S18acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  13 May 14 17:06 S18atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 May 14 17:06 S18cron -> ../init.d/cron
lrwxrwxrwx 1 root root  15 May 14 17:06 S18exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 May 14 17:06 S18ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  18 May 14 17:06 S20bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  18 May 14 17:06 S21rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 May 14 17:06 S21rmnologin -> ../init.d/rmnologin

Делаем:

# update-rc.d apache2 defaults 92
update-rc.d: using dependency based boot sequencing
Получаем:
root@debian: /etc/rc3.d # ll
total 4
-rw-r--r-- 1 root root 677 Jul 14  2013 README
lrwxrwxrwx 1 root root  14 May 14 16:12 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root  17 May 14 16:40 S13rpcbind -> ../init.d/rpcbind
lrwxrwxrwx 1 root root  20 May 14 16:40 S14nfs-common -> ../init.d/nfs-common
lrwxrwxrwx 1 root root  17 May 14 16:40 S16rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  32 May 14 16:40 S16virtualbox-guest-utils -> ../init.d/virtualbox-guest-utils
lrwxrwxrwx 1 root root  17 May 14 17:23 S17apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root  15 May 14 17:06 S18acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  13 May 14 17:06 S18atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 May 14 17:06 S18cron -> ../init.d/cron
lrwxrwxrwx 1 root root  15 May 14 17:06 S18exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 May 14 17:06 S18ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  18 May 14 17:06 S20bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  18 May 14 17:06 S21rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 May 14 17:06 S21rmnologin -> ../init.d/rmnologin

Апач как был S17 так и остался. Подскажите куда копать? Почему не работает?


dependency-based order же - откуда такой синтаксис

# update-rc.d apache2 defaults 92
аргумент 92 здесь вроде просто игнорируется: man update-rc.d

Нужно либо изменить зависимости в хедеров для скрипта поместив альтернативные хедеры в /etc/insserv/overrides/ (см. man insserv) и перегенерить через insserv, либо вручную переименовать символические ссылки (они будут сохранены при апдейтов и т.д. см. man update-rc.d)

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

Переименование ссылок не работает. Задача поставить postgresql перед стартом gitlab ибо без него не запустится.

S16postgresql -> ../init.d/postgresql
S17gitlab-ci-runner -> ../init.d/gitlab-ci-runner
И все равно gitlab запускается до postgres.

Про insserv еще не курил.

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

Спасибо! Решил с помощью insserv. Создаем файл:
/etc/insserv.conf.d/postgresql

$postgresql     postgresql
В файл /etc/init.d/gitlab-ci-runner добавим postgresql:
# Required-Start:    $local_fs $remote_fs $network $syslog $postgresql
Проверим что все норм:
insserv -n
insserv: remove service /etc/init.d/../rc2.d/S17postgresql
insserv: enable service ../init.d/postgresql -> /etc/init.d/../rc2.d/S18postgresql
insserv: remove service /etc/init.d/../rc2.d/S18postfix
insserv: enable service ../init.d/postfix -> /etc/init.d/../rc2.d/S19postfix
insserv: remove service /etc/init.d/../rc2.d/S18gitlab-ci-runner
insserv: enable service ../init.d/gitlab-ci-runner -> /etc/init.d/../rc2.d/S19gitlab-ci-runner
insserv: remove service /etc/init.d/../rc3.d/S17postgresql
insserv: enable service ../init.d/postgresql -> /etc/init.d/../rc3.d/S18postgresql
insserv: remove service /etc/init.d/../rc3.d/S18postfix
insserv: enable service ../init.d/postfix -> /etc/init.d/../rc3.d/S19postfix
insserv: remove service /etc/init.d/../rc3.d/S18gitlab-ci-runner
insserv: enable service ../init.d/gitlab-ci-runner -> /etc/init.d/../rc3.d/S19gitlab-ci-runner
insserv: remove service /etc/init.d/../rc4.d/S17postgresql
insserv: enable service ../init.d/postgresql -> /etc/init.d/../rc4.d/S18postgresql
insserv: remove service /etc/init.d/../rc4.d/S18postfix
insserv: enable service ../init.d/postfix -> /etc/init.d/../rc4.d/S19postfix
insserv: remove service /etc/init.d/../rc4.d/S18gitlab-ci-runner
insserv: enable service ../init.d/gitlab-ci-runner -> /etc/init.d/../rc4.d/S19gitlab-ci-runner
insserv: remove service /etc/init.d/../rc5.d/S17postgresql
insserv: enable service ../init.d/postgresql -> /etc/init.d/../rc5.d/S18postgresql
insserv: remove service /etc/init.d/../rc5.d/S18postfix
insserv: enable service ../init.d/postfix -> /etc/init.d/../rc5.d/S19postfix
insserv: remove service /etc/init.d/../rc5.d/S18gitlab-ci-runner
insserv: enable service ../init.d/gitlab-ci-runner -> /etc/init.d/../rc5.d/S19gitlab-ci-runner
insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop
Запускаем insserv без -n и радуемся :)

- - - - -

Есть вопрос знатокам. Почему не работает ручное переименование ссылок?

Disova
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.