[devel] LSB initscript -- грабли
Igor Vlasenko
=?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Вс Фев 1 23:11:43 MSK 2009
On Sun, Feb 01, 2009 at 10:36:39PM +0300, Ivan Fedorov wrote:
> в инит-скрипте clock из пакета не прописаны какие-то поля, которые
> нынче необходимы чтобы выполнить:
>
> chkconfig --add clock
>
> Чего именно там не хватает я уже не помню, а времени съездить и
> посмотреть нету, потому и баги нет...
Да, действительно нет.
clock выглядит (и расположен) как инит-скрипт,
но в действительности вызывается из rc.sysinit
$ grep -r clock /etc/rc.d/rc.sysinit
# Set the system clock (when /etc/adjtime is missing)
[ -s /etc/adjtime ] || /etc/init.d/clock start
# Set the system clock (when /etc/adjtime is present)
[ ! -s /etc/adjtime ] || /etc/init.d/clock start
IMHO, либо уж сделать его честным init script,
либо переложить в
/etc/rc.d/scripts.
К сожалению, не так легко отличить
инит-скрипт с ошибкой от просто скрипта.
Если это тема важна, можно предложить полиси,
что в /etc/rc.d/init.d не должно быть ничего
кроме init scriptов,
библиотек функций
/etc/init.d/functions
/etc/init.d/functions-compat
/etc/init.d/outformat
и традиционных исключений.
/etc/init.d/halt
/etc/init.d/killall
/etc/init.d/local
/etc/init.d/single
Относительно такого полиси проверку написать можно.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
Подробная информация о списке рассылки Devel