modprobe 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

modprobe 命令补充说明:


modprobe 命令用于智能地向内核中加载模块或者从内核中移除模块。模块是一段代码,可扩展操作系统内核的功能,而无需重新启动。 加载后,模块驻留在内存中,并且可以实例化多次。可以将它们视为类似于设备驱动程序。

modprobe 使用 depmod 生成的依赖关系列表和硬件映射将模块智能加载或卸载到内核中。 它分别使用较低级的程序 insmod 和 rmmod 进行实际的插入和删除。

虽然可以手动调用 insmod 和 rmmod,但建议使用 depmod 加载和卸载模块,以确保在进行更改之前考虑任何模块间的依赖关系。

modprobe 命令语法:


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 命令选项:


-a或--all:载入全部的模块;
-c或--show-conf:显示所有模块的设置信息;
-d或--debug:使用排错模式;
-r或--remove:模块闲置不用时,即自动卸载模块;
-v或--verbose:执行时显示详细的信息;
-V或--version:显示版本信息;
-help:显示帮助。

modprobe 命令参数:


模块名:要加载或移除的模块名称。

modprobe 命令实例:


modprobe 查看 modules 的配置文件:

$modprobe -c

#这里,可以查看modules的配置文件,比如模块的alias别名是什么等。
#会打印许多行信息,例如其中的一行会类似如下:

.....

alias symbol:vsock_addr_validate vsock
alias symbol:vsock_bind_table vsock
alias symbol:vsock_connected_table vsock
alias symbol:vsock_core_exit vsock
alias symbol:vsock_core_get_transport vsock
alias symbol:vsock_deliver_tap vsock
alias symbol:vsock_enqueue_accept vsock
alias symbol:vsock_find_bound_socket vsock
alias symbol:vsock_find_connected_socket vsock
alias symbol:vsock_for_each_connected_socket vsock
alias symbol:vsock_insert_connected vsock
alias symbol:vsock_pending_work vsock
alias symbol:vsock_remove_bound vsock
alias symbol:vsock_remove_connected vsock
alias symbol:vsock_remove_pending vsock
alias symbol:vsock_remove_sock vsock
alias symbol:vsock_remove_tap vsock
alias symbol:vsock_stream_has_data vsock
alias symbol:vsock_stream_has_space vsock
alias symbol:vsock_table_lock vsock
alias symbol:vxlan_dev_create vxlan
alias symbol:wa_create wusb_wa
alias symbol:wa_dti_start wusb_wa
alias symbol:wa_process_errored_transfers_run wusb_wa
alias symbol:wa_urb_dequeue wusb_wa
alias symbol:wa_urb_enqueue wusb_wa
alias symbol:wa_urb_enqueue_run wusb_wa
alias symbol:wdev_to_ieee80211_vif mac80211
alias symbol:whci_wait_for whci
alias symbol:wiphy_apply_custom_regulatory cfg80211
alias symbol:wiphy_free cfg80211
alias symbol:wiphy_new_nm cfg80211
alias symbol:wiphy_register cfg80211
alias symbol:wiphy_rfkill_set_hw_state cfg80211
alias symbol:wiphy_rfkill_start_polling cfg80211
alias symbol:wiphy_rfkill_stop_polling cfg80211
alias symbol:wiphy_to_ieee80211_hw mac80211
alias symbol:wiphy_unregister cfg80211
alias symbol:wmi_driver_unregister wmi
alias symbol:wmi_evaluate_method wmi
alias symbol:wmi_get_event_data wmi
alias symbol:wmi_has_guid wmi
alias symbol:wmi_install_notify_handler wmi
alias symbol:wmi_query_block wmi
alias symbol:wmi_remove_notify_handler wmi
alias symbol:wmi_set_block wmi
alias symbol:wmidev_block_query wmi
alias symbol:wmidev_evaluate_method wmi
alias symbol:wpan_phy_find ieee802154
alias symbol:wpan_phy_for_each ieee802154
alias symbol:wpan_phy_free ieee802154
alias symbol:wpan_phy_new ieee802154
alias symbol:wpan_phy_register ieee802154
alias symbol:wpan_phy_unregister ieee802154
alias symbol:write_bytes_to_xdr_buf sunrpc
alias symbol:write_dst dst
alias symbol:wusb_cluster_id_get wusbcore
alias symbol:wusb_cluster_id_put wusbcore
alias symbol:wusb_dev_destroy wusbcore
alias symbol:wusb_et_name wusbcore
alias symbol:wusbd wusbcore
alias symbol:wusbhc_b_create wusbcore
alias symbol:wusbhc_b_destroy wusbcore
alias symbol:wusbhc_chid_set wusbcore
alias symbol:wusbhc_create wusbcore
alias symbol:wusbhc_destroy wusbcore
alias symbol:wusbhc_giveback_urb wusbcore
alias symbol:wusbhc_handle_dn wusbcore
alias symbol:wusbhc_mmcie_rm wusbcore
alias symbol:wusbhc_mmcie_set wusbcore
alias symbol:wusbhc_reset_all wusbcore
alias symbol:wusbhc_rh_control wusbcore
alias symbol:wusbhc_rh_start_port_reset wusbcore
alias symbol:wusbhc_rh_status_data wusbcore
alias symbol:x86_emulate_instruction kvm
alias symbol:x86_set_memory_region kvm
alias symbol:xc2028_attach tuner_xc2028
alias symbol:xc4000_attach xc4000
alias symbol:xc5000_attach xc5000
alias symbol:xdr_buf_from_iov sunrpc
alias symbol:xdr_buf_read_netobj sunrpc
alias symbol:xdr_buf_subsegment sunrpc
alias symbol:xdr_buf_trim sunrpc
alias symbol:xdr_commit_encode sunrpc
alias symbol:xdr_decode_array2 sunrpc
alias symbol:xdr_decode_netobj sunrpc
alias symbol:xdr_decode_string_inplace sunrpc
alias symbol:xdr_decode_word sunrpc
alias symbol:xdr_encode_array2 sunrpc
alias symbol:xdr_encode_netobj sunrpc
alias symbol:xdr_encode_opaque sunrpc
alias symbol:xdr_encode_opaque_fixed sunrpc
alias symbol:xdr_encode_string sunrpc
alias symbol:xdr_encode_word sunrpc
alias symbol:xdr_enter_page sunrpc
alias symbol:xdr_init_decode sunrpc
alias symbol:xdr_init_decode_pages sunrpc
alias symbol:xdr_init_encode sunrpc
alias symbol:xdr_inline_decode sunrpc
alias symbol:xdr_inline_pages sunrpc
alias symbol:xdr_partial_copy_from_skb sunrpc
alias symbol:xdr_process_buf sunrpc
alias symbol:xdr_read_pages sunrpc
alias symbol:xdr_reserve_space sunrpc
alias symbol:xdr_restrict_buflen sunrpc
alias symbol:xdr_set_scratch_buffer sunrpc
alias symbol:xdr_shift_buf sunrpc
alias symbol:xdr_skb_read_bits sunrpc
alias symbol:xdr_stream_pos sunrpc
alias symbol:xdr_terminate_string sunrpc
alias symbol:xdr_truncate_encode sunrpc

....

alias symbol:xdr_write_pages sunrpc
alias symbol:xen_privcmd_fops xen_privcmd
alias symbol:xfrm4_tunnel_deregister tunnel4
alias symbol:xfrm4_tunnel_register tunnel4
alias symbol:xfrm6_mode_tunnel_input_deregister xfrm6_mode_tunnel
alias symbol:xfrm6_mode_tunnel_input_register xfrm6_mode_tunnel
alias symbol:xfrm6_tunnel_alloc_spi xfrm6_tunnel
alias symbol:xfrm6_tunnel_deregister tunnel6
alias symbol:xfrm6_tunnel_register tunnel6
alias symbol:xfrm6_tunnel_spi_lookup xfrm6_tunnel
alias symbol:xor_blocks xor
alias symbol:xp_cpu_to_nasid xp
alias symbol:xp_expand_memprotect xp
alias symbol:xp_max_npartitions xp
alias symbol:xp_pa xp
alias symbol:xp_partition_id xp
alias symbol:xp_region_size xp
alias symbol:xp_remote_memcpy xp
alias symbol:xp_restrict_memprotect xp
alias symbol:xp_socket_pa xp
alias symbol:xpc_clear_interface xp
alias symbol:xpc_connect xp
alias symbol:xpc_disconnect xp
alias symbol:xpc_interface xp
alias symbol:xpc_registrations xp
alias symbol:xpc_set_interface xp
alias symbol:xprt_adjust_cwnd sunrpc
alias symbol:xprt_alloc sunrpc
alias symbol:xprt_alloc_slot sunrpc
alias symbol:xprt_complete_rqst sunrpc
alias symbol:xprt_destroy_backchannel sunrpc
alias symbol:xprt_disconnect_done sunrpc
alias symbol:xprt_force_disconnect sunrpc
alias symbol:xprt_free sunrpc
alias symbol:xprt_get sunrpc
alias symbol:xprt_load_transport sunrpc
alias symbol:xprt_lock_and_alloc_slot sunrpc
alias symbol:xprt_lookup_rqst sunrpc
alias symbol:xprt_pin_rqst sunrpc
alias symbol:xprt_put sunrpc
alias symbol:xprt_register_transport sunrpc
alias symbol:xprt_release_rqst_cong sunrpc
alias symbol:xprt_release_xprt sunrpc
alias symbol:xprt_release_xprt_cong sunrpc
alias symbol:xprt_reserve_xprt sunrpc
alias symbol:xprt_reserve_xprt_cong sunrpc
alias symbol:xprt_set_retrans_timeout_def sunrpc
alias symbol:xprt_set_retrans_timeout_rtt sunrpc
alias symbol:xprt_setup_backchannel sunrpc
alias symbol:xprt_unpin_rqst sunrpc
alias symbol:xprt_unregister_transport sunrpc
alias symbol:xprt_wait_for_buffer_space sunrpc
alias symbol:xprt_wake_pending_tasks sunrpc
alias symbol:xprt_write_space sunrpc
alias symbol:xt_rateest_lookup xt_RATEEST
alias symbol:xt_rateest_put xt_RATEEST
alias symbol:xts_camellia_setkey camellia_x86_64
alias symbol:xts_crypt xts
alias symbol:xts_serpent_setkey serpent_avx_x86_64
alias symbol:xts_twofish_setkey twofish_x86_64_3way
alias symbol:zgid ib_core
alias symbol:zl10036_attach zl10036
alias symbol:zl10039_attach zl10039

modprobe 移除已经加载的模块:

modprobe -r 模块名

#这里,移除已加载的模块,和rmmod功能相同。

以下系列命令说明了使用 modprobe 的常用方法。 每个命令都带有 sudo,因为它们需要 root 权限:

sudo ln -s /path/to/your-kernel-module.ko /lib/modules/`uname -r`
sudo depmod -a
sudo modprobe your-kernel-module

这些命令执行以下操作:

  1. 在第一个命令中,我们使用 ln 在目录 /lib/modules/kernel-release 中创建指向我们的模块文件的符号软链接。 由外壳程序执行的命令 uname -r用反引号引起来)由外壳程序执行,并转换为代表我们的内核发行版的适当字符串。
  2. 在第二个命令中,由 depmod -a 生成更新的依赖项列表,以确保我们正在安装的模块知道所有现有模块和依赖项。 在第三条命令中安装模块时,modprobe 将使用此依赖项列表。
  3. modprobe 将安装内核模块。

modprobe 命令扩展阅读:




modprobe 命令评论

共收录到 500Linux 命令