Еще раз пишу, проблема при выключении компьютера.
При этом при выключении/перезагрузке компьютер "висит" на строчке:
A stop job is running for ccpd.service (** s/5 min 1 s)
или
A stop job is running for SYSV: Canon Print for Cups (** s/5 min 1 s)
Я не systemd-эшник. Но долго за этим наблюдал и моё терпение закончилось.
Лёнька Поттеринг обещал, что в systemd будет всё просто, не то что в этих сраных простынях инитов.
Сначала читать простыню Лёнькиной документации про --force
https://www.freedesktop.org/software/systemd/man/systemctl.htmlОт Лёньки Поттеринга привет:
https://forum.altlinux.org/index.php?topic=32355.msg227745#msg227745Если запуск ccpd прописать как описано здесь: http://solvpro.ru/251-linux-%d0%b8-%d0%bf%d1%80%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d1%8b-canon/
то при выключении/перезагрузке компьютер "висит" на строчке:
A stop job is running for SYSV: Canon Print for Cups (** s/5 min 1 s)
Если запуск ccpd прописать как описано здесь: https://forum.altlinux.org/index.php?topic=40399.msg319047#msg319047, то ccpd не запускается автоматически.
Потому шо инит-скрипту работающему в поттеринго-ините, нужен LSB-хидер, на который sysv-иниту, глубоко насрать.
Ссылки внизу:
https://forum.altlinux.org/index.php?topic=32361.msg253079#msg253079Этот LSB-хидер в инит-скрипте нужен только для интеграции инит-скрипта в поттеринго-инит и ни для чего больше.
Нечто такого с BEGIN INIT INFO
$ head -n 31 /mnt/sda8/etc/rc.d/init.d/cups
#!/bin/sh
# Init file for the CUPS server daemon
#
# chkconfig: 2345 60 40
# description: The Common UNIX Printing System (CUPS), an \
# advanced printer spooling system which \
# allows setting of printer options and \
# automatic availability of a printer \
# configured on one server in the whole \
# network. Default printing system of Linux \
# Mandrake.
#
# processname: cupsd
# config: /etc/cups/cupsd.conf
# config: /etc/cups/client.conf
# config: /etc/cups/classes.conf
# config: /etc/cups/printers.conf
# config: /etc/cups/mime.types
# config: /etc/cups/mime.convs
# config: /etc/cups/ppds.dat
### BEGIN INIT INFO
# Provides: cups
# Required-Start: $syslog $local_fs
# Required-Stop: $syslog $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: The CUPS server daemon
# Description: The CUPS server daemon
### END INIT INFO
но в Required-Start: Required-Stop: указывающих на cups.
Подобно тому, как сервис NetworkManager указывает на messagebus:
стартовать после messagebus
останавливаться перед messagebus
$ sed -n '12,20p' /etc/rc.d/init.d/NetworkManager
### BEGIN INIT INFO
# Provides: network_manager
# Required-Start: $local_fs messagebus
# Required-Stop: $local_fs messagebus
# Default-Start: 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop NetworkManager
# Description: NetworkManager is a tool for easily managing network connections
### END INIT INFO
ИМХО потому как очередь start-stop
# Init file for the CUPS server daemon
#
# chkconfig: 2345 60 40
которую надо изобрести в ccpd для поттеринго-инита
http://solvpro.ru/251-linux-и-принтеры-canon/
# ccpd Canon Printing for CUPS
# chkconfig: 2345 65 35
# description: Canon Printing for CUPS
# processname: ccpd
# config: /etc/ccpd.conf
(стартовать позже чем cups, останавливаться раньше чем cups)
Или читать простыню документации по сыстемдецу и ваять поттеринго-сервис с этими самыми перед и после.
Чтобы если чиво, сыстемдец мог сделать килл застрявшему на шатдаун сервису.
Хотя в sysv, это вообще нонсенс, за исключением smb_umnt существующего по причине засады в NM
(нарушение порядка stop):
- Ни одна сетевая файловая не должна размонтироваться позже дисконнект.