Експорт шляху NFS, що містить "-" (тире)


10

Я трохи пощипував експортний файл NFS.

Зокрема, я не можу знайти спосіб експорту каталогу, що містить "-" у назві шляху.

У посібнику (експорт (5)) зазначено:

Also, each line may have one or more specifications for default options 
after the path name, in the form of a dash ("-") followed by an option 
list. The option list is used for all subsequent exports on that line 
only.

Потім заявляється:

If an export name contains spaces it should be quoted using double quotes. 
You can also specify spaces or other unusual character in the export name 
using a backslash followed by the character code as three octal digits.

На жаль, це не так. Зокрема, якщо ім'я шляху містить "-", або дослівно, або з \ 055 або вкладено у подвійні лапки, воно все одно посилається на ім'я без "-"

Будь-які ідеї? У мене є велика кількість каталогів, і все це за формою

  • / vol / buildsystem-s3c2440
  • / vol / buildsystem-tao3530

і я вважаю за краще, щоб вони були доступні як експорт nfs. Якщо замінити "-" на "_" скрізь у сценаріях, чи можна це зробити "-"?


У мене немає однозначної відповіді, але це в голову з’явилося: чи є у вас якийсь менеджер nfs (напевно, якийсь сирний додаток X), який би генерував для вас файл експорту? Можливо, спробуйте його на тестовій машині просто перевірити синтаксис, а потім реалізувати у відповідному полі. Просто думка ...
英 律 功

Я не знаю жодної такої утиліти ...
qdot

1
Яку версію nfs-utils у вас є?
Kjetil Jørgensen

Для мене працює під Debian lenny (утиліти NFS 1.1.2, ядро ​​2.6.26) з /var/tmp/foo-bar localhost(all_squash,async,no_subtree_check)in /etc/exports.
Жил 'ТАК - перестань бути злим'

На якій системі ви працюєте? Я здогадуюсь, що ви можете повернути її нахил на куті за допомогою Linux nfs-kernel-server, але не Linux nfs-user-server.
Мікель

Відповіді:


3

Виходячи з цього тексту, я припускаю, що ви перебуваєте в Linux?

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

Існує дві різні реалізації сервера NFS в системах Linux:

  • користувач NFS
  • ядро NFS

Спробуйте запустити, ps -ef | grep nfsdщоб побачити, який у вас є.

Я думаю, що NFS користувача з'явиться як nfsdабо unfsd, а ядро ​​NFS з'явиться як [nfsd].
(Зверніть увагу, як одна має квадратні дужки, а друга -.)

З ядром NFS ви повинні використовувати подвійні лапки або восьмеричні скачки, наприклад

"/path/to/mount-point" <options>

або

/path/to/mount\055point <options>

(Довідка: nfs-utils-1.1.2, xgettokв support/nfs/xio.c)

У користувальницькій NFS пропуски в іменах експорту не дозволені, але знак мінус ( -) не повинен вимагати бігу, наприклад

/path/to/mount-point <options>

(Довідка: nfs-user-server-2.2beta47, filt_getcв auth_init.c)

Якщо ви не можете дійти до нижньої частини, я б запропонував перейти від NFS користувача до NFS ядра, щоб ви могли використовувати котирування або вісімкові втечі.

На Debian і Ubuntu:

  • apt-get install kernel-nfs-server

Про Red Hat та Fedora:

  • yum install nfs-utils

1

Чи працює втеча із зворотною косою рисою?

  • / vol / buildsystem \ -s3c2440
  • / vol / buildsystem \ -tao3530

Так, я спробував це. Ні, це не працює :(
qdot


1

Гаразд, можливо, інше рішення. Це трохи клопітно, але чому б не створити каталог, що містить символічні посилання на всі попередні каталоги (для цього може бути використаний сценарій або цикл часу). Якщо назви символічних посилань не містять тире, ви можете їх експортувати. Таким чином, як ви цього хотіли, вам не потрібно буде змінювати назви ваших реальних каталогів.

Я не впевнений, чи спрацювало б це, але, напевно, варто його зняти, чи не так?


1

Це трохи хак, але ви можете створювати прив'язувати кріплення до кожного з каталогів та експортувати пункти призначення прив'язування. Щось на зразок:

mount -o bind /vol/buildsystem-s3c2440 /vol/buildsystems3c2440
mount -o bind /vol/buildsystem-tao3530 /vol/buildsystemtao3530

Я не впевнений, якщо наявність тонн кріплення сповільнить доступ до файлів.

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