クモン は、 Rustで記述されたオープンソースのLinuxカーネルマネージャーおよびアクティビティモニターユーティリティです。 プログラミング言語。これは、Linuxカーネルモジュールを管理し、カーネルアクティビティを監視するためのシンプルなテキストユーザーインターフェイス(TUI)ツールです。これにより、ユーザーはカーネルモジュールの情報をロード、アンロード、ブラックリストに登録、表示できます。これらのカーネル管理アクティビティ、ハードウェアログ、その他のカーネルメッセージはすべて、Kmodのリアルタイムアクティビティモニターによって追跡および表示されます。この簡単なガイドでは、Kmonを使用してLinuxカーネルモジュールを管理および監視する方法を学習します。
LinuxにKmonをインストールする
Rustで書かれているので、Kmonは Cargoを使用してインストールできます パッケージマネージャー。次のリンクの説明に従って、LinuxボックスにRustをインストールします。
- LinuxにRustプログラミング言語をインストールする
次に、次のコマンドを実行してKmonをインストールします。
$ cargo install kmon
KmonはAURで利用できます 。したがって、 YayなどのAURヘルパーツールを使用してインストールできます。 、以下のように。
$ yay -S kmon
KmonはCoprでも利用できます リポジトリ。 Fedoraおよびその他のRPMベースのシステムでは、Kmonリポジトリを有効にします 以下のようにインストールします。
$ sudo dnf copr enable atim/kmon
$ sudo dnf install kmon
他のLinuxディストリビューションでは、リリースページから最新のKmonバイナリをダウンロードします。 。
このガイドを書いている時点で、最新バージョンは 1.0.1でした。 。
$ wget https://github.com/orhun/kmon/releases/download/v1.0.1/kmon-1.0.1.tar.gz
ダウンロードしたアーカイブを抽出します:
$ tar -xvzf kmon-1.0.1.tar.gz
Kmonバイナリを$PATHに移動/コピーします。
$ sudo cp kmon /usr/local/bin/
Kmonのmanページファイルを/usr / local / man / man8 /に移動/コピーします ディレクトリ。
$ sudo mkdir /usr/local/man/man8/
$ sudo gzip /usr/local/man/man8/kmon.8
さらに、 libxcbをインストールする必要があります ヘッドレスサーバーでコマンドをコピーして貼り付けるパッケージ。
Debian / Ubuntuの場合:
$ sudo apt install libxcb1-dev
Fedora / CentOSの場合:
$ sudo dnf install libxcb-devel
Kmonを使用したLinuxカーネルモジュールの管理と監視
Kmonを起動するには、ターミナルから次のコマンドを実行するだけです。
$ kmon

Kmonを使用したLinuxカーネルモジュールの管理と監視
上記の出力でわかるように、Kmonには5つのブロックがあります。
- 検索ボックス 左上-ユーザーが特定のカーネルモジュールを検索できるようにします。
- カーネルリリース 上部中央-現在ロードされているカーネルリリース番号を表示します。 Tabキーを押し続けると、カーネルバージョンとカーネルプラットフォームが表示されます。
- ロードされたカーネルモジュール 検索ボックスの下-ロードされたモジュールのリストを表示します。
- モジュール 右上-LoadedKernelModulesブロックから選択したモジュールの情報を表示します。
- カーネルアクティビティ 下部-すべてのカーネルアクティビティ、ハードウェアログ、およびその他のカーネルメッセージを表示します。
Kmonヘルプを表示する
?を押します またはF1 ヘルプセクションを表示するためのキー。
カーネルの詳細を表示する
現在ロードされているカーネルのバージョン、リリース番号、およびプラットフォームを表示するには、 TABを押します。 キー。
ブロックを切り替える
右/左を使用してブロックを切り替えることができます 矢印またはh/ l キー。
ブロック内を上下にスクロール
上/下を使用する 、 k / j 、 alt-k / j 選択したブロック内を上下にスクロールするためのキー。
カーネルアクティビティを上下にスクロール
PgUp / PgDnを押します Kernalアクティビティを上下にスクロールするためのキー。同様に、カーネルアクティビティを(水平方向に)左または右にスクロールするには、 alt-hを押します。 およびalt-l キー。これは、カーネルアクティビティブロックに収まらない長いカーネルアクティビティメッセージを読み取るときに役立ちます。
スムーズなスクロール
alt-jを使用する およびalt-k カーネルアクティビティとモジュール情報ブロックをゆっくりスクロールするためのキー。
カーネルモジュールの詳細を表示する
特定のカーネルモジュールの情報を表示するには、LoadedKernelModulesブロックで上/下矢印を使用してそのモジュールを選択するだけです。選択したモジュールがモジュールブロックに表示されます。
カーネルモジュールを検索する
矢印キーを使用して検索ボックスを選択するか、 sを押します または/ またはENTER キーを押して、検索ボックスにモジュールの名前を入力します。

Kmonでカーネルモジュールを検索
モジュールのロード
モジュールをLinuxカーネルにロードするには、 +のいずれかを押します。 またはi または挿入 ロードモードに切り替えるためのキー。上/下矢印を押して、検索モードとロードモードを切り替えることもできます。ロードするモジュールの名前を入力します。

モジュールのロード
最後に、 Yを押します モジュールのロードを確認します。ロード操作をキャンセルするには、 nを押すだけです。 。

Kmonを使用してモジュールをLinuxカーネルにロードする
モジュールのロードに使用されるコマンドが右側に表示されます。
$ modprobe <module_name>
モジュールのアンロード
Loaded Kernel Modulesブロックで、Linuxカーネルからアンロードするモジュールを選択します。次に、-を押します またはu またはバックスペース キーを押してYを押します 選択したモジュールをLinuxカーネルから削除します。

Kmonを使用してLinuxカーネルからモジュールをアンロードします
モジュールのロードに使用されるコマンドが右側に表示されます。
$ modprobe -r <module_name>
ブラックリストモジュール
Kmonを使用すると、モジュールをブラックリストに登録できます。つまり、Linuxカーネルにロードされないようにすることができます。 Loaded Kernel Modulesブロックからブラックリストに登録するモジュールを選択し、 xを押します。 またはb または削除 キーを押しながらYキーを押して、操作を確認します。

Kmonを使用したカーネルモジュールのブラックリスト
選択したモジュールをブラックリストに登録するために使用したコマンドが右側に表示されます。
if ! grep -q <module_name> /etc/modprobe.d/blacklist.conf; then echo 'blacklist <module_name>' >> /etc/modprobe.d/blacklist.conf echo 'install <module_name> /bin/false' >> /etc/modprobe.d/blacklist.conf fi
コピー/貼り付け
Kmonインターフェイスからターミナルまたはテキストファイルにコンテンツをコピーするには、 cを使用します およびv キー。 libxcbがインストールされていることを確認してください インストールセクションに示されているパッケージ。
カーネルモジュールの並べ替え
Kmonには、カーネルモジュールを名前またはサイズで並べ替えるオプションがあります。
カーネルモジュールを名前で並べ替えるには、以下のような並べ替えオプションを指定してkmonコマンドを実行します。
$ kmon sort --name
カーネルモジュールをサイズで並べ替えるには、次のコマンドを実行します。
$ kmon sort --size
rを使用してカーネルモジュールを逆ソートすることもできます またはリバース フラグ。
$ kmon --reverse
色のカスタマイズ
Kmonはデフォルトでターミナルカラーを使用します。ただし、強調表示の色を変更することは可能です。
$ kmon --color majenta
または、
$ kmon -c majenta
以下のようなカラーコードを使用して、選択したカスタムカラーを指定することもできます。
$ kmon --color 00aeef

Kmonのハイライト色をカスタマイズする
更新間隔の設定
ターミナルUIの更新間隔をミリ秒単位で設定するには、 -tを使用します または--tickrate フラグ:
$ kmon --color 00aeef -t 100
カーネルリングバッファをクリアする
ctrl-l / u を使用して、カーネルリングバッファをクリアできます。 またはalt-c キー。
Kmonを終了
Kmonを終了するには、 qを押すだけです。 またはESC キー。
詳細については、ヘルプセクションを参照してください:
$ kmon --help
また、マニュアルページ:
$ man kmon
これがお役に立てば幸いです。