Als je in Raspberry geen grafische interface gebruikt, wordt het vervelend om ons USB-geheugen keer op keer te monteren. Ook kun je tijdens het automatiseren van deze actie (wat ik hieronder laat zien) iets leren over hoe Linux met apparaten omgaat.
Installeer autofs en udev
Het eerste dat we gaan doen, is installeren autofs y udev
sudo apt-get install autofs udev
udev is een linux-kerneltool die verantwoordelijk is voor het beheer van de / dev-directory, waar alle apparaten zich bevinden. En met autofs kunnen we, eenmaal geconfigureerd, alles automatisch koppelen en ontkoppelen zodra de usb is aangesloten of losgekoppeld.
Het eerste dat we zullen doen, is ons USB-geheugen (ik zal een Kingston-merk gebruiken) aansluiten op onze computer / Raspberry Pi. Vervolgens voeren we uit:
sudo fdisk-l
zal een output hebben die lijkt op deze:
Schijf / dev / mmcblk0: 15.7 GB ... Apparaat opstarten Start Eindblokken Id Systeem / dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16 (LBA) / dev / mmcblk0p2 1613824 30613503 14499840 85 Linux uitgebreid / dev / mmcblk0p3 30613504 30679039 32768 Linux ... .. Schijf / dev / sda: 83 GB ... Apparaat opstarten Start Eindblokken Id Systeem / dev / sda30.9 1 2048 60436479 c W30217216 FAT95 (LBA)
Mijn externe usb-geheugen heeft 30.9 GB (dat wil zeggen, het is / dev / sda1), terwijl het SD-geheugen waar ik Linux op heb geïnstalleerd 15.7 GB heeft.
Aangepaste regels in udev
Wetende dat sda1 ons apparaat is, zullen we udev gebruiken om informatie uit het geheugen te extraheren, dus voeren we het volgende commando uit:
udevadm info -a -p $ (udevadm info -q pad -n / dev / sda1)
er zullen blokken zijn, gescheiden door de zin "kijken naar bovenliggend apparaat '/ apparaten / ... .."
om het zoeken een beetje gemakkelijker te maken, kunnen we grep gebruiken, dus ik doe het volgende:
udevadm info -a -p $ (udevadm info -q pad -n / dev / sda1) | grep fabrikant
in mijn geval, omdat mijn geheugen een Kingston is, is de uitvoer:
ATTRS {manufacturer} == "Kingston" # 1 ATTRS {manufacturer} == "Linux 3.12.28+ dwc_otg_hcd"
of we kunnen ook zoeken:
udevadm info -a -p $ (udevadm info -q pad -n / dev / sda1) | grep model udevadm info -a -p $ (udevadm info -q pad -n / dev / sdd1) | grep leverancier
Ik ben geïnteresseerd:
ATTRS {fabrikant} == "Kingston"
Net als het eerste toeval. In de opdrachtuitvoer udevadm Ik zoek het blok waar het voor het eerst verschijnt "ATTRS {fabrikant}"
Ik neem enkele gegevens die ik als uniek beschouw, van het apparaat van een blok, in mijn geval:
ATTRS {product} == "xxx" ATTRS {serieel} == "xxxx" DRIVERS == "usb"
je hoeft alleen maar de regels te maken. We maken een bestand af in .rules in udev:
sudo nano /etc/udev/rules.d/personal.rules
in het bestand dat we plaatsen
ATTRS {product} == "xxx", ATTRS {serial} == "xxx", DRIVERS == "usb", SYMLINK + = "miusb"
Als ik nu mijn usb aansluit, zal er een bestand / dev / miusb zijn. Dit was het moeilijkste deel.
Autofs instellen
We voeren uit:
sudo nano / etc / default / autofs
waar staat "TIMEOUT =" zetten ze "TIMEOUT = 1"
Laten we naar /etc/auto.master gaan
nano /etc/auto.master
en in het bestand plaatsen we de laatste regel:
/ media /etc/auto.misc
nu gaan we naar /etc/auto.misc
nano /etc/auto.master
en in de laatste regel schrijven we:
mijngeheugen -fstype = vfat, gebruikers, rw, umask = 000: / dev / miusb
ten slotte laten we het de autofs-module aan het begin laden:
sudo nano / etc / modules
en in de laatste regel schrijven we:
autofs4
en voila, we herstarten de Raspberry. Houd er rekening mee dat de map niet bestaat in / media, maar wanneer we een
cd / media / geheugen
we zijn al binnen. En als we het niet meer gebruiken, verdwijnt de map en kunnen we het apparaat verwijderen zonder het handmatig te ontkoppelen.
bedankt voor het posten 🙂
Ik denk dat er een fout is opgetreden bij het bewerken van auto.misc, auto.master wordt in de code geschreven, voor het geval iemand het nietsvermoedend doet en zich niet realiseert 🙂
Bedankt, ik was gewoon op zoek om het op Raspbian te doen, ik heb Arch eerder gebruikt en het was gemakkelijker.
Heel goed, dat ik moest bezetten toen ik mijn Pi als een torrent-client plaatste met mappen die door samba werden gedeeld.
De fstab-handleiding zegt dat het iets robuuster is om het label van de eenheid te controleren met # blkid, in mijn geval heb ik een automatisch gemonteerde Windows-partitie bij elke start als volgt:
/ Dev / sda2
UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto, standaard 0 2
op de framboos heb ik een LVM gemonteerd, ik herinner me de configuratie niet goed.
Volgens de handleiding kun je # fdisk -l gebruiken om het stationsnummer en de letter te krijgen en # blkid om te weten welk label overeenkomt met welk station.
Groeten.
[Bijwerken]
Dit label komt voort uit het feit dat er mensen (zoals ik) zijn die zich lui voelen om een volume los te koppelen elke keer dat de computer wordt uitgeschakeld.Het probleem is wanneer je meerdere volumes hebt, omdat het niet altijd in dezelfde volgorde wordt gemount na verschillende herstarts . Dit heeft overigens een nadeel, wanneer het apparaat dat overeenkomt met het toegewezen label voor automount wordt verwijderd, wordt een fout gegenereerd en kan de / home niet worden geladen als de partitie op home is aangekoppeld. Dit kan worden opgelost door commentaar te geven op het apparaat dat conflicten veroorzaakt in fstab of door het apparaat opnieuw aan te sluiten