私はロードするために、いくつかのカーネルモジュールを探していますi2c-dev
とi2c-bcm2708
。ただし、modprobe
コマンドは以下を返します。
sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
システムで利用可能なすべてのモジュールを一覧表示するにはどうすればよいですか?それらはどのディレクトリにありますか?
私はロードするために、いくつかのカーネルモジュールを探していますi2c-dev
とi2c-bcm2708
。ただし、modprobe
コマンドは以下を返します。
sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
システムで利用可能なすべてのモジュールを一覧表示するにはどうすればよいですか?それらはどのディレクトリにありますか?
回答:
デフォルトでmodprobe
は、ディレクトリにあるサブディレクトリからモジュールをロードします/lib/modules/$(uname -r)
。通常、すべてのファイルには拡張子が付いている.ko
ため、次のようにリストできます。
find /lib/modules/$(uname -r) -type f -name '*.ko'
または、圧縮ファイルを考慮に入れて:
find /lib/modules/$(uname -r) -type f -name '*.ko*'
ただし、モジュールを正常にロードするにmodprobe
は、ファイルにリストされた依存関係/lib/modules/$(uname -r)/modules.dep
(および対応するバイナリバージョンmodules.dep.bin
)が必要です。システムにモジュールが存在するがリストにない場合は、そのdepmod
ような依存関係を生成し、モジュールをmodules.dep
とに自動的に含めるコマンドを実行する必要がありますmodules.dep.bin
。
さらに、モジュールが正常にロードされると、ファイルにリストされます/proc/modules
(コマンドを介してアクセスすることもできますlsmod
)。
find /lib/modules/$(uname -r) -type f -name *.ko*
.gz
*.ko*
現在のディレクトリに一致するファイルがある場合、シェルが展開する可能性があります。単一引用符の間にエスケープする方が良い: find /lib/modules/$(uname -r) -type f -name '*.ko*'
ありlsmod
のコマンドkmod
でパッケージアーチLinuxの一覧とのような他の有用なコマンドが含まれているLinuxカーネルモジュールの状態を示してどのようなmodinfo
、rmmod
modprobe
あまりにもが。
L ISTあなたが入力できるパッケージで提供されるすべてのバイナリ:
pacman -Ql kmod | grep /bin/ --color=always
、そしてあなたもをチェックすることができる入出力とバイナリのwnerパッケージpacman -Qo lsmod
。
Q
スイッチがにあるのq ueryでローカルにインストールされたパッケージ(とは違っS
へのS ynchronize、すなわち。リモートで確認すること)。
lsmod
は、既にロードされているモジュールのみを表示することです。このスレッドの作成者には、ロード可能なカーネルモジュールのマップにないモジュールをロードする問題がありました。また、このソリューションはarchlinuxにのみ適用されます。これは著者の分布ではなく、他の人の問題を解決しないかもしれません。
lsmod
は少なくともUbuntuでも利用可能です。しかし、私はこれがOPの問題を解決しないことに同意します。