Wie konfiguriere ich die sofortige Datenaufzeichnung für Pendrive?


12

Wenn ich die Dateien auf meinem Pendrive bearbeite und sie dann nur physisch entferne, werden die Daten nicht aufgezeichnet. Ich muss auf "Auswerfen" klicken, und die LED beginnt zu blinken und die Daten werden aufgezeichnet.

Wie kann ich das ändern, damit die Daten bei Änderung sofort erfasst werden?

Update: Ubuntu 11.10

In Ubuntu 11.10 habe ich die Regeldatei (von @enzotib answer) geschrieben und funktioniert, es wird jedoch die folgende Meldung angezeigt , wenn ich versuche, die Bereitstellung aufzuheben / aufzuheben:

Bildbeschreibung hier eingeben

(Soll ich eine andere Frage für Ubuntu 11.10 starten?)


2
Die Leistung wird geringer, da der Schreibcache nicht mehr verwendet wird. Hängen Sie Partitionen ordnungsgemäß mit den Optionen zum Auswerfen / Abhängen aus, da sonst Daten verloren gehen.
Lekensteyn

4
Sie können diese syncOption beim Mounten der Partition verwenden. Dies wird jedoch nicht empfohlen, da hierdurch die Anzahl der Schreibvorgänge auf dem Thumbdrive drastisch erhöht wird.
Ordnen Sie den

2
@arrange als Ubuntu das Automount machen, gibt es eine Möglichkeit, dies syncals Standard zu setzen , so dass ich dies nicht jedes Mal in einem Terminal tun muss? Und ich bin mir bewusst, dass es die Anzahl der Schreibvorgänge dramatisch erhöhen wird, trotzdem ist es das, was ich will. Vielen Dank!
Tom Brito


@arrange sah es, aber es ist immer noch keine vollständige Antwort ...
Tom Brito

Antworten:


8

Nach der Frage (und Antwort) , die @arrange in seinem Kommentar anzeigt, erstellen wir eine neue Datei

/etc/udev/rules.d/11-media-by-label-auto-mount.rules

und schreiben Sie den folgenden Inhalt hinein (siehe udev :: Mount under / media; verwenden Sie, falls vorhanden, die Partitionsbezeichnung )

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime,sync"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,uid=1000,gid=1000,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

Ich habe einige kleine Änderungen in Bezug auf die auf der Website gemeldeten vorgenommen

  • hat die syncOption zu hinzugefügtENV{mount_options}
  • Die gid=100Option wurde in geändert uid=1000,gid=1000, wobei die Zahlen relativ zu Ihrer verwendeten ID und Gruppen-ID sind, wie von id -uund zurückgegebenid -g

Die zweite Option macht Sie zum Eigentümer aller Dateien auf der bereitgestellten Partition, sodass kein Berechtigungsproblem auftreten kann. Dies ist natürlich nicht der Fall, wenn mehr als ein Benutzer auf die Dateien zugreifen soll, dies kann jedoch auf andere Weise erfolgen.

Bei Nicht-Windows-Dateisystemen sind Eigentümer und Gruppe Metadaten im Dateisystem und können nicht durch eine Mount-Option geändert werden.

Die neue Regel ist sofort aktiv ( udev verwendet inotify , um neue und geänderte Regeldateien zu erkennen).

Wie Sie sehen, wird das bereitgestellte Laufwerk nicht automatisch in einem Dateimanagerfenster geöffnet. Dies ist schwierig, da der Bereitstellungsprozess im Besitz von root ist und Sie keinen Zugriff auf Ihre grafische Anmeldesitzung haben. Da sich das Laufwerk jedoch auf Ihrem Desktop befindet, wird es durch einen einfachen Doppelklick geöffnet.

Leider kann ich den Desktop nicht zum Funktionieren bringen, aber das ist kein großes Problem: syncWenn die Option aktiviert ist, können Sie das Gerät einfach vom Computer trennen, und die udev-Regel sorgt dafür, dass der Eintrag vom /proc/mountsComputer entfernt und der Mount entfernt wird. Punkt.


Ich konnte nicht umhin, dieses How-to zu schreiben, danke dafür;) Und ich konnte den Benutzer auch nicht dazu bringen, die Arbeit abzubrechen, es scheint, dass die usersOption nur in der fstabDatei gültig ist ... Dies ist nicht der Fall ein problem hier ("sync"), aber für ein allgemeines how-to wäre es.
Ordnen Sie den

Danke für die Antwort. Leider konnte ich nach dem beschriebenen Vorgang keine Dateien auf dem pendrive erstellen, bearbeiten oder löschen. Außerdem öffnet sich das Fenster nicht mehr automatisch, wenn ich es einstecke. Irgendeine Idee?
Tom Brito

Übrigens habe ich die von Ihnen eingegebene Erweiterung ".rule" für falsch befunden und die gleichen Dateien in diesem Ordner verwendet: ".rules".
Tom Brito

In der Dokumentation wird nicht auf bestimmte zu verwendende Erweiterungen eingegangen. Übrigens habe ich falsch von der Seite kopiert, daher ist es besser, .rulessicher zu gehen. Weitere Informationen finden Sie in der bearbeiteten Antwort.
Enzotib

Hey, ich bin jetzt auf Ubuntu 11.10 und es gibt ein anderes Verhalten. Bitte beachten Sie mein Update.
Tom Brito
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.