90cdfbd35542c128cf2826147acb1063.gif

了解Linux设备驱动程序如何工作以及如何使用它们.

对于想要切换到Linux的熟悉Windows或MacOS的人,他们将面临如何安装和配置设备驱动程序的难题. 这是可以理解的,因为Windows和MacOS都有使该过程非常友好的机制. 例如,当您插入新的硬件设备时,Windows会自动检测并弹出一个窗口,询问您是否要继续安装驱动程序. 您也可以从Internet下载驱动程序,只需双击以通过设备管理器解压缩或导入驱动程序即可.

在Linux操作系统上,这并非那么简单. 第一个原因是Linux是开源操作系统,因此Linux发行版有数百种变体. 换句话说,不可能提供适用于所有Linux发行版的指南. 因为为每个Linux安装驱动程序的过程是不同的.

第二,大多数默认的Linux驱动程序也是开源的,并且已集成到系统中,这使得安装一些未包含的驱动程序非常复杂,即使它可以检测到大多数硬件设备也是如此. . 第三,不同发行版的许可证也不同. 例如,Fedora禁止条款禁止包含受法律保护或违反美国法律的专有驱动程序. 而且,Ubuntu允许用户避免使用受法律保护或封闭源代码的硬件设备.

为了更好地了解Linux驱动程序的工作原理,建议阅读“ Linux设备驱动程序”一书中有关设备驱动程序的介绍.

如果您是刚从Windows或MacOS转移过来的Linux新手,您将很高兴知道Linux还提供了一个基于向导的程序来检查驱动程序是否可用. Ubuntu提供了附加的驱动程序选项. 其他Linux发行版也提供了帮助程序,例如GNOME的软件包管理器,可用于检查驱动程序是否可用.

如果您无法通过漂亮的用户界面找到驱动程序,该怎么办?也许您只能使用没有任何图形界面的外壳程序?您甚至可以使用控制台显示您的技能. 您有两种选择:

通过仓库

f77c5d724a50289f17a88650e0f2cf3e.png

这与MacOS中的homebrew命令行非常相似. 通过使用yum,dnf,apt-get等,您基本上可以添加仓库并更新程序包缓存.

下载,编译和构建自己的

这通常包括直接从网络或通过wget命令下载源软件包,然后运行配置,编译和安装. 这超出了本文的范围,但是,如果您选择此路线,则可以在Internet上找到许多指南.

在进一步学习安装Linux驱动程序之前,让我们学习一些命令来检查驱动程序在您的系统上是否已经可用.

The

lspci命令显示有关系统上所有PCI总线和设备驱动程序的详细信息.

$ lscpci

或使用grep:

20180317154716825838.jpg

$ lscpci | grep SOME_DRIVER_KEYWORD

例如,您可以使用lspci |如果您想知道是否已安装Samsung的驱动程序,请使用grep SAMSUNG命令.

The

dmesg命令显示内核识别的所有驱动程序.

$ dmesg

或与grep一起使用:

$ dmesg | grep SOME_DRIVER_KEYWORD

任何确定的驱动程序将显示在结果中.

9d97e7463099896f91bb4b7093d78241.png

如果dmesg或lscpi命令无法识别驱动程序,请尝试使用这两个命令来查看驱动程序是否至少已加载到硬盘上.

$ /sbin/lsmod

$ find /lib/modules

提示: 与lspci或dmesg一样linux驱动程序,通过添加|过滤结果. grep以上命令.

如果已识别出驱动程序,但lscpi或dmesg找不到该驱动程序,则表示该驱动程序已在硬盘上,但尚未加载到内核中. 在这种情况下,可以使用modprobe命令加载该模块.

$ sudo modprobe MODULE_NAME

使用sudo运行此命令,因为此模块需要以root特权安装.

9-810-jpg_6-1080-0-0-1080.jpg

您可以通过yum,dnf和apt-get通过几种不同的方式添加存储库. 逐个介绍它们不在本文的讨论范围之内. 简而言之,该示例将使用apt-get,但此命令与其他几个命令非常相似.

$ sudo apt-get purge NAME_OF_DRIVER*

其中NAME_OF_DRIVER是驱动程序的可能名称. 您还可以在正则表达式中添加模式匹配,以进行进一步过滤.

$ sudo add-apt-repository REPOLIST_OF_DRIVER

应在驱动程序文档中指定REPOLIST_OF_DRIVER的位置(例如: epel-list).

$ sudo apt-get update

$ sudo apt-get install NAME_OF_DRIVER

如上所述linux驱动程序,使用lscpi命令检查驱动程序是否已成功安装.

通过:

作者: Brian Son主题: lujun9972译者: Jamskr校对: wxy

本文最初由LCTT编写,并由Linux China荣幸地发布

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/ruanjian/article-167150-1.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐