我正在使用 chkconfig 来操作 Debian 系统 (LSBInitScripts) 上的运行级别链接。我注意到一些不一致的地方,例如
根据 chkconfig,该脚本umountiscsi.sh
在所有运行级别中都被关闭:
chkconfig umountiscsi.sh --list
umountiscsi.sh 0:off 1:off 2:off 3:off 4:off 5:off 6:off
/etc/rc1.d/
但是,我可以看到和中的符号链接/etc/rc6.d/
ls -lAhF /etc/rc{1,6}.d/*umountiscsi.sh
lrwxrwxrwx 1 root root 24 Jul 23 13:38 /etc/rc1.d/K01umountiscsi.sh -> ../init.d/umountiscsi.sh*
lrwxrwxrwx 1 root root 24 Jul 23 13:38 /etc/rc6.d/K01umountiscsi.sh -> ../init.d/umountiscsi.sh*
rc1.d
和中的符号链接rc6.d
意味着该脚本将在运行级别 1 和 6 下运行(这是它应该运行的方式)。但为什么 chkconfig 不能正确显示它?
答案1
来自 /etc/rc?.d/README:
要禁用此运行级别中的服务,请在此目录中重命名其脚本,以便新名称以“K”和两位数字开头,然后运行“update-rc.d script defaults”以根据依赖关系重新排序脚本。
以 开头的文件S
将启动,K
如果在运行级别切换之前运行,则以 开头的文件将被终止。这就是为什么有一种K
类型,它会停止可能正在运行的某些东西,而不是不执行任何操作(如果不存在的话就会发生这种情况)[SK]??unmountiscsi.sh
。