Как настроить запись данных для мгновенного запуска?
Если я отредактирую файлы на моем pendrive, а затем просто удалю его физически, данные не будут записаны. Я должен нажать "извлечь", и поэтому светодиод начинает мигать, и данные начинают записываться.
Как я могу изменить это, чтобы данные мгновенно записывались при изменении?
обновление: Ubuntu 11.10
В Ubuntu 11.10 я написал файл правил (из ответа @enzotib) и работает, но выдает следующее сообщение при попытке извлечь / размонтировать:
(Должен ли я начать еще один вопрос для Ubuntu 11.10?)
2 ответа
После вопроса (и ответа), который @arrange показывает в своем комментарии, давайте создадим новый файл
/etc/udev/rules.d/11-media-by-label-auto-mount.rules
и запишите в него следующее содержимое (см. udev::Mount в /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
и удаление точки монтирования.
Для более новой Ubuntu (> 20.04) вы можете создать/отредактировать /etc/udisks2/mount_options.conf и установить:
[defaults]
defaults=noatime,sync
И
sudo service udisks2 restart
отключение и повторное подключение вашего диска.
Это позволяет синхронизировать всю файловую систему автоматически и игнорировать время создания (ускоряет навигацию по файловой системе).