Назад | Перейти на главную страницу

Как разрешить запись локально в раздел NFS, доступный только для чтения

Я создал свой собственный сетевой загрузочный сервер PXE / NFS на Ubuntu 12.04, как описано Вот. Я могу писать в файлы на стороне клиента, если изменю /etc/exports файл, подобный этому на стороне сервера:

/srv/ubuntulivecd/        *(rw,async,no_root_squash,no_subtree_check) 

Я хочу менять файлы только локально. Я имею в виду, что это не должно изменять файл в разделе NFS, если я пишу в файл локально. Если я изменю rw(read-write) возможность ro(read-only), Я не могу изменять файлы (как и ожидалось) из-за разрешений. Есть ли способ изменить файлы локально или временно (все файлы должны быть удалены после перезагрузки или выключения) на стороне клиента?

В клиенте вы можете скопировать файлы в tmpfs (туда же загружается live-cd). Вам нужно установить союз тип FS (aufs) между файловой системой RO на NFS и tmpfs Файловая система RW на вашем локальном компьютере.

example for tmps:
$ mount -t tmpfs no_device /tmp

теперь все, что вы делаете на / tmp, будет работать на ramfs

example for union:
$ ls dir1
subdir
$ ls dir1/subdir
file1
$ ls dir2
subdir
$ ls dir2/subdir
file2
$ mkdir dir_union
$ mount -t aufs -o dirs=dir1=rw:dir2=ro no_device dir_union
$ ls dir_union
subdir
$ ls dir_union/subdir
file1 file2

обратите внимание на dir1 = rw и dir2 = ro. Теперь вы можете $ rm dir_union/subdir/file2 , который должен быть ро, но в объединении вы можете изменить его, и вы не получите ошибки. Фактически отображаются только различия. Если вы это сделаете

$ ls -la dir_union
file1 .wh.file2

где .wh.file2 - это файл, отображающий различия.

То же и с CD-ROM:

$ mount -o ro /dev/cdrom /mnt/cdrom
mount -t tmpfs no_device /mnt/rw
mount -t aufs -o dirs=/mnt/rw=rw:/mnt/cdrom=ro no_device /mnt/union

Здесь вы увидите все исходные файлы компакт-диска в / mnt / union. Если вы измените их, различия будут сопоставлены, файлы можно будет изменить в / mnt / union, но исходные файлы в / mnt / cdrom останутся без изменений.

Теперь в качестве упражнения сделаем это для монтирования NFS;)

ура