我运行一个 sysV linux 发行版:Devuan(这是一个带有 sysV 而不是 systemD 的 Debian)
我愿意:
/usr/sbin/service --status-all
[ ? ] alsa-utils
[ - ] anacron
[ + ] apparmor
[ + ] bluetooth
[ - ] bootlogd
[ - ] bootlogs
[ - ] bootmisc.sh
[ + ] brightness
[ - ] checkfs.sh
[ - ] checkroot-bootclean.sh
[ - ] checkroot.sh
[ - ] console-setup.sh
[ + ] cron
[..]
如您所见,service apparmor 正在运行吗?
我检查默认运行级别
/sbin/runlevel
N 2
ls /etc/rc2.d/S* -1
/etc/rc2.d/S02bootlogs
/etc/rc2.d/S02lvm2-lvmpolld
/etc/rc2.d/S02pulseaudio-enable-autospawn
/etc/rc2.d/S02rsyslog
/etc/rc2.d/S02sudo
/etc/rc2.d/S03anacron
/etc/rc2.d/S03cron
/etc/rc2.d/S03dbus
/etc/rc2.d/S03hddtemp
/etc/rc2.d/S03rmnologin
/etc/rc2.d/S03rsync
/etc/rc2.d/S04bluetooth
/etc/rc2.d/S04elogind
/etc/rc2.d/S04network-manager
/etc/rc2.d/S04slim
/etc/rc2.d/S05rc.local
/etc/rc2.d/S05stop-bootlogd
apparmor 没有出现,所以我制作了一个片段来尝试查找它是否在某个时刻启动:
for i in {0..5};do find /etc/"rc${i}.d" -name 'S*' -exec basename {} \;;done | sort -u | grep appar
解释: for i in {0..5} -> 检查所有运行级别(第 6 个除外);我不需要完整路径,因此我进行基本命名、唯一排序,并检查 apparmor 是否在某个时刻出现,但它不会产生任何输出。
我不太了解 sysV,我当然错过了一些东西,但我想了解我错过了什么。
大家有什么想法吗?
答案1
AppArmor 初始化脚本链接在 中/etc/rcS.d/
,以确保它尽早启动。您将在 中找到脚本本身/etc/init.d/apparmor
,其中有一个 LSB 标头指定何时启动它:
# Default-Start: S