www.shoeisha.co.jp
ls /lib/modules
4.15.0-45-generic 4.15.0-46-generic 4.15.0-47-generic
lsmod
コマンド
LSMOD(8) lsmod LSMOD(8)
NAME
lsmod - Show the status of modules in the Linux Kernel
SYNOPSIS
lsmod
DESCRIPTION
lsmod is a trivial program which nicely formats the contents of the
/proc/modules, showing what kernel modules are currently loaded.
COPYRIGHT
This manual page originally Copyright 2002, Rusty Russell, IBM
Corporation. Maintained by Jon Masters and others.
SEE ALSO
insmod(8), modprobe(8), modinfo(8)
AUTHORS
Jon Masters <jcm@jonmasters.org>
Developer
Lucas De Marchi <lucas.de.marchi@gmail.com>
Developer
kmod 11/12/2018 LSMOD(8)
- 現在ロードされているカーネルモジュールをリスト表示する
lsmod
Module Size Used by
ipt_MASQUERADE 16384 9
nf_nat_masquerade_ipv4 16384 1 ipt_MASQUERADE
nf_conntrack_netlink 40960 0
nfnetlink 16384 2 nf_conntrack_netlink
xfrm_user 32768 1
...
項目 |
説明 |
Module |
モジュール名 |
Size |
サイズ |
Used |
参照回数 |
by |
被依存モジュール名 |
/proc/modules
ファイルの情報を参照している
sudo cat /proc/modules
ipt_MASQUERADE 16384 9 - Live 0xffffffffc0dfd000
nf_nat_masquerade_ipv4 16384 1 ipt_MASQUERADE, Live 0xffffffffc0ddc000
nf_conntrack_netlink 40960 0 - Live 0xffffffffc0dcb000
nfnetlink 16384 2 nf_conntrack_netlink, Live 0xffffffffc0d92000
xfrm_user 32768 1 - Live 0xffffffffc0dc2000
...
modinfo
コマンド
MODINFO(8) modinfo MODINFO(8)
NAME
modinfo - Show information about a Linux Kernel module
SYNOPSIS
modinfo [-0] [-F field] [-k kernel] [modulename|filename...]
modinfo -V
modinfo -h
...
-a --author, -d --description, -l --license, -p --parameters, -n
--filename
These are shortcuts for the --field flag's author, description,
license, parm and filename arguments, to ease the transition from
the old modutils modinfo.
...
modinfo aufs
filename: /lib/modules/4.15.0-47-generic/kernel/fs/aufs/aufs.ko
alias: fs-aufs
version: 4.15-20180219
description: aufs -- Advanced multi layered unification filesystem
author: Junjiro R. Okajima <aufs-users@lists.sourceforge.net>
license: GPL
srcversion: 9C7732CB810A119C03C59CE
depends:
retpoline: Y
intree: Y
name: aufs
vermagic: 4.15.0-47-generic SMP mod_unload
signat: PKCS#7
signer:
sig_key:
sig_hashalgo: md4
parm: brs:use <sysfs>/fs/aufs/si_*/brN (int)
parm: allow_userns:allow unprivileged to mount under userns (bool)
modinfo aufs -a
Junjiro R. Okajima <aufs-users@lists.sourceforge.net>
modinfo aufs -d
aufs -- Advanced multi layered unification filesystem
modinfo aufs -l
GPL
modinfo aufs -n
/lib/modules/4.15.0-47-generic/kernel/fs/aufs/aufs.ko
- Kernelのモジュール(Object file)
insmod
コマンド
INSMOD(8) insmod INSMOD(8)
NAME
insmod - Simple program to insert a module into the Linux Kernel
SYNOPSIS
insmod [filename] [module options...]
DESCRIPTION
insmod is a trivial program to insert a module into the kernel. Most
users will want to use modprobe(8) instead, which is more clever and
can handle module dependencies.
...
- 依存関係に対する配慮を自分で行う必要がある
modprobe
使え
rmmod
コマンド
RMMOD(8) rmmod RMMOD(8)
NAME
rmmod - Simple program to remove a module from the Linux Kernel
SYNOPSIS
rmmod [-f] [-s] [-v] [modulename]
DESCRIPTION
rmmod is a trivial program to remove a module (when module unloading
support is provided) from the kernel. Most users will want to use
modprobe(8) with the -r option instead.
...
-s, --syslog
Send errors to syslog instead of standard error.
...
...
-r, --remove
This option causes modprobe to remove rather than insert a module.
If the modules it depends on are also unused, modprobe will try to
remove them too. Unlike insertion, more than one module can be
specified on the command line (it does not make sense to specify
module parameters when removing modules).
There is usually no reason to remove modules, but some buggy
modules require it. Your distribution kernel may not have been
built to support removal of modules at all.
...
modprobe
コマンド
- ins/rmの上位互換
- 依存を調べて自動的にロードしてくれる
MODPROBE(8) modprobe MODPROBE(8)
NAME
modprobe - Add and remove modules from the Linux Kernel
SYNOPSIS
modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [modulename]
[module parameters...]
modprobe [-r] [-v] [-n] [-i] [modulename...]
modprobe [-c]
modprobe [--dump-modversions] [filename]
...
modprobe -c | head -n 10
blacklist microcode
blacklist ath_pci
blacklist ohci1394
blacklist sbp2
blacklist dv1394
blacklist raw1394
blacklist video1394
blacklist aty128fb
blacklist atyfb
blacklist bochs_drm
...
-n, --dry-run, --show
This option does everything but actually insert or delete the
modules (or run the install or remove commands). Combined with -v,
it is useful for debugging problems. For historical reasons both
--dry-run and --show actually mean the same thing and are
interchangeable.
modprobe -r -n bluetooth
modprobe: FATAL: Module bluetooth is in use.
modprobe -n bluetooth
modprobe -n -v bluetooth
modprobe -C <ファイル>
設定ファイル
man 5 modprobe.d
MODPROBE.D(5) modprobe.d MODPROBE.D(5)
NAME
modprobe.d - Configuration directory for modprobe
SYNOPSIS
/lib/modprobe.d/*.conf
/etc/modprobe.d/*.conf
/run/modprobe.d/*.conf
- 教科書的には
/etc/modprobe.conf
があることになっている
- 手元のUbuntuでは
/etc/modprobe.d/
以下*.conf
ファイルで設定
ls /etc/modprobe.d
alsa-base.conf blacklist-oss.conf
amd64-microcode-blacklist.conf blacklist-rare-network.conf
blacklist-ath_pci.conf blacklist.conf
blacklist-firewire.conf intel-microcode-blacklist.conf
blacklist-framebuffer.conf iwlwifi.conf
blacklist-modem.conf
コマンド |
意味 |
alias |
モジュールのエイリアス名 (ext4に対するfs-ext4とか) |
options |
モジュールのオプション指定 |
install |
指定されたシェルコマンド実行 |
remove |
modprobe -r が実行されたときに実行されるシェルコマンド |
依存性を定義するファイル
man 5 modules.dep
MODULES.DEP(5) modules.dep MODULES.DEP(5)
NAME
modules.dep, modules.dep.bin - Module dependency information
SYNOPSIS
/lib/modules/modules.dep
/lib/modules/modules.dep.bin
...
cat /lib/modules/4.15.0-47-generic/modules.dep
kernel/arch/x86/events/intel/intel-rapl-perf.ko:
kernel/arch/x86/events/intel/intel-cstate.ko:
kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko:
kernel/arch/x86/kernel/msr.ko:
kernel/arch/x86/kernel/cpuid.ko:
...
kernel/zfs/icp/icp.ko: kernel/zfs/spl/spl.ko
kernel/zfs/avl/zavl.ko:
kernel/zfs/zfs/zfs.ko: kernel/zfs/unicode/zunicode.ko kernel/zfs/avl/zavl.ko kernel/zfs/icp/icp.ko kernel/zfs/zcommon/zcommon.ko kernel/zfs/nvpair/znvpair.ko kernel/zfs/spl/spl.ko
kernel/zfs/splat/splat.ko: kernel/zfs/spl/spl.ko
<依存元>:[ <依存先>[ <依存先2>[ ...]]]
depmod
コマンド
DEPMOD(8) depmod DEPMOD(8)
NAME
depmod - Generate modules.dep and map files.
...
modules.dep
ファイル作成
/etc/modprobe.conf
等の設定を加味
- モジュールのロードの前処理(install)
- モジュールのアンロードの後処理(remove)
- モジュールのパラメータ指定(options)
kmod
コマンド
KMOD(8) kmod KMOD(8)
NAME
kmod - Program to manage Linux Kernel modules
SYNOPSIS
kmod [OPTIONS...] [COMMAND] [COMMAND_OPTIONS...]
...
- カーネル機能の一部
- 必要なモジュールを自動的にロードする仕組み