从熟悉的Windows或MacOS系统切换到Linux的人们面临的最艰巨的挑战之一是安装和配置驱动程序。 这是可以理解的,因为Windows和MacOS具有使该过程易于使用的机制。 例如,当您插入新的硬件时,Windows会自动检测到它并显示一个弹出窗口,询问您是否要继续安装驱动程序。 您也可以从Internet下载驱动程序,然后双击它以运行向导或通过设备管理器导入驱动程序。

数百种Linux发行版本 。 这意味着不可能创建一个适用于所有Linux发行版的操作指南。 每个Linux操作系统以不同的方式处理驱动程序的安装过程。

其次,大多数默认的Linux驱动程序都是开源的,并且已集成到系统中,即使可以自动检测到大多数硬件设备,安装所有未包括在内的驱动程序也相当复杂。 第三,许可证策略在不同的Linux发行版之间有所不同。 例如, Fedora禁止包括专有的,有法律约束的或违反美国法律的驱动程序。 Ubuntu要求用户避免使用专有或封闭的硬件 。

要了解更多关于Linux驱动程序是如何工作的,我建议你阅读简介设备驱动程序在书中Linux设备驱动程序

寻找驱动程序的两种方法

1.用户界面

如果您是Linux的新手,并且来自Windows或MacOS,那么您会很高兴知道Linux提供了通过类似向导的程序查看驱动程序是否可用的方法。 Ubuntu提供了附加驱动程序选项。 其他Linux发行版提供了辅助程序,例如GNOME的Package Manager ,您可以检查可用的驱动程序。

2.命令行

如果您无法通过漂亮的用户界面应用程序找到驱动程序怎么办? 还是您只能通过外壳访问而没有任何图形界面? 也许您甚至决定通过使用控制台来扩展技能。 您有两种选择:

  1. 使用资料库
    这类似于MacOS中的homebrew命令。   通过使用yumdnfapt-get等,您基本上是在添加存储库并更新程序包缓存。
  1. 自行下载,编译和构建
    这通常涉及直接从网站下载软件包或使用wget命令并运行配置文件和Makefile进行安装。 这超出了本文的范围,但是,如果您选择采用这种方法,则应该能够找到在线指南。

检查是否已安装驱动程序

在进一步介绍如何在Linux中安装驱动程序之前,让我们看一些命令,这些命令将确定该驱动程序在系统上是否已经可用。

lspci命令显示有关系统上所有PCI总线和设备的详细信息:

 $  lscpci 

或使用grep

 $  lscpci | grep SOME_DRIVER_KEYWORD 

例如,您可以键入lspci |。 如果您想知道是否已安装Samsung驱动程序,请使用grep SAMSUNG

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

 $  dmesg 

或使用grep

 $  dmesg | grep SOME_DRIVER_KEYWORD 

任何被识别的驱动程序都会显示在结果中。

如果dmesglscpi命令无法识别任何内容,请尝试使用以下两个命令来查看驱动程序是否至少已加载到磁盘上:

 $  / sbin / lsmod 

 $  find / lib / modules 

提示:与lspcidmesg一样 ,追加| 使用grep命令过滤上述结果。

如果这些命令识别了驱动程序,而lscpidmesg无法识别该驱动程序,则意味着该驱动程序在磁盘上,但不在内核中。 在这种情况下,请使用modprobe命令加载模块:

 $  sudo modprobe MODULE_NAME 

由于必须以root用户身份安装此模块,因此以sudo的身份运行此命令。

添加存储库并安装

有多种方法可以通过yumdnfapt-get添加存储库; 描述它们全都超出了本文的范围。 为简单起见,此示例将使用apt-get ,但其他选项的想法相似。

1.删​​除现有存储库(如果存在)。

 $  sudo apt-get purge NAME_OF_DRIVER * 

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

2.将存储库添加到重新研磨器,应在驱动程序指南中指定。

 $  sudo add-apt-repository REPOLIST_OF_DRIVER 

应该从驱动程序文档(例如epel-list )中指定REPOLIST_OF_DRIVER

3.更新存储库列表。

 $  sudo apt-get update 

4.安装软件包。

 $  sudo apt-get install NAME_OF_DRIVER 

5.检查安装。

运行lscpi命令(如上所述)以检查驱动程序是否已成功安装。

想要查询更多的信息

  • Linux.die.net:apt-get(8)Linux手册页
  • 在CentOS上安装NVidia驱动程序
  • 如何在Linux中安装NVidia驱动程序
  • 如何在Ubuntu上安装NVidia驱动程序

翻译自: https://opensource.com/article/18/11/how-install-device-driver-linux

如何在Linux上安装设备驱动程序相关推荐

  1. 如何在 Linux 上安装服务器管理软件 Cockpit

    如何在 Linux 上安装服务器管理软件 Cockpit Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Co ...

  2. linux上开发应用程序_如何在Linux上安装软件应用程序

    linux上开发应用程序 如何在Linux上安装应用程序? 与许多操作系统一样,该问题不仅有一个答案. 应用程序可以来自许多来源-几乎无法计数-每个开发团队都可以以自己认为最佳的方式交付软件. 知道如 ...

  3. linux skype安装路径,如何在Linux上安装最新Skype

    Skype是一种通过Internet进行通信和电话呼叫的软件.使用VoIP技术.该软件由开发人员编码.这种软件,美国人说得非常便宜,允许世界上数百万人通过互联网或电话说话. 聊天,分享,语音或视频通话 ...

  4. linux下安装sbt_如何在Linux上安装SBT

    linux下安装sbt 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you how to install ...

  5. 如何在linux上安装sqlite数据库

    如何在linux上安装sqlite数据库 一.下载 二.解压 三.配置(configure) 四.编译和安装 五.执行sqlite3程序 六.测试代码 一.下载 首先要先下载sqlite3源码包 链接 ...

  6. linux系统管理与服务器配置高志君_如何在 Linux 上安装、配置 NTP 服务器和客户端?...

    你也许听说过这个词很多次或者你可能已经在使用它了.在这篇文章中我将会清晰的告诉你 NTP 服务器和客户端的安装. -- Magesh Maruthamuthu 你也许听说过这个词很多次或者你可能已经在 ...

  7. du -sh 如何找到最大的文件夹_小白必看!手把手教你如何在linux上安装redis数据库...

    首先我们要清楚redis是什么? redis是一种非关系型数据库,它与MySQL的这种关系型数据库不同,MySQL是将数据存储在磁盘中,而redis是储存在内存中.一般很多公司都是使用MySQL+re ...

  8. python --version没输出_如何在Linux上安装Python

    有关在Linux上安装最新的Python而不是较旧版本的分步说明. Python现在是最流行,最常用的编程语言.Python的简单语法和较低的学习曲线使其成为初学者和专业开发人员的最终选择.Pytho ...

  9. zypper 删除mysql_如何在 Linux 上安装/卸载一个文件中列出的软件包?

    原标题:如何在 Linux 上安装/卸载一个文件中列出的软件包? 我们可以手动去安装这些软件但是这将花费大量的时间.你可以手动安装一俩个服务器,但是试想如果你有大概十个服务器呢.在这种情况下你无法手动 ...

最新文章

  1. compileSdkVersion,minSdkVersion,targetSdkVersion还有buildToolsVersion的区别
  2. Java中的微信支付(2):API V3 微信平台证书的获取与刷新
  3. Laravel的console使用方法
  4. SAP Kyma GraphQL storage实现
  5. java math round小数_Java——Math的round方法
  6. android数据存储_SharedPreferences的简单使用
  7. mac 终端登陆linux,Mac终端自动登录服务器
  8. 计算机里什么文件无法删除,电脑上的文件删不掉怎么办
  9. C++ STL中Map的按Key排序和按Value排序
  10. C++ Regsvr32订购具体解释
  11. 云计算引入可能破坏之前建立的IT秩序
  12. easyui 分页保存checkbox的选中状态
  13. python实现科学计算器_python实现简易版计算器
  14. 计算并返回 x 的 算术平方根
  15. 测试开发—码流、单码流、双码流、多码流
  16. ASAM_CCP_V2.1.0_cn
  17. NOIP2005 篝火晚会 解题报告
  18. oracle expdp 11,oracle11g使用expdp/impdp备份数据
  19. 红宝书初步研读随手笔记
  20. WebSocket - 一篇文章读懂websocket

热门文章

  1. mysql中的派生表
  2. unity C# 常用算法 和 算法复杂度
  3. mongod启动问题
  4. 小 M 的算式(dfs)
  5. 从输入一个url到浏览器页面展示都经历了哪些过程?
  6. POJ 1681 高斯消元 枚举自由变元
  7. 如何在没有tomcat情况下直接连接JMX监控JVM
  8. Eclipse Java Build Path详解
  9. 在win7下安装VC6.0
  10. iOS 本地通知 操作