Наличие устройства, указанное несколько раз, совершенно нормально, это означает, что вы дважды вошли в систему. Если вы хотите, вы можете удалить «дополнительное» устройство с веб-сайта Ubuntu One.
В старых ядрах mount --bind не может создать просмотр только для чтения файловой системы чтения-записи. Ядро хранит состояние чтения и записи файловой системы в одном месте, которое не дублируется привязкой привязки. Более новые ядра допускают это, но требуют отдельного шага mount: сначала привязать, а затем сделать доступным только для чтения. Для этого есть патч ядра, и некоторые дистрибутивы (такие как Debian) применили его, но Ubuntu не имеет (по крайней мере, не 12.04).
Одно из решений - только вид из сценария загрузки вместо /etc/fstab, как объясняет Оли.
В противном случае вы можете использовать . Оли объясняет . Это файловая система FUSE. Переход через FUSE немного медленнее, поскольку он вводит дополнительный слой косвенности. Вы также теряете поддержку расширенных метаданных файлов, таких как ACL. С другой стороны, просмотр только для чтения будет иметь узнаваемый тип файловой системы, что упростит исключение из обходов файловой системы (например, locate и резервных копий).
Запись fstab выглядит так: :
bindfs#/src /dst fuse perms=a=rX
Согласно этой статье LWN, это поведение прорывается в ядро вокруг версии 2.6.25. Короче, если целевая файловая система rw, привязка чего-то сверху не может преобразовать ее в ro.
В 2.6.26 они частично фиксировали вещи, чтобы вы могли запускать перезагрузку (поскольку вы, (d2)
Вот что я пытался в fstab:
/home/oli/Desktop/testmount /mnt none bind,ro
После запуска mount -a, /mnt смонтирован, но я все еще могу создавать файлы. После того, как он был выключен sudo mount -o remount /mnt, он стал доступен только для чтения.
Итак, я думаю, что самый чистый метод - либо иметь строку в /etc/rc.local, либо написать суперпростой сценарий Upstart, который начинается с mountall (так это происходит сразу).