Як налаштувати запис даних, щоб миттєво мандрувати?


12

Якщо я відредагую файли на моєму pendrive, а потім просто фізично його видалюю, дані не будуть записані. Я повинен натиснути "витягнути", і тоді світлодіод починає блимати, і дані починають записуватись.

Як я можу це змінити, щоб дані були записані миттєво при зміні?

оновлення: Ubuntu 11.10

В Ubuntu 11.10 я написав файл правил (від @enzotib відповідь) і працює, але видає таке повідомлення, коли я намагаюся вийняти / відключити:

введіть тут опис зображення

(я повинен почати інше питання щодо Ubuntu 11.10?)


2
Продуктивність буде меншою, оскільки кеш запису більше не використовується. Правильно від'єднайте розділи, використовуючи параметри виймання / відключення, інакше ви втратите дані.
Лекенштейн

4
Ви можете використовувати цю syncопцію під час монтажу перегородки. Це не рекомендується, хоча це різко збільшує кількість записів у thumbdrive.
влаштовуйте

2
@arrange, як ubuntu робити automount, чи є спосіб поставити це syncза замовчуванням, тому мені не потрібно робити це в терміналі кожен раз? І я знаю, що це різко збільшить кількість записів, все одно - це те, що я хочу. Дякую!
Том Бріто


@arrange побачив це, але це все ще не повна відповідь ...
Том Бріто,

Відповіді:


8

Після запитання (і відповіді), яке @arrange показує у своєму коментарі, давайте створимо новий файл

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

і впишіть у неї наступний вміст (див. udev :: Mount under / media; використовуйте мітку розділу, якщо є )

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"

Я вніс деякі невеликі зміни стосовно повідомлень на веб-сайті

  • додано syncпараметр доENV{mount_options}
  • змінив gid=100параметр на uid=1000,gid=1000, де число відносно використовуваного ідентифікатора, що використовується, і ідентифікатора групи, як повертається id -uіid -g

Другий робить вас власником усіх файлів на змонтованому розділі, тому жодної проблеми з дозволом не може виникнути. Очевидно, це не так, якщо до файлів має доступ більше одного користувача, але це може бути вирішено іншими способами.

Для файлових систем, що не є Windows, власник і група є метаданими у файловій системі, і їх неможливо змінити за допомогою параметра монтажу.

Нове правило негайно активне ( udev використовує inotify для виявлення нових та модифікованих файлів правил).

Змонтований диск не відкривається автоматично у вікні файлового менеджера, як ви бачите, і цього важко домогтися, враховуючи, що процес монтажу належить root, і вони не мають доступу до вашого графічного сеансу входу. Але диск знаходиться на робочому столі, тому простий подвійний клацання відкриє його.

На жаль, я не можу змусити роботу робочого клацання відключити праву кнопку миші для роботи, але це не є великою проблемою: маючи syncопцію на місці, ви можете просто відключити пристрій, а правило udev піклується про видалення запису з /proc/mountsта видалення монтування- бал.


Я не міг обійтись написанням цього способу, дякую, що зробив це;) І я також не міг змусити користувача відключити роботу, схоже, що usersваріант дійсний лише у fstabфайлі ... Це не так проблема тут ("синхронізація"), але для загального як це було б.
влаштовуйте

Дякую за відповідь. На жаль, виконавши описане, я не зміг створити, відредагувати або видалити будь-які файли на макеті. Крім того, це більше не автоматично відкриває вікно, коли я його підключаю. Будь-яка ідея?
Том Бріто

До речі, я вважав, що розширення, яке ви ввели ".rule", невірно, і я використав те саме, що і в інших файлах цієї папки: ".rules".
Том Бріто

У документації не йдеться про конкретні розширення, які слід використовувати. До речі, я неправильно скопіював з сайту, тому краще використовувати, .rulesщоб бути безпечним. Для решти дивіться відредаговану відповідь.
enzotib

Гей, я зараз на Ubuntu 11.10, і там інша поведінка. Будь ласка, дивіться моє оновлення.
Том Бріто
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.