Automatisches Mounten eines externen Laufwerks unter / media mit Lese- / Schreibzugriff auf alle

9

Hier ist mein Problem:

Mein Computer hat 4 USB-Anschlüsse und läuft mit Ubuntu 12.10. Ich erhalte jeden Tag verschiedene USBs, schließe sie an meinen Computer an, lese / schreibe Daten auf sie und sende sie dann weg.

Ich möchte automatisch jeden USB-Anschluss an meinen Computer anschließen. Der erste erkannte USB-Anschluss geht an /media/HDD1, der zweite geht an /media/HDD2und so weiter. Oder es wäre großartig, wenn USB /media/HDD1an Port1 angeschlossen wird, USB an Port2 angeschlossen wird /media/HDD2und so weiter.

Der Pfad /mediaist nicht wichtig, aber ich möchte die HDD1-4-Verzeichnisse an einem Ort haben, damit ich leicht darauf zugreifen kann.

Die USBs sind normalerweise ext2, aber manchmal bekomme ich auch FAT32- und NTFS-USBs.

Ich möchte auch, dass USB ohne Anmeldung bei Ubuntu gemountet wird, da ich häufig /media/HDD..von einem anderen Windows-Computer aus zugreife .

Wie kann ich das machen? Welche Änderung der udevRegeln fstabsollte ich vornehmen? Jeder Vorschlag wird sehr geschätzt.

Kiwi
quelle

Antworten:

7

Nun, hier können wir den gleichen Trick fstabverwenden, der für optische Medien (auch bekannt als CDs und DVDs) verwendet wird:

/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

Die erste Spalte zeigt das Dateisystem, ich bin sicher , dass Ihr USB die feste Werte haben wird, so lässt vermuten , dass alles nach sdaein USB ist, und da Sie nur 4 USB ist zur gleichen Zeit haben, die Liste geht aus sdb, sdc, sddund sde.

$ ls /dev/sd*
/dev/sda   /dev/sdb   /dev/sdb3  /dev/sdb6  /dev/sdc  /dev/sdf
/dev/sda1  /dev/sdb1  /dev/sdb4  /dev/sdb7  /dev/sdd
/dev/sda2  /dev/sdb2  /dev/sdb5  /dev/sdb8  /dev/sde

(In meinem Fall verwende ich einen Speicherleser, daher starten meine USB-Treiber ab, können sdgaber fortgesetzt werden.)

Nun nehmen wir an, dass jeder USB eine und nur eine Partition hat. Die Zeilen, die wir für unsere benötigen fstab, sind:

/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1

Dann sagten Sie, dass Ihre Mount-Punkte repariert werden müssen. Nachdem Sie Ihre Verzeichnisse erstellt haben, können Sie sie hinzufügen:

/dev/sdb1 /media/HDD1
/dev/sdc1 /media/HDD2
/dev/sdd1 /media/HDD3
/dev/sde1 /media/HDD4

Da Sie fast alle Arten von Dateisystemen haben können, können Sie mit dem autoso fstab den zu verwendenden Dateityp erraten:

/dev/sdb1 /media/HDD1 auto
/dev/sdc1 /media/HDD2 auto
/dev/sdd1 /media/HDD3 auto
/dev/sde1 /media/HDD4 auto

Ok, jetzt kommen wir zu den Optionen, die für CDs mit dem Plus an Lese- / Schreibberechtigungen gleich sind:

/dev/sdb1 /media/HDD1 auto rw,users,noauto,allow_other,umask=0
/dev/sdc1 /media/HDD2 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD3 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD4 auto rw,users,noauto,allow_other,umask=0

rwteilt mit, dass wir Lese- und Schreibberechtigungen wünschen, usersdass jeder Benutzer ein Gerät bereitstellen kann, noautoverhindert, dass der Treiber beim mount -aAufruf automatisch bereitgestellt wird, wie dies beim Booten der Fall ist, und verhindert, allow_otherdass Startfehler und Warnungen andere Benutzer als den Benutzer zulassen, der den Treiber bereitgestellt hat haben die gleichen Berechtigungen und umask=0verhindern , dass die Standardeinstellungen umask angewendet werden.

Jetzt sind die einzigen 2 verbleibenden Felder so ziemlich nur die dumpReihenfolge und fsckReihenfolge, die in 0beiden sein könnten , so dass wir das Endergebnis erhalten:

/dev/sdb1 /media/HDD1 auto rw,user,noauto,allow_other 0 0
/dev/sdc1 /media/HDD2 auto rw,user,noauto,allow_other 0 0
/dev/sdd1 /media/HDD3 auto rw,user,noauto,allow_other 0 0
/dev/sde1 /media/HDD4 auto rw,user,noauto,allow_other 0 0

Jedes Mal, wenn Sie ein USB-Gerät anschließen, wird es ohne Eingreifen des Benutzers automatisch am Mount-Punkt montiert. Sie sollten nach Ihren Wünschen ändern.

Braiam
quelle
danke Braiam. Ich bin nicht sicher, ob das Ändern von fstab USBs automatisch mounten kann, ohne dass ein Neustart oder der Befehl "mount" erforderlich ist. Ich habe eine einfache Lösung für die Verwendung von Autofs gefunden. Es wird nicht nur automatisch bereitgestellt, sondern unterstützt auch das automatische Aufheben der Bereitstellung nach einer vordefinierten Zeit ohne Aktion, was in meinem Fall sehr nützlich ist
Kiwi
Nein, das tut es nicht. Wie ich am Anfang gesagt, war ich mit den gleichen Trick fstab Anwendungen für CD / DVD, die nicht die Verwendung erfordert rootnoch mountnoch Neustart.
Braiam
3

Hier ist die Lösung, die ich gefunden habe:

Zuerst installiere ich Autofs auf meinem Linux-PC:

sudo apt-get install autofs

Es wird eine auto.master-Datei unter erstellt /etc/auto.master

Fügen Sie am Ende dieser Datei die folgende Zeile hinzu:

/media/mount /etc/auto.mount --timeout=10 --ghost

/media/mountist ein Verzeichnis, in das ich alle externen Laufwerke einbinden möchte. /etc/auto.mountist die Datei, die in Einbauregeln eingefügt werden soll. --timeout=10bedeutet, dass das Laufwerk nach 10 Sekunden Inaktivität automatisch ausgehängt wird. --ghostbedeutet, dass beim Abhängen immer noch ein Bild des Inhalts hinterlassen wird. Ändern Sie diese Zeile entsprechend Ihren Anforderungen.

Bearbeiten Sie die /etc/auto.mountDatei und fügen Sie die folgenden Zeilen hinzu:

disk1  -fstype=auto,sync  :/dev/sdc1
disk2  -fstype=auto,sync  :/dev/sdd1
disk3  -fstype=auto,sync  :/dev/sde1
disk4  -fstype=auto,sync  :/dev/sdf1
disk5  -fstype=auto,sync  :/dev/sdg1
disk6  -fstype=auto,sync  :/dev/sdh1
disk7  -fstype=auto,sync  :/dev/sdi1
disk8  -fstype=auto,sync  :/dev/sdj1
DVD    -fstype=iso9660,ro :/dev/sr0

Für normale Laufwerke wie USB oder eSATA eingestellt -fstype=auto,sync. Ich habe 8 USB + eSATA-Anschlüsse, daher deklariere ich hier 8 Mount-Punkte. Mein PC hat bereits sdaund sdbals lokale Festplatten also sdc1-> sdj1für externe Geräte. Sie sind tatsächlich Geräteknoten, /devwenn Sie Ihre Laufwerke anschließen. Eine Ausnahme von der Bereitstellungsregel ist die DVD-Bereitstellung, wie Sie oben sehen.

Wenn ich Laufwerke einlege, werden diese als disk1, disk2, ... im /media/mountVerzeichnis angezeigt und nach 10 Sekunden automatisch abgemeldet . Ich muss meinen PC nicht berühren und kann von einem anderen Ort (z. B. einer virtuellen Maschine) darauf zugreifen.

Kiwi
quelle