Je suis un peu dans le pincement avec le fichier d'export NFS.
Plus précisément, je ne trouve pas de moyen d'exporter un répertoire contenant "-" dans le nom du chemin.
Le manuel (exportations (5)) indique:
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.
Il déclare ensuite:
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.
Malheureusement, ce n'est pas le cas. Plus précisément, si le chemin contient "-", soit textuellement, soit avec \ 055 ou s'il est placé entre guillemets, il fait toujours référence au nom sans "-"
Des idées? J'ai un grand nombre de répertoires, tous les formulaires
- / vol / buildsystem-s3c2440
- / vol / buildsystem-tao3530
et je préfère les avoir tous disponibles en tant qu'export nfs. À moins de remplacer le "-" par "_" partout dans les scripts, cela peut-il être fait avec "-"?
linux
networking
unix
nfs
qdot
la source
la source
/var/tmp/foo-bar localhost(all_squash,async,no_subtree_check)
in/etc/exports
.nfs-kernel-server
, mais pas Linuxnfs-user-server
.Réponses:
Sur la base de ce texte, je suppose que vous êtes sous Linux?
Il existe deux implémentations de serveur NFS différentes sur les systèmes Linux:
Veuillez essayer de courir
ps -ef | grep nfsd
pour voir lequel vous avez.Je pense que l'utilisateur NFS apparaîtra comme
nfsd
ouunfsd
, et le noyau NFS apparaîtra comme[nfsd]
.(Notez comment l'un a des crochets, mais pas l'autre.)
Avec le noyau NFS, vous devez utiliser des guillemets doubles ou des échappements octaux, par exemple
ou
(Référence: nfs-utils-1.1.2,
xgettok
insupport/nfs/xio.c
)Avec l'utilisateur NFS, les espaces ne sont pas autorisés dans les noms d'exportation, mais un signe moins (
-
) ne devrait pas nécessiter d'échappement, par exemple(Référence: nfs-user-server-2.2beta47,
filt_getc
inauth_init.c
)Si vous ne pouvez pas aller au fond des choses, je vous suggère de passer de l'utilisateur NFS au noyau NFS afin que vous puissiez utiliser des échappements entre guillemets ou octaux.
Sur Debian et Ubuntu:
apt-get install kernel-nfs-server
Sur Red Hat et Fedora:
yum install nfs-utils
la source
S'échapper avec une barre oblique inverse fonctionne-t-il?
la source
Avez-vous essayé de simplement vous échapper avec
\-
. Je ne suis pas un expert NFS - mais ça vaut le coup d'essayer. Cela fonctionne dans de nombreuses autres situations ...la source
Ok, peut-être une autre solution de contournement. C'est un peu gênant, mais pourquoi ne pas créer un répertoire contenant des liens symboliques vers tous les répertoires précédents (un script ou une boucle while pourrait être utilisé pour cela). Si les noms des liens symboliques ne contiennent aucun tiret, vous devriez pouvoir les exporter. De cette façon, comme vous le souhaitiez, vous n'auriez pas besoin de modifier les noms de vos vrais répertoires.
Je ne sais pas si cela fonctionnerait, mais cela vaut probablement la peine de lui donner un coup de feu, n'est-ce pas?
la source
C'est un peu un hack, mais vous pouvez créer des montages de liaison vers chacun des répertoires et exporter les destinations des montages de liaison. Quelque chose comme:
Je ne sais pas si avoir des tonnes de supports ralentira l'accès aux fichiers.
la source