助け合いフォーラム
「modules.dep ファイルはカーネルモジュールそれぞれが、別のどのカーネルモジュールに依存しているかという依存関係情報が書かれているファイルです。modules.dep.bin はそれをコンピュータが処理する形式に変換したものです。
これらファイルを利用して依存関係を解決しているコマンドの代表に modprobe があります。」
とあるのですが依存関係を解決してくれるというのはどう解決をするのでしょうか?
必要なカーネルモジュールが存在していた場合ハードディスクからメモリにロードするのでしょうか?
依存解決の具体的なプロセスを簡単に確認したかったです。
2024/01/01 14:33
例えば私のRaspberryPi上でip_tablesというモジュールの情報を見るとこう書いてあります。
$ modinfo ip_tables
filename: /lib/modules/5.10.83-v8+/kernel/net/ipv4/netfilter/ip_tables.ko
alias: ipt_icmp
description: IPv4 packet filter
author: Netfilter Core Team <coreteam@netfilter.org>
license: GPL
srcversion: 746D0FEB4FFADDBD962E6BA
depends: x_tables
intree: Y
name: ip_tables
vermagic: 5.10.83-v8+ SMP preempt mod_unload modversions aarch64
depends:
行に x_tables
に依存しているとの記載がありますので、実際にどうなるのかやってみるとこんな感じになります。
$ lsmod | grep tables
ip_tables 32768 0
x_tables 45056 1 ip_tables
$ sudo modprobe -r ip_tables
$ lsmod | grep tables
(1件も表示されない=ip_tablesと依存するx_tablesも同時に削除される)
$ sudo modprobe x_tables
$ lsmod | grep tables
x_tables 45056 0
(x_tables指定で組み込んでもip_tablesは組み込まれない)
$ sudo rmmod x_tables
$ sudo modprobe ip_tables
$ lsmod | grep tables
ip_tables 32768 0
x_tables 45056 1 ip_tables
(ip_tablesを組み込むと依存するx_tablesも同時に組み込まれる)
コメント
この投稿に対して返信しませんか?
f fujii1992
2024/01/01 17:07
modules.dep ファイルはカーネルモジュールそれぞれが、別のどのカーネルモジュールに依存しているかという依存関係情報が記載されているファイルですが modprobeを実行するとmodules.dep ファイルをもとにハードディスクからコンパイル済みのモジュールがメモリにロードされるということらしいです