Captive release update: 1.1.6.1
[www.jankratochvil.net.git] / project / captive / man / mount.captive.pod.html
index 0756067..be12b5d 100644 (file)
@@ -2,7 +2,6 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>mount.captive - B&lt;mount&gt; interface for NTFS disk access</title>
-<link rev="made" href="mailto:root@localhost" />
 </head>
 
 <body style="background-color: white">
@@ -11,7 +10,6 @@
 <!-- INDEX BEGIN -->
 
 <ul>
-
        <li><a href="#name">NAME</a></li>
        <li><a href="#synopsis">SYNOPSIS</a></li>
        <li><a href="#description">DESCRIPTION</a></li>
@@ -39,9 +37,8 @@
 </p>
 <hr />
 <h1><a name="description">DESCRIPTION</a></h1>
-<p><strong>mount.captive</strong>(8) provides <strong>mount</strong>(8) interface to <strong>lufs-captivefs</strong>(7)
-by calling <strong>lufsd</strong>(1) with appropriate arguments. You should never call
-this command directly - use <strong>mount</strong>(8) instead.</p>
+<p><strong>mount.captive</strong>(8) provides <strong>mount</strong>(8) interface to <strong>captive</strong>(7) library
+You should never call this command directly - use <strong>mount</strong>(8) instead.</p>
 <p><strong>mount.captive</strong>(8) (<strong>captive</strong> filesystem type) is never used - this command
 is provided just as a base <code>mount(8)</code> interface to <strong>captive</strong>(7). You must always
 use captive-<strong>fstype</strong> filesystem type such as <strong>captive-ntfs</strong>. Other supported
@@ -52,101 +49,202 @@ filesystem types are:
 <hr />
 <h1><a name="options">OPTIONS</a></h1>
 <dl>
-<dt><strong><a name="item_%7bimage%2dfile%7cdevice%7d">{<strong>image-file</strong>|<strong>device</strong>}</a></strong><br />
-</dt>
+<dt><strong><a name="item__7bimage_2dfile_7cdevice_7d">{<strong>image-file</strong>|<strong>device</strong>}</a></strong></dt>
+
 <dd>
-Pathname such as <strong>/dev/hda1</strong> or <strong>/tmp/ntfs.bin</strong>. You should refer to the
+<p>Pathname such as <strong>/dev/hda1</strong> or <strong>/tmp/ntfs.bin</strong>. You should refer to the
 partition name, not the whole device (<strong>/dev/hda</strong> is forbidden).
 <strong>/dev/hda1</strong> may correspond to <strong>/dev/ide/host0/bus0/target0/lun0/part1</strong>
-on your system.
+on your system.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_mountdir"><strong>mountdir</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item_mountdir"><strong>mountdir</strong></a></strong></dt>
+
 <dd>
-Existing empty target directory where {<strong>image-file</strong>|<strong>device</strong>} will be
-mounted.
+<p>Existing empty target directory where {<strong>image-file</strong>|<strong>device</strong>} will be
+mounted.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_%2dn"><strong>-n</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2dn"><strong>-n</strong></a></strong></dt>
+
 <dd>
-Do not modify <strong>/etc/mtab</strong>. This option is currently not supported (ignored),
-<strong>/etc/mtab</strong> is modified notwithstanding.
+<p>No effect. The standard functionality of 'do not modify <strong>/etc/mtab</strong>' is not
+supported - <strong>/etc/mtab</strong> is always modified.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_%2dv"><strong>-v</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2dv"><strong>-v</strong></a></strong></dt>
+
 <dd>
-Enable verbose mode. Command <strong>lufsd</strong>(1) being called is shown.
+<p>No effect. The standard functionality of 'verbose mode' is not supported.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_%2do_options"><strong>-o</strong> <strong>options</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2do_options"><strong>-o</strong> <strong>options</strong></a></strong></dt>
+
 <dd>
-Custom options passed to <strong>captive</strong>(7) separated by comma (<strong>,</strong>).
-See the <strong>captive</strong>(7) manpage for details on options prefixed by
-double-dashes (<strong>--</strong>) will be used for <strong>lufs-captivefs</strong>(7) /
-<strong>mount.captive</strong>(8). Options without double-dashes (<strong>--</strong>) will be used for
-<strong>lufsd</strong>(1). You may be interested in these unprefixed options:
+<p>Custom options passed to <strong>captive</strong>(7) separated by comma (<strong>,</strong>).</p>
+</dd>
+<dd>
+<p>Options without double-dashes (<strong>--</strong>) will be used for FUSE, please
+see their description in the section ``<strong>Mount options</strong>'' of your local
+<strong>/usr/share/doc/fuse/README</strong> or the online: 
+<a href="http://cvs.sourceforge.net/viewcvs.py/fuse/fuse/README?rev=HEAD">http://cvs.sourceforge.net/viewcvs.py/fuse/fuse/README</a></p>
+</dd>
+<dd>
+<p>Options prefixed by double-dashes (<strong>--</strong>) are used for libcaptive, the
+options list:</p>
 </dd>
 <dl>
-<dt><strong><a name="item_force"><strong>force</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2d_2dfilesystem_3dpathname"><strong>--filesystem</strong>=<strong>pathname</strong></a></strong></dt>
+
 <dd>
-Force the mount of {<strong>image-file</strong>|<strong>device</strong>} despite it appears to be already
-mounted according to <strong>mtab</strong>(5). You should never mount a device multiple
-times in read-write mode. It is safe to mount it multiple times in read-only
-mode. It is safe to mount it once in read-write mode and multiple times
-in read-only mode although you may encounter filesystem errors by the read-only
-filesystems in such case.
+<p>Pathname to <strong>.sys</strong> or <strong>.so</strong> filesystem module file. You will use exactly
+once this option. Possible choices are
+<strong>/usr/local/var/lib/captive/ntfs.sys</strong>
+etc.</p>
 </dd>
+<dt><strong><a name="item__2d_2dload_2dmodule_3dpathname"><strong>--load-module</strong>=<strong>pathname</strong></a></strong></dt>
+
 <dd>
-<p>This is the only option is interpreted by <strong>mount.captive</strong> itself; it is not
-<strong>lufs-captivefs</strong>(7) nor <strong>lufsd</strong>(1) option.</p>
+<p>Pathname to any W32 module to load w/o initialization. Multiple modules can be
+loaded although in common case you will use just
+<strong>/usr/local/var/lib/captive/ntoskrnl.exe</strong>
+here.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_private"><strong>private</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2d_2dmodid_2dpath_3dpathname"><strong>--modid-path</strong>=<strong>pathname</strong></a></strong></dt>
+
 <dd>
-<strong>mount.captive</strong>(8) defaults to filesystem files <strong>644</strong> - read-write for system
-root (or the regular user owner) and read-only for others. You can force the
-mode <strong>600</strong> by this option (read-write for the owner, inaccessible for others).
-Mode <strong>755</strong> or &lt;700&gt; applies to directories. Options <strong>fmask</strong>/<strong>dmask</strong> will
-be OR-ed to the private/public permissions set by this option.
+<p>Pathname to the <strong>.captivemodid.xml</strong> database of existing W32 module
+identifications. The default used one is:
+<strong>/usr/local/etc/w32-mod-id.captivemodid.xml</strong>
+You must have this database update for any W32 binary module you are using.
+If you miss such database you may also try to use <strong>--load-untested</strong> below.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_fmask%3d666"><strong>fmask</strong>=<strong>666</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2d_2dload_2duntested"><strong>--load-untested</strong></a></strong></dt>
+
+<dd>
+<p>Load tthe W32 modules despite they may not match the current <strong>--modid-path</strong>
+identifications database. If you use this option Captive may fail very easily
+as such module was never tested before the release and may need some
+compatibility updates. Still no data should be corrupted even if using this
+<strong>--load-untested</strong> option.</p>
+</dd>
+<dt><strong><a name="item__2d_2dro"><strong>--ro</strong></a></strong></dt>
+
+<dd>
+<p>Read/write mode: Any write access will be forbidden. You should set this mode
+for <strong>cdfs.sys</strong> (<em>CD-ROM</em> filesystem). This option is mutually exclusive with
+<strong>--blind</strong> and <strong>--rw</strong>.</p>
+</dd>
+<dt><strong><a name="item__2d_2dblind"><strong>--blind</strong></a></strong></dt>
+
 <dd>
-Octal mask to be OR-ed on file permissions (minimum file permissions).
+<p>Read/write mode: All writes are just simulated in memory (default). Microsoft
+Windows filesystem driver will see no difference between <strong>--blind</strong> and <strong>--rw</strong>
+although the UNIX image file/device will be open read/only as for <strong>--ro</strong>.
+All the changes get 'written' as long as <strong>captive</strong>(7) program runs - all the
+changes will be lost afterwards. This mode is the most suitable for debugging.
+This option is mutually exclusive with <strong>--ro</strong> and <strong>--rw</strong>.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_dmask%3d777"><strong>dmask</strong>=<strong>777</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2d_2drw"><strong>--rw</strong></a></strong></dt>
+
 <dd>
-Octal mask to be OR-ed on directory permissions (minimum directory
-permissions).
+<p>Read/write mode: Write directly to the image file/device. Standard read/write
+disk mode. You should use <strong>--sandbox-server</strong> option in this case to have the
+disk protected against Microsoft Windows filesystem driver crashes. Modified
+disk image blocks are in <strong>--sandbox-server</strong> <strong>--rw</strong> mode buffered in the
+memory and they get reflected to the disk only after successful completion
+of all filesystem operations including filesystem unmount.
+This option is mutually exclusive with <strong>--ro</strong> and <strong>--blind</strong>.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_uid%3d500"><strong>uid</strong>=<strong>500</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2d_2dcdrom"><strong>--cdrom</strong></a></strong></dt>
+
 <dd>
-Supply the <strong>UID</strong> to be the user identification number owning all the files.
+<p>Media type: CD-ROM. You must set this media type for <strong>cdfs.sys</strong>.
+Virtual Microsoft Windows block device driver used by Captive maps to
+<strong>\Device\CdRom0</strong>. This option is mutually exclusive with <strong>--disk</strong>.</p>
 </dd>
-<p></p>
-<dt><strong><a name="item_gid%3d500"><strong>gid</strong>=<strong>500</strong></a></strong><br />
-</dt>
+<dt><strong><a name="item__2d_2ddisk"><strong>--disk</strong></a></strong></dt>
+
 <dd>
-Supply the <strong>GID</strong> to be the group identification number owning all the files.
+<p>Media type: Disk (default). You must set this media type for all the Microsoft
+Windows filesystem drivers except <strong>cdfs.sys</strong>. Virtual Microsoft Windows block
+device driver used by Captive maps to <strong>\Device\CaptiveHarddisk0</strong>.
+This option is mutually exclusive with <strong>--cdrom</strong>.</p>
 </dd>
-<p></p></dl>
+<dt><strong><a name="item__2d_2ddebug_2dmessages"><strong>--debug-messages</strong></a></strong></dt>
+
+<dd>
+<p>Turn on debugging messages. Be prepared for substation debug output.
+Use of <strong>--syslog</strong> feature is not recommended in this case.</p>
+</dd>
+<dt><strong><a name="item__2d_2dsandbox_2dserver_3dpathname"><strong>--sandbox-server</strong>=<strong>pathname</strong></a></strong></dt>
+
+<dd>
+<p>Pathname to
+<strong>/usr/local/sbin/captive-sandbox-server</strong>
+program, turns on sandboxing.
+You should always use this option in conjunction with <strong>--rw</strong>, see it for
+details. Although this program is <em>setuid root</em> and it drops it privileges
+to <strong>captive</strong> user. Your system gets protected by
+<strong>chroot</strong>(2), <strong>setuid</strong>(2), <strong>setgid</strong>(2) and <strong>setrlimit</strong>(2) UNIX security
+features against malicious Microsoft Windows drivers. You should never use this
+option during debugging.</p>
+</dd>
+<dd>
+<p>This option is turned on automatically during the mount operation by
+<strong>mount.captive-ntfs</strong>(8).
+Option needs to be used by hand for the <strong>captive-cmdline</strong>(2) client.</p>
+</dd>
+<dt><strong><a name="item__2d_2dsandbox_2dserver_2dior_3dior"><strong>--sandbox-server-ior</strong>=<strong>IOR</strong></a></strong></dt>
+
+<dd>
+<p>Specify <em>CORBA IOR</em> of
+<strong>/usr/local/sbin/captive-sandbox-server</strong>
+program, turns on
+sandboxing. Specified <em>CORBA IOR</em> should be the string starting by ``<strong>IOR:</strong>''
+text. This option is useful only for debugging. No sandbox restarting is
+possible in this case.</p>
+</dd>
+<dt><strong><a name="item__2d_2dno_2dsandbox"><strong>--no-sandbox</strong></a></strong></dt>
+
+<dd>
+<p>Turn off sandboxing feature (default). No
+<strong>/usr/local/sbin/captive-sandbox-server</strong>
+is run. Microsoft Windows filesystem driver is run in native UNIX environment
+without any <em>CORBA</em> separation. This option is recommended only for debugging.
+It is dangerous to use <strong>--rw</strong> together, see its description for the details.</p>
+</dd>
+<dt><strong><a name="item__2d_2dbug_2dpathname_3dpathname"><strong>--bug-pathname</strong>=<strong>pathname</strong></a></strong></dt>
+
+<dd>
+<p>Pathname to <strong>strftime</strong>(3) for <strong>.captivebug.xml.gz</strong> bugreports. Every crash of
+sandbox child gets bugreported to the specified file. You should attempt to
+minimize the number of operations from the mount operation till the expected
+crash to minimize the snapshot file size. <strong>--sandbox-server</strong> option is
+required for <strong>--bug-pathname</strong>.</p>
+</dd>
+<dd>
+<p><strong>!!! Be aware '.captivebug.xml.gz' will contain data from your disk drive !!!</strong></p>
+</dd>
+<dt><strong><a name="item__2d_2dsyslog"><strong>--syslog</strong></a></strong></dt>
+
+<dd>
+<p>Messages sent to <strong>syslog</strong>(3) instead of <em>stderr</em>. This option gets handy
+for <strong>mount</strong>(8) operation as the messages would be lost otherway.
+Watch our for possible ``<strong>Filesystem crash broke dirty object</strong>'' messages where
+some written filesystem data got lost in the case of Microsoft Windows
+filesystem driver crash.</p>
+</dd>
+<dt><strong><a name="item__2d_2dsyslog_2dfacility_3dfacility"><strong>--syslog-facility</strong>=<strong>facility</strong></a></strong></dt>
+
+<dd>
+<p><strong>openlog</strong>(3) facility for <strong>--syslog</strong>. See <strong>facility</strong> section of
+<strong>openlog</strong>(3) man page for details. Lowercased values such as <strong>daemon</strong> or
+<strong>user</strong> are supported.</p>
+</dd>
+</dl>
 </dl>
 <p>
 </p>
 <hr />
 <h1><a name="see_also">SEE ALSO</a></h1>
-<p><strong>lufs-captivefs</strong>(7), <strong>lufsd</strong>(1)</p>
+<p><strong>captive</strong>(7)</p>
 <p>
 </p>
 <hr />