Montera USB-enheter automatiskt på en Raspberry PI

Denna artikel har publicerats av Hallå i vår foro

I Raspberry, om du inte använder ett grafiskt gränssnitt blir det irriterande att montera vårt USB-minne om och om igen. Dessutom kan du lära dig lite om hur Linux hanterar enheter under processen med att automatisera den här åtgärden (vilket jag visar nedan).

Installera autofs och udev

Det första vi ska göra är att installera autofs y udev

sudo apt-get installera autofs udev

udev är ett Linux-kärnverktyg som ansvarar för att hantera / dev-katalogen, där alla enheter finns. Och autofs låter oss, när de väl är konfigurerade, montera och avmontera automatiskt så snart USB-enheten är ansluten eller frånkopplad.

Det första vi ska göra är att ansluta vårt USB-minne (jag kommer att använda ett Kingston-märke) i vår dator / Raspberry Pi. Sedan utför vi:

sudo fdisk-l

kommer att ha en utgång liknande den här:

Disk / dev / mmcblk0: 15.7 GB ... Enhetens startstoppslutblock Id-system / dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16 (LBA) / dev / mmcblk0p2 1613824 30613503 14499840 85 Linux utökad / dev / mmcblk0p3 30613504 30679039 32768 Linux … .. Disk / dev / sda: 83 GB ... Enhetens startstartslutblock Id-system / dev / sda30.9 1 2048 60436479 c W30217216 FAT95 (LBA)

Mitt externa USB-minne har 30.9 GB (det vill säga det är / dev / sda1) medan SD-minnet där jag har Linux installerat har 15.7 GB.

Anpassade regler i udev

Att veta att sda1 är vår enhet kommer vi att använda udev för att extrahera information från minnet, så vi kör följande kommando:

udevadm info -a -p $ (udevadm info -q sökväg -n / dev / sda1)

det kommer att finnas block åtskilda av frasen "tittar på föräldraenhet" / enheter / ...

För att göra sökningen lite enklare kan vi använda grep, så jag gör följande:

udevadm info -a -p $ (udevadm info -q sökväg -n / dev / sda1) | grep-tillverkare

i mitt fall eftersom mitt minne är en Kingston är resultatet:

    ATTRS {tillverkare} == "Kingston" # 1 ATTRS {tillverkare} == "Linux 3.12.28+ dwc_otg_hcd"

eller så kan vi också söka:

udevadm info -a -p $ (udevadm info -q sökväg -n / dev / sda1) | grep-modell udevadm info -a -p $ (udevadm info -q sökväg -n / dev / sdd1) | grep-leverantör

Jag är intresserad:

ATTRS {tillverkare} == "Kingston"

Liksom den första slumpen. I kommandoutgången udevadm Jag letar efter blocket där det först visas "ATTRS {tillverkare}"

Jag tar några data som jag anser vara unika från enheten i ett block, i mitt fall:

   ATTRS {product} == "xxx" ATTRS {serial} == "xxxx" DRIVERS == "usb"

du behöver bara skapa reglerna. Vi gör en fil klar i .rules i udev:

sudo nano /etc/udev/rules.d/personal.rules

inuti filen vi lägger

ATTRS {product} == "xxx", ATTRS {serial} == "xxx", DRIVERS == "usb", SYMLINK + = "miusb"

Nu när jag ansluter min USB kommer det att finnas en fil / dev / miusb. Det här var den svåraste delen.

Ställa in autofs

Vi utför:

sudo nano / etc / default / autofs

där det står "TIMEOUT =" lägger de "TIMEOUT = 1"

Låt oss gå till /etc/auto.master

nano /etc/auto.master

och inuti filen sätter vi i sista raden:

/ media /etc/auto.misc

nu går vi till /etc/auto.misc

nano /etc/auto.master

och i sista raden skriver vi:

mymemory -fstype = vfat, användare, rw, umask = 000: / dev / miusb

äntligen får vi det att ladda autofs-modulen i början:

sudo nano / etc / moduler

och i sista raden skriver vi:

autofs4

och voila, vi startar om hallonet. Tänk på att mappen inte finns i / media utan när vi gör en

cd / media / minne

vi är redan inne. Och om vi slutar använda den försvinner mappen och vi kan ta bort enheten utan att manuellt avmontera den.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Hallå sade

    tack för att du publicerade det 🙂

  2.   Paul sade

    Jag tror att det finns ett fel, i steget att redigera auto.misc, skrivs auto.master i koden, om någon intet ont anande gör det och inte inser 🙂

  3.   Fernando Diaz sade

    Tack, jag ville bara göra det på Raspbian, jag använde Arch tidigare och det var lättare.

  4.   Azureus sade

    Mycket bra att jag fick ockupera när jag satte min Pi som en torrentklient med kataloger som delades av samba.
    Fstab-manualen säger att något lite mer robust är att kontrollera enhetens etikett med # blkid, i mitt fall har jag en automatiskt monterad Windows-partition vid varje start enligt följande:

    / Dev / sda2
    UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto, standard 0 2

    på hallonet har jag en LVM monterad, jag kommer inte ihåg konfigurationen väl.
    Enligt handboken kan du använda # fdisk -l för att få enhetsnummer och bokstav och # blkid för att veta vilken etikett som motsvarar vilken enhet.

    Hälsningar.

    1.    Azureus sade

      [Uppdatering]
      Den här etiketten kommer från det faktum att det finns människor (som jag) som känner sig lata att koppla bort en volym varje gång datorn stängs av, problemet är när du har flera volymer eftersom den inte alltid är monterad i samma ordning efter flera omstart . Förresten, detta har en nackdel, när enheten som motsvarar den tilldelade etiketten för automount tas bort, kastar det ett fel och tillåter inte att / home laddas om partitionen är monterad hemma. Detta kan lösas genom att kommentera enheten som orsakar konflikter i fstab eller genom att ansluta enheten igen