在Raspberry PI上自動安裝USB設備

本文已發表於 在我們的 論壇

在Raspberry中,如果不使用圖形界面,一遍又一遍地安裝USB存儲器將變得很煩人。 另外,在自動執行該操作的過程中(這是我在下面顯示的內容),您可以學到一些有關Linux如何處理設備的知識。

安裝autofs和udev

我們要做的第一件事是安裝 自動文件 y 烏德夫

須藤apt-get install autofs udev

udev是一個Linux內核工具,負責管理所有設備所在的/ dev目錄。 autofs允許我們在配置好後,只要USB連接或斷開,所有的安裝和卸載操作都會自動進行。

我們要做的第一件事是在我們的計算機/ Raspberry Pi中連接我們的USB內存(我將使用Kingston品牌)。 然後我們執行:

須藤的fdisk-L

將具有類似於以下的輸出:

磁盤/ dev / mmcblk0:15.7 GB ...設備啟動起始塊ID系統/ dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16(LBA)/ dev / mmcblk0p2 1613824 30613503 14499840 85 Linux擴展/ dev / mmcblk0p3 30613504 30679039 32768 Linux …..磁盤/ dev / sda:83 GB ...設備啟動開始端塊ID系統/ dev / sda30.9 1 2048 60436479 c W30217216 FAT95(LBA)

我的外部USB內存有30.9 GB(即/ dev / sda1),而我安裝Linux的SD內存有15.7 GB。

udev中的自定義規則

知道sda1是我們的設備,我們將使用udev從內存中提取信息,因此我們執行以下命令:

udevadm信息-a -p $(udevadm信息-q路徑-n / dev / sda1)

會有一些塊用短語“看著父設備'/ devices / .....”分隔。

為了使搜索更容易一些,我們可以使用grep,因此我執行以下操作:

udevadm信息-a -p $(udevadm信息-q路徑-n / dev / sda1)| grep製造商

就我而言,因為我的記憶是金斯敦,輸出為:

    ATTRS {manufacturer} ==“金斯敦”#1 ATTRS {manufacturer} ==“ Linux 3.12.28+ dwc_otg_hcd”

或者我們也可以搜索:

udevadm信息-a -p $(udevadm信息-q路徑-n / dev / sda1)| grep模型udevadm信息-a -p $(udevadm信息-q路徑-n / dev / sdd1)| grep供應商

我很感興趣:

ATTRS {manufacturer} ==“金斯敦”

和第一個巧合一樣。 在命令輸出中 烏德瓦德姆 我在它第一次出現的地方尋找“ ATTRS {manufacturer}”

在我的情況下,我從塊的設備中獲取一些我認為獨特的數據:

   ATTRS {product} ==“ xxx” ATTRS {serial} ==“ xxxx”驅動程序==“ usb”

您只需要創建規則。 我們在udev中的.rules中完成一個文件:

須藤納米/etc/udev/rules.d/personal.rules

在我們放入的文件內

ATTRS {product} ==“ xxx”,ATTRS {serial} ==“ xxx”,驅動程序==“ usb”,SYMLINK + =“ miusb”

現在,當我連接USB時,將有一個文件/ dev / miusb。 這是最難的部分。

設置autofs

我們執行:

須藤nano / etc /默認/ autofs

上面寫著“ TIMEOUT =”,他們輸入“ TIMEOUT = 1”

我們去/etc/auto.master

納米/etc/auto.master

在文件的最後一行:

/媒體/etc/auto.misc

現在我們去/etc/auto.misc

納米/etc/auto.master

在最後一行中,我們寫:

mymemory -fstype = vfat,用戶,rw,umask = 000:/ dev / miusb

最後,我們讓它在開始時加載autofs模塊:

sudo nano / etc /模塊

在最後一行中,我們寫:

自動文件系統4

瞧,我們重新啟動Raspberry。 請記住,該文件夾在/ media中不存在,但是當我們執行

cd /媒體/內存

我們已經在裡面了。 如果我們停止使用它,該文件夾將消失,我們可以刪除設備而無需手動卸載。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   他說:

    感謝您發布posting

  2.   巴勃羅 他說:

    我認為有一個錯誤,在編輯auto.misc的步驟中,代碼中編寫了auto.master,以防萬一有人懷疑它並沒有意識到🙂

  3.   費爾南多·迪亞茲 他說:

    謝謝,我只是想在Raspbian上做,我以前使用過Arch,它更容易。

  4.   Azureus的 他說:

    很好,當我將Pi作為samba共享目錄的torrent客戶端時,我就不得不佔據這個位置。
    fstab手冊說,使用#blkid檢查單元的標籤會更可靠一些,在我的情況下,每次啟動時我都有一個自動掛載的Windows分區,如下所示:

    /開發/ sda2的
    UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto,默認0 2

    在樹莓派上,我安裝了LVM,我記不清配置了。
    根據手冊,您可以使用#fdisk -l獲取驅動器號和字母,以及#blkid來了解哪個標籤對應於哪個驅動器。

    問候。

    1.    Azureus的 他說:

      [更新]
      該標籤的出現是由於有些人(像我一樣)在每次關閉計算機時都懶於斷開卷的連接,問題是當您有多個卷時,因為在多次重新引導後卷並不總是以相同的順序安裝。 順便說一句,這有一個缺點,當刪除與為自動安裝分配的標籤相對應的設備時,它會引發錯誤,並且如果分區安裝在主目錄上,則不允許加載/ home。 可以通過註釋掉引起fstab衝突的設備或再次連接設備來解決此問題。