modprobe命令

modprobe命令

modprobe是Linux操作系统中非常重要的命令之一,它可以用来管理内核模块。它可以加载、卸载或查询内核模块,从而使得我们可以更好地管理系统和设备。在本文中,我们将详细介绍如何使用modprobe命令。

加载内核模块

在Linux系统中,有很多模块可能尚未在内核中编译进去,而是作为模块组件存在,需要在运行时加载。使用modprobe命令来加载内核模块非常简单,只需要在终端中输入以下命令:

sudo modprobe <module_name>

其中,module_name是我们要加载的内核模块名称。例如,我们想加载VirtualBox内核模块,命令将如下所示:

sudo modprobe vboxdrv

一旦加载成功,就可以在我们的系统上使用该模块了。

卸载内核模块

当我们不再需要某个内核模块时,可以使用modprobe命令来卸载该模块。同样,这也非常简单。我们只需在终端中输入以下命令:



sudo modprobe -r <module_name>

此处,-r选项表示“remove”,module_name是我们要卸载的内核模块名称。例如,我们想卸载VirtualBox内核模块,命令将如下所示:

sudo modprobe -r vboxdrv

一旦卸载完成,该模块将在我们的系统中被删除。

列出已加载的内核模块

有时我们需要知道哪些内核模块已经在我们的系统中加载了,这时可以使用modprobe命令来列出所有已加载的内核模块。只需在终端中输入以下命令:

sudo modprobe -l

此处,-l选项表示“list”,它将返回一个包含所有已加载内核模块的列表。如果我们想同步我们的终端并输出结果到文件中,可以使用管道运算符,命令将如下所示:

sudo modprobe -l | tee modprobe_list.txt

这样,所有已加载的模块名称都会被写入到我们的“modprobe_list.txt”文件中。

追加模块选项

有时候,我们需要使用特殊的模块参数来加载一个内核模块。在这种情况下,可以使用modprobe命令来追加模块选项。只需在终端中输入以下命令:

sudo modprobe <module_name> <module_option>

这里,是我们要指定的特殊模块参数,例如:

sudo modprobe vboxdrv vboxdrv_dbg=1

这种方法可以帮助我们在加载内核模块时为其指定环境变量,以满足我们的特殊需求。

禁止自动加载

在一些情况下,我们希望控制哪些模块自动在系统启动时加载,这时可以使用/etc/modprobe.d/文件夹内的配置文件来禁止自动加载。只需在终端中输入以下命令:

echo "blacklist <module_name>" | sudo tee /etc/modprobe.d/<module_name>.conf

其中,是我们要禁止自动加载的模块名称。例如:

echo "blacklist vboxdrv" | sudo tee /etc/modprobe.d/vboxdrv.conf

此命令将为VirtualBox内核模块创建一个名为“vboxdrv.conf”的配置文件,并禁用其在系统启动时自动加载。

删除与禁用

在有些情况下,我们可能需要完全删除或禁用某个内核模块。幸运的是,modprobe命令也可以用于这些操作。只需在终端中输入以下命令:

sudo rmmod <module_name>

此处,rmmod命令与modprobe -r命令非常相似,但它会完全删除该内核模块,而不仅仅是卸载它。例如,如果我们想删除VirtualBox内核模块,命令将如下所示:

sudo rmmod vboxdrv

而如果我们只想禁用模块,可以在modprobe配置文件中禁用该模块即可。

结论

modprobe命令是管理Linux系统内核模块的必备工具。它可以加载、卸载、列出已加载的模块以及提供添加选项的功能。同时,它还有许多其他功能,比如禁用和删除内核模块等。掌握这些基本功能将有助于更好地管理我们的Linux系统。


赞(0)
未经允许不得转载:极客笔记 » modprobe命令

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Linux内核API 模块机制
Linux内核API 模块机制Linux内核API __module_addressLinux内核API __module_text_addressLinux内核API __print_symbolLinux内核API __symbol_getLinux内核API __symbol_putLinux内核API find_moduleLinux内核API find_symbolLinux内核API module_is_liveLinux内核API module_putLinux内核API module_refcountLinux内核API sprint_symbolLinux内核API symbol_put_addrLinux内核API try_module_get
Linux内核API 进程管理
Linux内核API 进程管理Linux内核API __task_pid_nr_nsLinux内核API find_get_pidLinux内核API find_pid_nsLinux内核API find_vpidLinux内核API get_pidLinux内核API get_task_mmLinux内核API mmputLinux内核API ns_of_pidLinux内核API pid_nrLinux内核API pid_taskLinux内核API pid_vnrLinux内核API put_pidLinux内核API task_active_pid_nsLinux内核API task_tgid_nr_ns
Linux内核API 进程调度
Linux内核API 进程调度Linux内核API __wake_upLinux内核API __wake_up_syncLinux内核API __wake_up_sync_keyLinux内核API abort_exclusive_waitLinux内核API add_wait_queueLinux内核API add_wait_queue_exclusiveLinux内核API autoremove_wake_functionLinux内核API completeLinux内核API complete_allLinux内核API completion_doneLinux内核API current_thread_infoLinux内核API default_wake_functionLinux内核API do_exitLinux内核API finish_waitLinux内核API init_waitqueue_entryLinux内核API init_waitqueue_headLinux内核API kthread_create_on_nodeLinux内核API kthread_stopLinux内核API prepare_to_waitLinux内核API prepare_to_wait_exclusiveLinux内核API remove_wait_queueLinux内核API sched_setschedulerLinux内核API set_cpus_allowed_ptrLinux内核API set_user_niceLinux内核API task_niceLinux内核API try_wait_for_completionLinux内核API wait_for_completionLinux内核API wait_for_completion_interruptible_timeoutLinux内核API wait_for_completion_killableLinux内核API wait_for_completion_timeoutLinux内核API wake_up_processLinux内核API yield
Linux内核API 中断机制
Linux内核API 中断机制Linux内核API __tasklet_hi_scheduleLinux内核API __tasklet_scheduleLinux内核API disable_irqLinux内核API disable_irq_nosyncLinux内核API disable_irq_wakeLinux内核API enable_irqLinux内核API enable_irq_wakeLinux内核API free_irqLinux内核API irq_set_chipLinux内核API irq_set_chip_dataLinux内核API irq_set_irq_typeLinux内核API irq_set_irq_wakeLinux内核API remove_irqLinux内核API request_irqLinux内核API request_threaded_irqLinux内核API setup_irqLinux内核API tasklet_disableLinux内核API tasklet_disable_nosyncLinux内核API tasklet_enableLinux内核API tasklet_hi_scheduleLinux内核API tasklet_initLinux内核API tasklet_killLinux内核API tasklet_scheduleLinux内核API tasklet_trylockLinux内核API tasklet_unlock
Linux内核API 内存管理
Linux内核API 内存管理Linux内核API __free_pagesLinux内核API __get_free_pagesLinux内核API __get_vm_areaLinux内核API __kreallocLinux内核API alloc_pagesLinux内核API alloc_pages_exactLinux内核API find_vmaLinux内核API find_vma_intersectionLinux内核API free_pagesLinux内核API free_pages_exactLinux内核API get_unmapped_areaLinux内核API get_zeroed_pageLinux内核API kcallocLinux内核API kfreeLinux内核API kmallocLinux内核API kmem_cache_allocLinux内核API kmem_cache_createLinux内核API kmem_cache_destroyLinux内核API kmem_cache_freeLinux内核API kmem_cache_zallocLinux内核API kmemdupLinux内核API ksizeLinux内核API kstrdupLinux内核API kstrndupLinux内核API kzallocLinux内核API memdup_userLinux内核API mempool_allocLinux内核API mempool_alloc_pagesLinux内核API mempool_alloc_slabLinux内核API mempool_createLinux内核API mempool_destroyLinux内核API mempool_freeLinux内核API mempool_free_pagesLinux内核API mempool_free_slabLinux内核API mempool_kfreeLinux内核API mempool_kmallocLinux内核API mempool_resizeLinux内核API nr_free_buffer_pagesLinux内核API page_addressLinux内核API page_cache_getLinux内核API page_cache_releaseLinux内核API page_zoneLinux内核API probe_kernel_addressLinux内核API probe_kernel_readLinux内核API vfreeLinux内核API vma_pagesLinux内核API vmallocLinux内核API vmalloc_to_pageLinux内核API vmalloc_to_pfnLinux内核API vmalloc_user
Linux内核API 定时机制
Linux内核API 定时机制Linux内核API __round_jiffiesLinux内核API __round_jiffies_relativeLinux内核API __round_jiffies_upLinux内核API __round_jiffies_up_relativeLinux内核API add_timerLinux内核API current_kernel_timeLinux内核API del_timerLinux内核API del_timer_syncLinux内核API do_gettimeofdayLinux内核API do_settimeofdayLinux内核API get_secondsLinux内核API getnstimeofdayLinux内核API init_timerLinux内核API init_timer_deferrableLinux内核API init_timer_keyLinux内核API init_timer_on_stackLinux内核API init_timer_on_stack_keyLinux内核API mktimeLinux内核API mod_timerLinux内核API mod_timer_pendingLinux内核API ns_to_timespecLinux内核API ns_to_timevalLinux内核API round_jiffiesLinux内核API round_jiffies_relativeLinux内核API round_jiffies_upLinux内核API round_jiffies_up_relativeLinux内核API set_normalized_timespecLinux内核API setup_timerLinux内核API setup_timer_on_stackLinux内核API timer_pendingLinux内核API timespec_add_nsLinux内核API timespec_compareLinux内核API timespec_equalLinux内核API timespec_subLinux内核API timespec_to_nsLinux内核API timeval_compareLinux内核API timeval_to_nsLinux内核API try_to_del_timer_sync
Linux内核API 同步机制
Linux内核API 同步机制Linux内核API atomic_addLinux内核API atomic_add_negativeLinux内核API atomic_add_returnLinux内核API atomic_add_unlessLinux内核API atomic_cmpxchgLinux内核API atomic_decLinux内核API atomic_dec_and_testLinux内核API atomic_incLinux内核API atomic_inc_and_testLinux内核API atomic_readLinux内核API atomic_setLinux内核API atomic_subLinux内核API atomic_sub_and_testLinux内核API atomic_sub_returnLinux内核API downLinux内核API down_interruptibleLinux内核API down_killableLinux内核API down_readLinux内核API down_read_trylockLinux内核API down_timeoutLinux内核API down_trylockLinux内核API down_writeLinux内核API down_write_trylockLinux内核API downgrade_writeLinux内核API init_rwsemLinux内核API read_seqbeginLinux内核API read_seqretryLinux内核API sema_initLinux内核API seqlock_initLinux内核API upLinux内核API up_readLinux内核API up_writeLinux内核API write_seqlockLinux内核API write_sequnlock
Linux内核API 文件系统
Linux内核API 文件系统Linux内核API __mnt_is_readonlyLinux内核API current_umaskLinux内核API d_allocLinux内核API d_find_aliasLinux内核API dputLinux内核API fgetLinux内核API generic_fillattrLinux内核API get_fs_typeLinux内核API get_max_filesLinux内核API get_superLinux内核API have_submountsLinux内核API I_BDEVLinux内核API inode_add_bytesLinux内核API inode_get_bytesLinux内核API inode_set_bytesLinux内核API inode_sub_bytesLinux内核API is_bad_inodeLinux内核API make_bad_inodeLinux内核API may_umountLinux内核API may_umount_treeLinux内核API mnt_want_writeLinux内核API notify_changeLinux内核API put_unused_fdLinux内核API unshare_fs_structLinux内核API vfs_fstatLinux内核API vfs_getattrLinux内核API vfs_statfs
Linux内核API 设备管理
Linux内核API 设备管理Linux内核API __class_createLinux内核API __class_registerLinux内核API cdev_addLinux内核API cdev_allocLinux内核API cdev_delLinux内核API cdev_initLinux内核API class_createLinux内核API class_destroyLinux内核API class_registerLinux内核API class_unregisterLinux内核API device_addLinux内核API device_createLinux内核API device_delLinux内核API device_destroyLinux内核API device_initializeLinux内核API device_registerLinux内核API device_renameLinux内核API device_unregisterLinux内核API get_deviceLinux内核API put_deviceLinux内核API register_chrdevLinux内核API unregister_chrdev
modprobe
modprobe命令modprobe.d是什么?modprobe 加载机制modprobe 强制卸载模块modprobe 找不到模块modprobe 搜索路径modprobe和insmod的区别centos安装modprobe