先日Debian sid amd64環境でprocps
の更新がありました.
$ apt show procps Package: procps Version: 2:3.3.12-4 Priority: important Section: admin Maintainer: Craig Small <csmall@debian.org> Installed-Size: 712 kB Provides: watch Depends: libc6 (>= 2.15), libncurses5 (>= 6), libncursesw5 (>= 6), libprocps6, libtinfo5 (>= 6), lsb-base (>= 3.0-10), init-system-helpers (>= 1.29~) Recommends: psmisc Conflicts: pgrep (<< 3.3-5), w-bassman (<< 1.0-3) Breaks: guymager (<= 0.5.9-1), open-vm-tools (<= 2011.12.20-562307-1) Homepage: https://gitlab.com/procps-ng/procps Tag: admin::monitoring, implemented-in::c, interface::commandline, interface::text-mode, role::program, scope::utility, uitoolkit::ncurses, use::checking, use::monitor, works-with::software:running Download-Size: 251 kB APT-Manual-Installed: yes APT-Sources: http://ftp.jp.debian.org/debian sid/main amd64 Packages Description: /proc ファイルシステムユーティリティ 本パッケージは procfs を閲覧するためのコマンドラインおよび全画面のユーティ リティを提供します。procfs とは "擬似的な" ファイルシステムで、カーネルによ り動的に生成されます。カーネルのプロセステーブル内のエントリの状態に関する 情報 (例えば、プロセスが稼働中、停止中、または "ゾンビ" である、など) が提 供されます。 . 本パッケージには次のものが含まれます: free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, watch。
更新に伴い/etc/sysctl.conf
の更新がありました.
設定ファイル '/etc/sysctl.conf' ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。 ==> パッケージ配布元が更新版を提供しています。 どうしますか? 以下の選択肢があります: Y か I : パッケージメンテナのバージョンをインストールする N か O : 現在インストールされている自分のバージョンを残す D : 両バージョンの差異を表示する Z : 状況を調査するためにシェルを開始する デフォルトでは現在使っている自分のバージョンを残します。 *** sysctl.conf (Y/I/N/O/D/Z) [デフォルト=N] ? D
差分を見ると自分で編集した部分以外はコメントだけだったのですが,気になる項目が.
@@ -61,18 +61,13 @@ ################################################################### # Magic system request Key -# 0=disable, 1=enable all -# Debian kernels have this set to 0 (disable the key) -# See https://www.kernel.org/doc/Documentation/sysrq.txt +# 0=disable, 1=enable all, >1 bitmask of sysrq functions +# Debian kernels have this set to 438 which is the OR of: +# 64 = enable signalling of processes +# 128 = allow reboot/poweroff +# 256 = allow nicing of all RT tasks +# +# See https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html # for what other values do -#kernel.sysrq=1 +#kernel.sysrq=438
Magic system request Keyの項目が以前は0 or 1で有効か無効化のみだったと思うのですが,細かく指定できるようになっているようです.
0 – disable sysrq completely
1 – enable all functions of sysrq
>1 – bitmask of allowed sysrq functions (see below for detailed function description):
てことでkernel.sysrq=438
は16進数で0x1B6
なので
$bc obase=16 438 1B6
以下が有効ということのようです.
2 = 0x2 – enable control of console logging level
4 = 0x4 – enable control of keyboard (SAK, unraw)
16 = 0x10 – enable sync command
32 = 0x20 – enable remount read-only
128 = 0x80 – allow reboot/poweroff
256 = 0x100 – allow nicing of all RT tasks
無効になっているのは以下の項目.
8 = 0x8 – enable debugging dumps of processes etc.
64 = 0x40 – enable signalling of processes (term, kill, oom-kill)
kernel configを見るとこの項目になっています.少なくとも4.13.0-1〜4.14.13-1
以降は同じみたい.
$ zgrep ONFIG_MAGIC_SYSRQ /boot/config-`uname -r` CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6 CONFIG_MAGIC_SYSRQ_SERIAL=y
ということでコメントが実際のkernelの項目と同じになったということみたいなので動作は変わらないようです.
追記)
昔使い方を知りたくて調べたときに見つけた文章は@miurahrさん翻訳のものでした.その後 #Koedolug で本人に遭遇.