8142972d87
effect is to move away from DocBook SGML and DJ Delorie's doctool and toward pure DocBook XSL. (There remains just one use of doctool, and we have plans for replacing it, too.) See ChangeLog for details.
496 lines
23 KiB
XML
496 lines
23 KiB
XML
<?xml version="1.0" encoding='UTF-8'?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
|
|
|
<sect1 id="using-pathnames"><title>Mapping path names</title>
|
|
|
|
<sect2 id="pathnames-intro"><title>Introduction</title>
|
|
|
|
<para>Cygwin supports both POSIX- and Win32-style paths. Directory
|
|
delimiters may be either forward slashes or backslashes. Paths using
|
|
backslashes or starting with a drive letter are always handled as
|
|
Win32 paths. POSIX paths must only use forward slashes as delimiter,
|
|
otherwise they are treated as Win32 paths and file access might fail
|
|
in surprising ways.</para>
|
|
|
|
<note><para>The usage of Win32 paths, though possible, is deprecated,
|
|
since it circumvents important internal path handling mechanisms.
|
|
See <xref linkend="pathnames-win32"></xref> and
|
|
<xref linkend="pathnames-win32-api"></xref> for more information.
|
|
</para></note>
|
|
|
|
<para>POSIX operating systems (such as Linux) do not have the concept
|
|
of drive letters. Instead, all absolute paths begin with a
|
|
slash (instead of a drive letter such as "c:") and all file systems
|
|
appear as subdirectories (for example, you might buy a new disk and
|
|
make it be the <filename>/disk2</filename> directory).</para>
|
|
|
|
<para>Because many programs written to run on UNIX systems assume
|
|
the existence of a single unified POSIX file system structure, Cygwin
|
|
maintains a special internal POSIX view of the Win32 file system
|
|
that allows these programs to successfully run under Windows. Cygwin
|
|
uses this mapping to translate from POSIX to Win32 paths as
|
|
necessary.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="mount-table"><title>The Cygwin Mount Table</title>
|
|
|
|
<para>The <filename>/etc/fstab</filename> file is used to map Win32
|
|
drives and network shares into Cygwin's internal POSIX directory tree.
|
|
This is a similar concept to the typical UNIX fstab file. The mount
|
|
points stored in <filename>/etc/fstab</filename> are globally set for
|
|
all users. Sometimes there's a requirement to have user specific
|
|
mount points. The Cygwin DLL supports user specific fstab files.
|
|
These are stored in the directory <filename>/etc/fstab.d</filename>
|
|
and the name of the file is the Cygwin username of the user, as it's
|
|
stored in the <filename>/etc/passwd</filename> file. The structure of the
|
|
user specific file is identical to the system-wide
|
|
<filename>fstab</filename> file.</para>
|
|
|
|
<para>The file fstab contains descriptive information about the various file
|
|
systems. fstab is only read by programs, and not written; it is the
|
|
duty of the system administrator to properly create and maintain this
|
|
file. Each filesystem is described on a separate line; fields on each
|
|
line are separated by tabs or spaces. Lines starting with '#' are
|
|
comments.</para>
|
|
|
|
<para>The first field describes the block special device or
|
|
remote filesystem to be mounted. On Cygwin, this is the native Windows
|
|
path which the mount point links in. As path separator you MUST use a
|
|
slash. Usage of a backslash might lead to unexpected results. UNC
|
|
paths (using slashes, not backslashes) are allowed. If the path
|
|
contains spaces these can be escaped as <literal>'\040'</literal>.</para>
|
|
|
|
<para>The second field describes the mount point for the filesystem.
|
|
If the name of the mount point contains spaces these can be
|
|
escaped as '\040'.</para>
|
|
|
|
<para>The third field describes the type of the filesystem. Cygwin supports
|
|
any string here, since the file system type is usually not evaluated. So it
|
|
doesn't matter if you write <literal>FAT</literal> into this field even if
|
|
the filesystem is NTFS. Cygwin figures out the filesystem type and its
|
|
capabilities by itself.</para>
|
|
|
|
<para>The only exception is the file system type cygdrive. This type is
|
|
used to set the cygdrive prefix. For a description of the cygdrive prefix
|
|
see <xref linkend="cygdrive"></xref></para>
|
|
|
|
<para>The fourth field describes the mount options associated
|
|
with the filesystem. It is formatted as a comma separated list of
|
|
options. It contains at least the type of mount (binary or text) plus
|
|
any additional options appropriate to the filesystem type. Recognized
|
|
options are binary, text, nouser, user, exec, notexec, cygexec, nosuid,
|
|
posix=[0|1]. The meaning of the options is as follows.</para>
|
|
|
|
<screen>
|
|
acl - Cygwin uses the filesystem's access control lists (ACLs) to
|
|
implement real POSIX permissions (default). This flag only
|
|
affects filesystems supporting ACLs (NTFS, for instance) and
|
|
is ignored otherwise.
|
|
auto - Ignored.
|
|
binary - Files default to binary mode (default).
|
|
bind - Allows to remount part of the file hierarchy somewhere else.
|
|
In contrast to other entries, the first field in the fstab
|
|
line specifies an absolute POSIX path. This path is remounted
|
|
to the POSIX path specified as the second path. The conversion
|
|
to a Win32 path is done on the fly. Only the root path and
|
|
paths preceding the bind entry in the fstab file are used to
|
|
convert the POSIX path in the first field to an absolute Win32
|
|
path. Note that symlinks are ignored while performing this path
|
|
conversion.
|
|
cygexec - Treat all files below mount point as cygwin executables.
|
|
dos - Always convert leading spaces and trailing dots and spaces to
|
|
characters in the UNICODE private use area. This allows to use
|
|
broken filesystems which only allow DOS filenames, even if they
|
|
are not recognized as such by Cygwin.
|
|
exec - Treat all files below mount point as executable.
|
|
ihash - Always fake inode numbers rather than using the ones returned
|
|
by the filesystem. This allows to use broken filesystems which
|
|
don't return unambiguous inode numbers, even if they are not
|
|
recognized as such by Cygwin.
|
|
noacl - Cygwin ignores filesystem ACLs and only fakes a subset of
|
|
permission bits based on the DOS readonly attribute. This
|
|
behaviour is the default on FAT and FAT32. The flag is
|
|
ignored on NFS filesystems.
|
|
nosuid - No suid files are allowed (currently unimplemented).
|
|
notexec - Treat all files below mount point as not executable.
|
|
nouser - Mount is a system-wide mount.
|
|
override - Force the override of an immutable mount point (currently "/").
|
|
posix=0 - Switch off case sensitivity for paths under this mount point
|
|
(default for the cygdrive prefix).
|
|
posix=1 - Switch on case sensitivity for paths under this mount point
|
|
(default for all other mount points).
|
|
sparse - Switch on support for sparse files. This option only makes
|
|
sense on NTFS and then only if you really need sparse files.
|
|
Cygwin does not try to create sparse files by default for
|
|
performance reasons.
|
|
text - Files default to CRLF text mode line endings.
|
|
user - Mount is a user mount.
|
|
</screen>
|
|
|
|
<para>While normally the execute permission bits are used to evaluate
|
|
executability, this is not possible on filesystems which don't support
|
|
permissions at all (like FAT/FAT32), or if ACLs are ignored on filesystems
|
|
supporting them (see the aforementioned <literal>acl</literal> mount option).
|
|
In these cases, the following heuristic is used to evaluate if a file is
|
|
executable: Files ending in certain extensions (.exe, .com, .bat, .btm,
|
|
.cmd) are assumed to be executable. Files whose first two characters begin
|
|
with '#!' are also considered to be executable.
|
|
The <literal>exec</literal> option is used to instruct Cygwin that the
|
|
mounted file is "executable". If the <literal>exec</literal> option is used
|
|
with a directory then all files in the directory are executable.
|
|
This option allows other files to be marked as executable and avoids the
|
|
overhead of opening each file to check for a '#!'. The
|
|
<literal>cygexec</literal> option is very similar to <literal>exec</literal>,
|
|
but also prevents Cygwin from setting up commands and environment variables
|
|
for a normal Windows program, adding another small performance gain. The
|
|
opposite of these options is the <literal>notexec</literal> option, which
|
|
means that no files should be marked as executable under that mount point.</para>
|
|
<para>A correct root directory is quite essential to the operation of
|
|
Cygwin. A default root directory is evaluated at startup so a
|
|
<filename>fstab</filename> entry for the root directory is not necessary.
|
|
If it's wrong, nothing will work as expected. Therefore, the root directory
|
|
evaluated by Cygwin itself is treated as an immutable mount point and can't
|
|
be overridden in /etc/fstab... unless you think you really know what you're
|
|
doing. In this case, use the <literal>override</literal> flag in the options
|
|
field in the <filename>/etc/fstab</filename> file. Since this is a dangerous
|
|
thing to do, do so at your own risk.</para>
|
|
|
|
<para><filename>/usr/bin</filename> and <filename>/usr/lib</filename> are
|
|
by default also automatic mount points generated by the Cygwin DLL similar
|
|
to the way the root directory is evaluated. <filename>/usr/bin</filename>
|
|
points to the directory the Cygwin DLL is installed in,
|
|
<filename>/usr/lib</filename> is supposed to point to the
|
|
<filename>/lib</filename> directory. This choice is safe and usually
|
|
shouldn't be changed. An fstab entry for them is not required.</para>
|
|
|
|
<para><literal>nouser</literal> mount points are not overridable by a later
|
|
call to <command>mount</command>.
|
|
Mount points given in <filename>/etc/fstab</filename> are by default
|
|
<literal>nouser</literal> mount points, unless you specify the option
|
|
<literal>user</literal>. This allows the administrator to set certain
|
|
paths so that they are not overridable by users. In contrast, all mount
|
|
points in the user specific fstab file are <literal>user</literal> mount
|
|
points.</para>
|
|
|
|
<para>The fifth and sixth field are ignored. They are
|
|
so far only specified to keep a Linux-like fstab file layout.</para>
|
|
|
|
<para>Note that you don't have to specify an fstab entry for the root dir,
|
|
unless you want to have the root dir pointing to somewhere entirely
|
|
different (hopefully you know what you're doing), or if you want to
|
|
mount the root dir with special options (for instance, as text mount).</para>
|
|
|
|
<para>Example entries:</para>
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>Just a normal mount point:</para>
|
|
<screen> c:/foo /bar fat32 binary 0 0</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>A mount point for a textmode mount with case sensitivity switched off:</para>
|
|
<screen> C:/foo /bar/baz ntfs text,posix=0 0 0</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>A mount point for a Windows directory with spaces in it:</para>
|
|
<screen> C:/Documents\040and\040Settings /docs ext3 binary 0 0</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>A mount point for a remote directory, don't store POSIX permissions in ACLs:</para>
|
|
<screen> //server/share/subdir /srv/subdir smbfs binary,noacl 0 0</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>This is just a comment:</para>
|
|
<screen> # This is just a comment</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Set the cygdrive prefix to /mnt:</para>
|
|
<screen> none /mnt cygdrive binary 0 0</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Remount /var to /usr/var:</para>
|
|
<screen> /var /usr/var none bind</screen>
|
|
<para>Assuming <filename>/var</filename> points to
|
|
<filename>C:/cygwin/var</filename>, <filename>/usr/var</filename> now
|
|
also points to <filename>C:/cygwin/var</filename>. This is equivalent
|
|
to the Linux <literal>bind</literal> option available since
|
|
Linux 2.4.0.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Whenever Cygwin generates a Win32 path from a POSIX one, it uses
|
|
the longest matching prefix in the mount table. Thus, if
|
|
<filename>C:</filename> is mounted as <filename>/c</filename> and also
|
|
as <filename>/</filename>, then Cygwin would translate
|
|
<filename>C:/foo/bar</filename> to <filename>/c/foo/bar</filename>.
|
|
This translation is normally only used when trying to derive the
|
|
POSIX equivalent current directory. Otherwise, the handling of MS-DOS
|
|
filenames bypasses the mount table.
|
|
</para>
|
|
|
|
<para>If you want to see the current set of mount points valid in your
|
|
session, you can invoke the Cygwin tool <command>mount</command> without
|
|
arguments:</para>
|
|
|
|
<example id="pathnames-mount-ex">
|
|
<title>Displaying the current set of mount points</title>
|
|
<screen>
|
|
<prompt>bash$</prompt> <userinput>mount</userinput>
|
|
f:/cygwin/bin on /usr/bin type ntfs (binary,auto)
|
|
f:/cygwin/lib on /usr/lib type ntfs (binary,auto)
|
|
f:/cygwin on / type ntfs (binary,auto)
|
|
e:/src on /usr/src type vfat (binary)
|
|
c: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
|
|
e: on /cygdrive/e type vfat (binary,posix=0,user,noumount,auto)
|
|
</screen>
|
|
</example>
|
|
|
|
<para>You can also use the <command>mount</command> command to add
|
|
new mount points, and the <command>umount</command> to delete
|
|
them. However, since they are only stored in memory, these mount
|
|
points will disappear as soon as your last Cygwin process ends.
|
|
See <xref linkend="mount"></xref> and <xref linkend="umount"></xref> for more
|
|
information.</para>
|
|
|
|
<note><para>
|
|
When you upgrade an existing older Cygwin installation to Cygwin 1.7,
|
|
your old system mount points (stored in the HKEY_LOCAL_MACHINE branch
|
|
of your registry) are read by a script and the <filename>/etc/fstab</filename>
|
|
file is generated from these entries. Note that entries for
|
|
<filename>/</filename>, <filename>/usr/bin</filename>, and
|
|
<filename>/usr/lib</filename> are <emphasis role='bold'>never</emphasis>
|
|
generated.
|
|
</para>
|
|
|
|
<para>
|
|
The old user mount points in your HKEY_CURRENT_USER branch of the registry
|
|
are not used to generate <filename>/etc/fstab</filename>. If you want
|
|
to create a user specific <filename>/etc/fstab.d/${USER}</filename> file
|
|
from your old entries, there's a script available which does exactly
|
|
that for you, <filename>/bin/copy-user-registry-fstab</filename>. Just
|
|
start the script and it will create your user specific fstab file. Stop
|
|
all your Cygwin processes and restart them, and you can simply use your
|
|
old user mount points as before.
|
|
</para></note>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="unc-paths"><title>UNC paths</title>
|
|
|
|
<para>Apart from the unified POSIX tree starting at the <filename>/</filename>
|
|
directory, UNC pathnames starting with two slashes and a server name
|
|
(<filename>//machine/share/...</filename>) are supported as well.
|
|
They are handled as POSIX paths if only containing forward slashes. There's
|
|
also a virtual directory <filename>//</filename> which allows to enumerate
|
|
the fileservers known to the local machine with <command>ls</command>.
|
|
Same goes for the UNC paths of the type <filename>//machine</filename>,
|
|
which allow to enumerate the shares provided by the server
|
|
<literal>machine</literal>. For often used UNC paths it makes sense to
|
|
add them to the mount table (see <xref linkend="mount-table"></xref> so
|
|
they are included in the unified POSIX path tree.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="cygdrive"><title>The cygdrive path prefix</title>
|
|
|
|
<para>As already outlined in <xref linkend="ov-hi-files"></xref>, you can
|
|
access arbitary drives on your system by using the cygdrive path prefix.
|
|
The default value for this prefix is <filename>/cygdrive</filename>, and
|
|
a path to any drive can be constructed by using the cygdrive prefix and
|
|
appending the drive letter as subdirectory, like this:</para>
|
|
|
|
<screen>
|
|
bash$ ls -l /cygdrive/f/somedir
|
|
</screen>
|
|
|
|
<para>This lists the content of the directory F:\somedir.</para>
|
|
|
|
<para>The cygdrive prefix is a virtual directory under which all drives
|
|
on a system are subsumed. The mount options of the cygdrive prefix is
|
|
used for all file access through the cygdrive prefixed drives. For instance,
|
|
assuming the cygdrive mount options are <literal>binary,posix=0</literal>,
|
|
then any file <filename>/cygdrive/x/file</filename> will be opened in
|
|
binary mode by default (mount option <literal>binary</literal>), and the case
|
|
of the filename doesn't matter (mount option <literal>posix=0</literal>).
|
|
</para>
|
|
|
|
<para>The cygdrive prefix flags are also used for all UNC paths starting with
|
|
two slashes, unless they are accessed through a mount point. For instance,
|
|
consider these <filename>/etc/fstab</filename> entries:</para>
|
|
|
|
<screen>
|
|
//server/share /mysrv ntfs posix=1,acl 0 0
|
|
none /cygdrive cygdrive posix=0,noacl 0 0
|
|
</screen>
|
|
|
|
<para>Assume there's a file <filename>\\server\share\foo</filename> on the
|
|
share. When accessing it as <filename>/mysrv/foo</filename>, then the flags
|
|
<literal>posix=1,acl</literal> of the /mysrv mount point are used. When
|
|
accessing it as <filename>//server/share/foo</filename>, then the flags
|
|
for the cygdrive prefix, <literal>posix=0,noacl</literal> are used.</para>
|
|
|
|
<note><para>This only applies to UNC paths using forward slashes. When
|
|
using backslashes the flags for native paths are used. See
|
|
<xref linkend="pathnames-win32"></xref>.</para></note>
|
|
|
|
<para>The cygdrive prefix may be changed in the fstab file as outlined above.
|
|
Please note that you must not use the cygdrive prefix for any other mount
|
|
point. For instance this:</para>
|
|
|
|
<screen>
|
|
none /cygdrive cygdrive binary 0 0
|
|
D: /cygdrive/d somefs text 0 0
|
|
</screen>
|
|
|
|
<para>will not make file access using the /mnt/d path prefix suddenly using
|
|
textmode. If you want to mount any drive explicitly in another mode than
|
|
the cygdrive prefix, use a distinct path prefix:</para>
|
|
|
|
<screen>
|
|
none /cygdrive cygdrive binary 0 0
|
|
D: /mnt/d somefs text 0 0
|
|
</screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="pathnames-win32"><title>Using native Win32 paths</title>
|
|
|
|
<para>Using native Win32 paths in Cygwin, while possible, is generally
|
|
inadvisable. Those paths circumvent all internal integrity checking and
|
|
bypass the information given in the Cygwin mount table.</para>
|
|
|
|
<para>The following paths are treated as native Win32 paths in Cygwin:</para>
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>All paths starting with a drive specifier</para>
|
|
<screen>
|
|
C:\foo
|
|
C:/foo
|
|
</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>All paths containing at least one backslash as path component</para>
|
|
<screen>
|
|
C:/foo/bar<emphasis role='bold'>\</emphasis>baz/...
|
|
</screen>
|
|
</listitem>
|
|
<listitem>
|
|
<para>UNC paths using backslashes</para>
|
|
<screen>
|
|
\\server\share\...
|
|
</screen>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>When accessing files using native Win32 paths as above, Cygwin uses a
|
|
default setting for the mount flags. All paths using DOS notation will be
|
|
treated as case insensitive, and permissions are just faked as if the
|
|
underlying drive is a FAT drive. This also applies to NTFS and other
|
|
filesystems which usually are capable of case sensitivity and storing
|
|
permissions.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="pathnames-win32-api"><title>Using the Win32 file API in Cygwin applications</title>
|
|
|
|
<para>Special care must be taken if your application uses Win32 file API
|
|
functions like <function>CreateFile</function> to access files using
|
|
relative pathnames, or if your application uses functions like
|
|
<function>CreateProcess</function> or <function>ShellExecute</function>
|
|
to start other applications.</para>
|
|
|
|
<para>When a Cygwin application is started, the Windows idea of the current
|
|
working directory (CWD) is not necessarily the same as the Cygwin CWD.
|
|
There are a couple of restrictions in the Win32 API, which disallow certain
|
|
directories as Win32 CWD:</para>
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>The Windows subsystem only supports CWD paths of up to 258 chars.
|
|
This restriction doesn't apply for Cygwin processes, at least not as
|
|
long as they use the POSIX API (chdir, getcwd). This means, if a Cygwin
|
|
process has a CWD using an absolute path longer than 258 characters, the
|
|
Cygwin CWD and the Windows CWD differ.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Win32 API call to set the current directory,
|
|
<function>SetCurrentDirectory</function>, fails for directories for which
|
|
the user has no permissions, even if the user is an administrator. This
|
|
restriction doesn't apply for Cygwin processes, if they are running under
|
|
an administrator account.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><function>SetCurrentDirectory</function> does not support
|
|
case-sensitive filenames.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Last, but not least, <function>SetCurrentDirectory</function> can't
|
|
work on virtual Cygwin paths like /proc or /cygdrive. These paths only
|
|
exists in the Cygwin realm so they have no meaning to a native Win32
|
|
process.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>As long as the Cygwin CWD is usable as Windows CWD, the Cygwin and
|
|
Windows CWDs are in sync within a process. However, if the Cygwin process
|
|
changes its working directory into one of the directories which are
|
|
unusable as Windows CWD, we're in trouble. If the process uses the
|
|
Win32 API to access a file using a relative pathname, the resulting
|
|
absolute path would not match the expectations of the process. In the
|
|
worst case, the wrong files are deleted.</para>
|
|
|
|
<para>To workaround this problem, Cygwin sets the Windows CWD to a special
|
|
directory in this case. This special directory points to a virtual
|
|
filesystem within the native NT namespace (<filename>\??\PIPE\</filename>).
|
|
Since it's not a real filesystem, the deliberate effect is that a call to,
|
|
for instance, <function>CreateFile ("foo", ...);</function> will fail,
|
|
as long as the processes CWD doesn't work as Windows CWD.</para>
|
|
|
|
<para>So, in general, don't use the Win32 file API in Cygwin applications.
|
|
If you <emphasis role='bold'>really</emphasis> need to access files using
|
|
the Win32 API, or if you <emphasis role='bold'>really</emphasis> have to use
|
|
<function>CreateProcess</function> to start applications, rather than
|
|
the POSIX <function>exec(3)</function> family of functions, you have to
|
|
make sure that the Cygwin CWD is set to some directory which is valid as
|
|
Win32 CWD.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="pathnames-additional"><title>Additional Path-related Information</title>
|
|
|
|
<para>The <command>cygpath</command> program provides the ability to
|
|
translate between Win32 and POSIX pathnames in shell scripts. See
|
|
<xref linkend="cygpath"></xref> for the details.</para>
|
|
|
|
<para>The <envar>HOME</envar>, <envar>PATH</envar>, and
|
|
<envar>LD_LIBRARY_PATH</envar> environment variables are automatically
|
|
converted from Win32 format to POSIX format (e.g. from
|
|
<filename>c:/cygwin\bin</filename> to <filename>/bin</filename>, if
|
|
there was a mount from that Win32 path to that POSIX path) when a Cygwin
|
|
process first starts.</para>
|
|
|
|
<para>Symbolic links can also be used to map Win32 pathnames to POSIX.
|
|
For example, the command
|
|
<command>ln -s //pollux/home/joe/data /data</command> would have about
|
|
the same effect as creating a mount point from
|
|
<filename>//pollux/home/joe/data</filename> to <filename>/data</filename>
|
|
using <command>mount</command>, except that symbolic links cannot set
|
|
the default file access mode. Other differences are that the mapping is
|
|
distributed throughout the file system and proceeds by iteratively
|
|
walking the directory tree instead of matching the longest prefix in a
|
|
kernel table. Note that symbolic links will only work on network
|
|
drives that are properly configured to support the "system" file
|
|
attribute. Many do not do so by default (the Unix Samba server does
|
|
not by default, for example).</para>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|