
Linuxランレベルの調査中にDEFAULT_RUNLEVELを変更しようとすると、自分で説明できない問題に遭遇しました。
Mintを起動すると、DEFAULT_RUNLEVELが2と明示的に指定されているにもかかわらず、ランレベル5で起動します。
Linux Mint 18.3 にはデフォルトで /etc/inittab はありません。したがって、DEFAULT_RUNLEVEL 構成は /etc/init/rc-sysinit.conf で提供されます。
以下の抜粋に示すように、ファイルにはDEFAULT_RUNLEVELまたはRUNLEVELへのいくつかの参照があります。
# Default runlevel, this may be overriden on the kernel command-line
# or by faking an old /etc/inittab entry
env DEFAULT_RUNLEVEL=2
しかし、/etc/inittabはありません。それで、rc-sysinit.confファイルを読み続けます。
for ARG in $(cat /proc/cmdline)
do
case "${ARG}" in
-b|emergency)
# Emergency shell
[ -n "${FROM_SINGLE_USER_MODE}" ] || sulogin
;;
[0123456sS])
# Override runlevel
DEFAULT_RUNLEVEL="${ARG}"
;;
-s|single)
# Single user mode
[ -n "${FROM_SINGLE_USER_MODE}" ] || DEFAULT_RUNLEVEL=S
;;
esac
done
これが私の問題に対する解決策であるようですが、/proc/cmdlineを見てみると、cat /proc/cmdlineは次のような出力を生成するので、ケース[0123456sS]を満たさないことがわかります。
BOOT_IMAGE=/boot/vmlinuz-4.10.0-38-generic root=UUID=03a422a0-4301-4153-8c60-1ea912ad732f ro quiet splash vt.handoff=7
DEFAULT_RUNLEVELをオーバーライドできる他の場所はありますか?