English Korean
Working with Kernel Modules 커널 모듈 작업
indexterm:[kernel module,definition]indexterm:[module,kernel module]indexterm:[drivers,kernel module] The Linux kernel is modular, which means it can extend its capabilities through the use of dynamically-loaded _kernel modules_. A kernel module can provide:
a device driver which adds support for new hardware; or, 새로운 하드웨어를 위한 지원을 추가하는 장치 드라이버; 또는,
support for a file system such as `btrfs` or `NFS`. `btrfs` 또는 `NFS`와 같은 파일 시스템 지원.
Like the kernel itself, modules can take parameters that customize their behavior, though the default parameters work well in most cases. User-space tools can list the modules currently loaded into a running kernel; query all available modules for available parameters and module-specific information; and load or unload (remove) modules dynamically into or from a running kernel. Many of these utilities, which are provided by the [package]*kmod* package, take module dependencies into account when performing operations so that manual dependency-tracking is rarely necessary. 커널 자체와 같이, 모듈은 기본 매개 변수가 대부분의 경우에 잘 작동하지만, 그 들 행위를 사용자 정의하는 매개 변수를 사용 할 수 있습니다. 사용자-공간 도구는 현재 실행 중인 커널에 적재된 모듈을 나열 할 수 있습니다; 사용 가능한 매개 변수와 모듈-지정 정보를 위하여 사용 가능한 모듈을 쿼리합니다; 실행 중인 커널에 동적으로 적재하거나 제거합니다. [package]*kmod* 꾸러미에 의해 제공 하는 것과 같은 이들 유틸리티의 대부분은, 수동 종속성-추적이 거의 필요하지 않도록 작업을 수행 할 때에 모듈 종속성을 고려하세요.
On modern systems, kernel modules are automatically loaded by various mechanisms when the conditions call for it. However, there are occasions when it is necessary to load or unload modules manually, such as when one module is preferred over another although either could provide basic functionality, or when a module is misbehaving.
This chapter explains how to: 이 장은 다음 방법에 대해 설명합니다:
use the user-space [application]*kmod* utilities to display, query, load and unload kernel modules and their dependencies;
set module parameters both dynamically on the command line and permanently so that you can customize the behavior of your kernel modules; and,
load modules at boot time. 부팅시 모듈을 적재합니다.
Installing the kmod package kmod 꾸러미 설치
In order to use the kernel module utilities described in this chapter, first ensure the [package]*kmod* package is installed on your system by running, as root: 이 장에서 설명하는 커널 모듈 유틸리티를 사용하기 위하여, 우선 root로 실행에 의해 [package]*kmod* 꾸러미가 시스템에 설치되어 있는지 확인하세요:
~]#{nbsp}dnf install kmod
~]#{nbsp}dnf install kmod
For more information on installing packages with DNF, see xref:package-management/DNF.adoc#sec-Installing[Installing Packages]. DNF와 함께 꾸러미 설치에 대한 자세한 내용은 xref:package-management/DNF.adoc#sec-Installing[꾸러미 설치]를 참조하세요.
Listing Currently-Loaded Modules 현재-적재된 모듈 나열하기
indexterm:[kernel module,listing,currently loaded modules]indexterm:[kernel module,utilities,lsmod]indexterm:[lsmod,kernel module] You can list all kernel modules that are currently loaded into the kernel by running the [command]#lsmod# command, for example:
~]$ lsmod
Module Size Used by
tcp_lp 12663 0
bnep 19704 2
bluetooth 372662 7 bnep
rfkill 26536 3 bluetooth
fuse 87661 3
ip6t_rpfilter 12546 1
ip6t_REJECT 12939 2
ipt_REJECT 12541 2
xt_conntrack 12760 7
ebtable_nat 12807 0
ebtable_broute 12731 0
bridge 110196 1 ebtable_broute
stp 12976 1 bridge
llc 14552 2 stp,bridge
ebtable_filter 12827 0
ebtables 30913 3 ebtable_broute,ebtable_nat,ebtable_filter
ip6table_nat 13015 1
nf_conntrack_ipv6 18738 5
nf_defrag_ipv6 34651 1 nf_conntrack_ipv6
nf_nat_ipv6 13279 1 ip6table_nat
ip6table_mangle 12700 1
ip6table_security 12710 1
ip6table_raw 12683 1
ip6table_filter 12815 1
ip6_tables 27025 5 ip6table_filter,ip6table_mangle,ip6table_security,ip6table_nat,ip6table_raw
iptable_nat 13011 1
nf_conntrack_ipv4 14862 4
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
nf_nat_ipv4 13263 1 iptable_nat
nf_nat 21798 4 nf_nat_ipv4,nf_nat_ipv6,ip6table_nat,iptable_nat
[output truncated]
~]$ lsmod
Module Size Used by
tcp_lp 12663 0
bnep 19704 2
bluetooth 372662 7 bnep
rfkill 26536 3 bluetooth
fuse 87661 3
ip6t_rpfilter 12546 1
ip6t_REJECT 12939 2
ipt_REJECT 12541 2
xt_conntrack 12760 7
ebtable_nat 12807 0
ebtable_broute 12731 0
bridge 110196 1 ebtable_broute
stp 12976 1 bridge
llc 14552 2 stp,bridge
ebtable_filter 12827 0
ebtables 30913 3 ebtable_broute,ebtable_nat,ebtable_filter
ip6table_nat 13015 1
nf_conntrack_ipv6 18738 5
nf_defrag_ipv6 34651 1 nf_conntrack_ipv6
nf_nat_ipv6 13279 1 ip6table_nat
ip6table_mangle 12700 1
ip6table_security 12710 1
ip6table_raw 12683 1
ip6table_filter 12815 1
ip6_tables 27025 5 ip6table_filter,ip6table_mangle,ip6table_security,ip6table_nat,ip6table_raw
iptable_nat 13011 1
nf_conntrack_ipv4 14862 4
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
nf_nat_ipv4 13263 1 iptable_nat
nf_nat 21798 4 nf_nat_ipv4,nf_nat_ipv6,ip6table_nat,iptable_nat
[output truncated]
Each row of [command]#lsmod# output specifies: [command]#lsmod# 출력의 각 행은 다음과 같이 지정합니다:
the name of a kernel module currently loaded in memory; 메모리에서 현재 적재된 커널 모듈의 이름;
the amount of memory it uses; and, 사용하는 메모리의 양; 과,