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.
tack för att du publicerade det 🙂
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 🙂
Tack, jag ville bara göra det på Raspbian, jag använde Arch tidigare och det var lättare.
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.
[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