Текущее: # chkconfig --list ntpd ntpd 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл # ls -lR /etc/rc.d/rc*.d/*ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc0.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc1.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc2.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc3.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc4.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc5.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc6.d/K60ntpd -> ../init.d/ntpd # /etc/rc.d/init.d/ntpd status ntpd is running Модуль альтератора services Выбрано: - Остановить - Запускать при загрузке системы (маркер снят) Применить. Применение останавливает сервис # /etc/rc.d/init.d/ntpd status ntpd is stopped но не выключает его # chkconfig --list ntpd ntpd 0:выкл 1:выкл 2:вкл 3:вкл 4:вкл 5:вкл 6:выкл # ls -lR /etc/rc.d/rc*.d/*ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc0.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc1.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc2.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc3.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc4.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 17 2017 /etc/rc.d/rc5.d/S90ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc6.d/K60ntpd -> ../init.d/ntpd Если сервис остановлен и выключен # chkconfig ntpd off # ls -lR /etc/rc.d/rc*.d/*ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc0.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc1.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc2.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc3.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc4.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc5.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc6.d/K60ntpd -> ../init.d/ntpd # /etc/rc.d/init.d/ntpd status ntpd is stopped то - Запустить - Запускать при загрузке системы (маркер установлен) запустит сервис # /etc/rc.d/init.d/ntpd status ntpd is running но не включит его # chkconfig --list ntpd ntpd 0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл # ls -lR /etc/rc.d/rc*.d/*ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc0.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc1.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc2.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc3.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc4.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 апр 27 22:53 /etc/rc.d/rc5.d/K60ntpd -> ../init.d/ntpd lrwxrwxrwx 1 root root 14 май 22 2016 /etc/rc.d/rc6.d/K60ntpd -> ../init.d/ntpd Тема из 3-рёх сообщений на форуме: https://forum.altlinux.org/index.php?topic=41514.0
Надо вникнуть вот в этот участок кода: http://git.altlinux.org/people/manowar/packages/?p=alterator-service-functions.git;a=blob_plain;f=alterator-service-functions/alterator-service-functions;hb=9a9428ba5bff0b578496bb21921f00840f829e68 enable) case "$*" in *:prefer-socket:*) # We are asked to enable the service for # the socket activation only, if possible. if sd_service_exists "$name.service" && \ sd_service_exists "$name.socket" then sd_service_control "$name.service" disable && \ sd_service_control "$name.socket" enable || \ return $? # However, always enable the SysV service. if sd_sysv_avail && \ sysv_service_script_exists "$name" then sysv_service_control "$name" enable fi else _service_control "$name" enable fi ;; *:prefer-service:*|*:prefer-main:*) # We are asked to enable the main service # unit only, if possible. if sd_service_exists "$name.service" && \ sd_service_exists "$name.socket" then sd_service_control "$name.service" enable || \ return $? if ! _service_control "$name.service" is-indirect; then # Disable the socket part only if the main # service isn't indirect. Otherwise # the main service would be completely # disabled with systemd. sd_service_control "$name.socket" disable fi else _service_control "$name" enable fi ;; *:all:*|*:also-socket:*) # We are asked to also enable the socket # unit, if exists. _service_control "$name" enable || return $? if sd_service_exists "$name.socket"; then sd_service_control "$name.socket" enable fi ;; *) _service_control "$name" enable ;; esac ;; is-enabled) # If the SysV native service exists and is disabled # report false. if sd_sysv_avail && \ sysv_service_script_exists "$name" then sysv_service_control "$name" is-enabled || return $? fi # If the socket unit is enabled -- it's considered # enough. sd_service_exists "$name.socket" && \ sd_service_control "$name.socket" is-enabled && \ return 0 _service_control "$name" is-enabled ;; disable) # Completely disable the service by turning off # its socket unit along with the main service. _service_control "$name" disable || return $? if sd_service_exists "$name.socket"; then sd_service_control "$name.socket" disable fi ;; *) _service_control "$name" "$cmd" ;; Перевешиваю на alterator-service-functions
Created attachment 7752 [details] Fix for sysV systems Функция _service_control не отрабатывает на sysV как надо, так как проверяется наличие в системе только systemctl, а он есть во всех системах на sysV! Нужно проверять также ещё и наличие /lib/systemd/systemd-sysv-install
Насколько понимаю, теперь модно проверять по коду возврата /sbin/sd_booted (входит в пакет service с версии 0.5.24-alt1 2013 г.в.).
(В ответ на комментарий №3) > Насколько понимаю, теперь модно проверять по коду возврата /sbin/sd_booted > (входит в пакет service с версии 0.5.24-alt1 2013 г.в.). Я даже больше скажу: этот самый SD_BOOTED уже во-всю используется в alterator-service-functions.
(В ответ на комментарий №4) > (В ответ на комментарий №3) > > Насколько понимаю, теперь модно проверять по коду возврата /sbin/sd_booted > > (входит в пакет service с версии 0.5.24-alt1 2013 г.в.). > > Я даже больше скажу: этот самый SD_BOOTED уже во-всю используется в > alterator-service-functions. Я его видел, но не понял, что это такое. Переделать патч или так сгодится? Тестовое задание 212785 с ним готово и протестировано. Или сами исправите?
(В ответ на комментарий №5) > (В ответ на комментарий №4) > > (В ответ на комментарий №3) > > > Насколько понимаю, теперь модно проверять по коду возврата /sbin/sd_booted > > > (входит в пакет service с версии 0.5.24-alt1 2013 г.в.). > > > > Я даже больше скажу: этот самый SD_BOOTED уже во-всю используется в > > alterator-service-functions. > > Я его видел, но не понял, что это такое. Переделать патч или так сгодится? > Тестовое задание 212785 с ним готово и протестировано. Или сами исправите? Исправьте на sd_booted и проверьте, пожалуйста, раз у вас всё настроено для тестирования.
alterator-service-functions-3.0.0-alt4 -> sisyphus: Mon Sep 10 2018 Anton Midyukov <antohami@altlinux> 3.0.0-alt4 - Fixed for SysV systems (Closes: 34862)
Спасибо! Отправишь в p8?
(В ответ на комментарий №8) > Спасибо! Отправишь в p8? task 212829