一部のLinuxディストリビューションにはkernel.sysrq=16
(同期)のみを許可するという意味があります。SysRq + s例: Fedora(25 および 28) は次のように設定されています。/usr/lib/sysctl.d/50-default.conf
できるだけ早く使用できるように/etc/sysctl.d/95-sysrq.conf
手動で設定された場所にファイルを作成する必要があります(ただし、状況によっては十分に高速ではない可能性があります)。kernel.sysrq=1
$ grep -nHi sysrq /usr/lib/sysctl.d/* /etc/sysctl.d/*
/usr/lib/sysctl.d/50-default.conf:16:# Use kernel.sysrq = 1 to allow all keys.
/usr/lib/sysctl.d/50-default.conf:17:# See http://fedoraproject.org/wiki/QA/Sysrq for a list of values and keys.
/usr/lib/sysctl.d/50-default.conf:18:kernel.sysrq = 16
/etc/sysctl.d/95-sysrq.conf:1:kernel.sysrq=1
初期起動でSysrqを有効にしたり設定を無視したりする方法はありますかkernel.sysrq
?cat /proc/cmdline
たとえば、Grubブートメニュー(またはの行xen.cfg
)にカーネルブートパラメータを追加するなどです(現在のエントリの場合)kernel=
。
答え1
sysrq_always_enabled
カーネルブートパラメータに応じて文書:
sysrq_always_enabled
[KNL]
Ignore sysrq setting - this boot parameter will
neutralize any effect of /proc/sys/kernel/sysrq.
Useful for debugging.
kernel.sysctl=0
カーネルブートパラメータを追加しても(上記の記事で述べたように)、Sysrqが動作しているか(例:ヘルプ、同期)テストしましたsysrq_always_enabled
(注:必ずしもそうではありません)。sysrq_always_enabled=1
)。 (再確認するためにSysrqが
ないときとないときに動作しないマップテストしました)kernel.sysctl=0
sysrq_always_enabled
/proc/cmdline
ソースコードこれも確認されました。
注:/proc/sys/kernel/sysrq
読み取り/書き込みの別の方法です。kernel.sysrq
sysrq に関する追加情報:https://www.kernel.org/doc/html/v4.15/admin-guide/sysrq.html
(sysrq_always_enabled
言及されていないが、ここ)
編集する:sysrq_always_enabled
適用されると、dmesg行があります。
[ 0.000000] sysrq: sysrq always enabled.