Linux中國

如何在 Linux 上安裝設備驅動程序

對於一個熟悉 Windows 或者 MacOS 的人,想要切換到 Linux,它們都會面臨一個艱巨的問題就是怎麼安裝和配置設備驅動。這是可以理解的,因為 Windows 和 MacOS 都有一套機制把這個過程做得非常的友好。比如說,當你插入一個新的硬體設備, Windows 能夠自動檢測並會彈出一個窗口詢問你是否要繼續驅動程序的安裝。你也可以從網路上下載驅動程序,僅僅需要雙擊解壓或者是通過設備管理器導入驅動程序即可。

而這在 Linux 操作系統上並非這麼簡單。第一個原因是, Linux 是一個開源的操作系統,所以有 數百種 Linux 發行版的變體。也就是說不可能做一個指南來適應所有的 Linux 發行版。因為每種 Linux 安裝驅動程序的過程都有差異。

第二,大多數默認的 Linux 驅動程序也都是開源的,並被集成到了系統中,這使得安裝一些並未包含的驅動程序變得非常複雜,即使已經可以檢測大多數的硬體設備。第三,不同發行版的許可也有差異。例如,Fedora 禁止事項 禁止包含專有的、受法律保護,或者是違反美國法律的驅動程序。而 Ubuntu 則讓用戶避免使用受法律保護或閉源的硬體設備

為了更好的學習 Linux 驅動程序是如何工作的,我建議閱讀 《Linux 設備驅動程序》一書中的 設備驅動程序簡介

兩種方式來尋找驅動程序

1、 用戶界面

如果是一個剛從 Windows 或 MacOS 轉過來的 Linux 新手,那你會很高興知道 Linux 也提供了一個通過嚮導式的程序來查看驅動程序是否可用的方法。 Ubuntu 提供了一個 附加驅動程序 選項。其它的 Linux 發行版也提供了幫助程序,像 GNOME 的包管理器,你可以使用它來檢查驅動程序是否可用。

2、 命令行

如果你通過漂亮的用戶界面沒有找到驅動程序,那又該怎麼辦呢?或許你只能通過沒有任何圖形界面的 shell?甚至你可以使用控制台來展現你的技能。你有兩個選擇:

  1. 通過一個倉庫

這和 MacOS 中的 homebrew 命令行很像。通過使用 yumdnfapt-get 等等。你基本可以通過添加倉庫,並更新包緩存。

  1. 下載、編譯,然後自己構建

這通常包括直接從網路,或通過 wget 命令下載源碼包,然後運行配置和編譯、安裝。這超出了本文的範圍,但是你可以在網路上找到很多在線指南,如果你選擇的是這條路的話。

檢查是否已經安裝了這個驅動程序

在進一步學習安裝 Linux 驅動程序之前,讓我們來學習幾條命令,用來檢測驅動程序是否已經在你的系統上可用。

lspci 命令顯示了系統上所有 PCI 匯流排和設備驅動程序的詳細信息。

$ lscpci

或者使用 grep

$ lscpci | grep SOME_DRIVER_KEYWORD

例如,你可以使用 lspci | grep SAMSUNG 命令,如果你想知道是否安裝過三星的驅動。

dmesg 命令顯示了所有內核識別的驅動程序。

$ dmesg

或配合 grep 使用:

$ dmesg | grep SOME_DRIVER_KEYWORD

任何識別到的驅動程序都會顯示在結果中。

如果通過 dmesg 或者 lscpi 命令沒有識別到任何驅動程序,嘗試下這兩個命令,看看驅動程序至少是否載入到硬碟。

$ /sbin/lsmod

$ find /lib/modules

技巧:和 lspcidmesg 一樣,通過在上面的命令後面加上 | grep 來過濾結果。

如果一個驅動程序已經被識別到了,但是通過 lscpidmesg 並沒有找到,這意味著驅動程序已經存在於硬碟上,但是並沒有載入到內核中,這種情況,你可以通過 modprobe 命令來載入這個模塊。

$ sudo modprobe MODULE_NAME

使用 sudo 來運行這個命令,因為這個模塊要使用 root 許可權來安裝。

添加倉庫並安裝

可以通過 yumdnfapt-get 幾種不同的方式來添加一個倉庫;一個個介紹完它們並不在本文的範圍。簡單一點來說,這個示例將會使用 apt-get ,但是這個命令和其它的幾個都是很類似的。

1、刪除存在的倉庫,如果它存在

$ sudo apt-get purge NAME_OF_DRIVER*

其中 NAME_OF_DRIVER 是你的驅動程序的可能的名稱。你還可以將模式匹配加到正則表達式中來進一步過濾。

2、將倉庫加入到倉庫表中,這應該在驅動程序指南中有指定

$ sudo add-apt-repository REPOLIST_OF_DRIVER

其中 REPOLIST_OF_DRIVER 應該從驅動文檔中有指定(例如:epel-list)。

3、更新倉庫列表

$ sudo apt-get update

4、安裝驅動程序

$ sudo apt-get install NAME_OF_DRIVER

5、檢查安裝狀態

像上面說的一樣,通過 lscpi 命令來檢查驅動程序是否已經安裝成功。

via: https://opensource.com/article/18/11/how-install-device-driver-linux

作者:Bryant Son 選題:lujun9972 譯者:Jamskr 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
1
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國