Estoy un poco pellizcado con el archivo de exportaciones NFS.
Específicamente, no puedo encontrar una manera de exportar un directorio que contenga "-" en el nombre de la ruta.
El manual (exportaciones (5)) establece:
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.
Luego declara:
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.
Desafortunadamente, ese no es el caso. Específicamente, si el nombre de ruta contiene "-", ya sea textualmente, o con \ 055 o está entre comillas dobles, todavía se refiere al nombre sin "-"
¿Algunas ideas? Tengo una gran cantidad de directorios, todos los formularios
- / vol / buildsystem-s3c2440
- / vol / buildsystem-tao3530
y preferiría tenerlos disponibles como exportaciones nfs. Si no se reemplaza el "-" con "_" en todas partes en los scripts, ¿se puede hacer con "-"?
linux
networking
unix
nfs
qdot
fuente
fuente
/var/tmp/foo-bar localhost(all_squash,async,no_subtree_check)
in/etc/exports
.nfs-kernel-server
, pero no Linuxnfs-user-server
.Respuestas:
Según este texto, supongo que estás en Linux.
Hay dos implementaciones diferentes de servidores NFS en sistemas Linux:
Intenta correr
ps -ef | grep nfsd
para ver cuál tienes.Creo que el usuario NFS aparecerá como
nfsd
ounfsd
, y el kernel NFS aparecerá como[nfsd]
.(Observe cómo uno tiene corchetes, pero el otro no).
Con el kernel NFS debe usar comillas dobles o escapes octales, por ejemplo
o
(Referencia: nfs-utils-1.1.2,
xgettok
ensupport/nfs/xio.c
)Con el usuario NFS, no se permiten espacios en los nombres de exportación, pero un signo menos (
-
) no debería requerir escapar, por ejemplo(Referencia: nfs-user-server-2.2beta47,
filt_getc
enauth_init.c
)Si no puede llegar al fondo, sugeriría cambiar del usuario NFS al kernel NFS para que pueda usar comillas o escapes octales.
En Debian y Ubuntu:
apt-get install kernel-nfs-server
En Red Hat y Fedora:
yum install nfs-utils
fuente
¿Funciona escapar con barra invertida?
fuente
¿Has intentado simplemente escapar
\-
? No soy un experto en NFS, pero vale la pena intentarlo. Funciona en muchas otras situaciones ...fuente
Ok, tal vez otra solución. Es un poco problemático, pero ¿por qué no crear un directorio que contenga enlaces simbólicos a todos los directorios anteriores (se podría usar un script o un bucle while para esto)? Si los nombres de los enlaces simbólicos no contienen ningún guión, debería poder exportarlos. De esta manera, como deseaba, no necesitaría modificar los nombres de sus directorios reales.
No estoy seguro de si funcionaría, pero probablemente valga la pena intentarlo, ¿no?
fuente
Es un truco, pero puede crear montajes de enlace para cada uno de los directorios y exportar los destinos de los montajes de enlace. Algo como:
Sin embargo, no estoy seguro de si tener toneladas de monturas ralentizará el acceso a los archivos.
fuente