#! /usr/bin/perl # # $Id$ # perlpod(1) source for captive(7) options part of man page # Copyright (C) 2003 Jan Kratochvil # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; exactly version 2 of June 1991 is required # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA use vars qw($VERSION); $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; use strict; use warnings; my $vardir='@localstatedir@/lib/@PACKAGE@'; $vardir=~s#\$\Q{prefix}\E#'@prefix@';#ge; $vardir="/var/lib/@PACKAGE@" if $vardir=~/^@/; my $sysconfdir='@sysconfdir@'; $sysconfdir=~s#\$\Q{prefix}\E#'@prefix@';#ge; $sysconfdir="/etc" if $sysconfdir=~/^@/; my $sbindir='@sbindir@'; $sbindir=~s#\$\Q{exec_prefix}\E#'@exec_prefix@';#ge; $sbindir=~s#\$\Q{prefix}\E#'@prefix@';#ge; $sbindir="/usr/sbin" if $sbindir=~/^@/; our $no_libcaptive_options_heading; print <<'POD_EOF' if !$no_libcaptive_options_heading; =head1 OPTIONS All programs using B<@PACKAGE@>(7) library share the common set of configuration options: POD_EOF print <<'POD_EOF'; =over =item B<--filesystem>=B Pathname to B<.sys> or B<.so> filesystem module file. You will use exactly once this option. Possible choices are POD_EOF print "B<$vardir/ntfs.sys>\n"; print <<'POD_EOF'; etc. =item B<--load-module>=B Pathname to any W32 module to load w/o initialization. Multiple modules can be loaded although in common case you will use just POD_EOF print "B<$vardir/ntoskrnl.exe>\n"; print <<'POD_EOF'; here. =item B<--modid-path>=B Pathname to the B<.captivemodid.xml> database of existing W32 module identifications. The default used one is: POD_EOF print "B<$sysconfdir/w32-mod-id.captivemodid.xml>\n"; print <<'POD_EOF'; 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 B<--load-untested> below. =item B<--load-untested> Load tthe W32 modules despite they may not match the current B<--modid-path> 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 B<--load-untested> option. =item B<--ro> Read/write mode: Any write access will be forbidden. You should set this mode for B (I filesystem). This option is mutually exclusive with B<--blind> and B<--rw>. =item B<--blind> Read/write mode: All writes are just simulated in memory (default). Microsoft Windows filesystem driver will see no difference between B<--blind> and B<--rw> although the UNIX image file/device will be open read/only as for B<--ro>. All the changes get 'written' as long as B(7) program runs - all the changes will be lost afterwards. This mode is the most suitable for debugging. This option is mutually exclusive with B<--ro> and B<--rw>. =item B<--rw> Read/write mode: Write directly to the image file/device. Standard read/write disk mode. You should use B<--sandbox-server> option in this case to have the disk protected against Microsoft Windows filesystem driver crashes. Modified disk image blocks are in B<--sandbox-server> B<--rw> 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 B<--ro> and B<--blind>. =item B<--cdrom> Media type: CD-ROM. You must set this media type for B. Virtual Microsoft Windows block device driver used by Captive maps to B<\Device\CdRom0>. This option is mutually exclusive with B<--disk>. =item B<--disk> Media type: Disk (default). You must set this media type for all the Microsoft Windows filesystem drivers except B. Virtual Microsoft Windows block device driver used by Captive maps to B<\Device\CaptiveHarddisk0>. This option is mutually exclusive with B<--cdrom>. =item B<--debug-messages> Turn on debugging messages. Be prepared for substation debug output. Use of B<--syslog> feature is not recommended in this case. =item B<--sandbox-server>=B Pathname to POD_EOF print "B<$sbindir/captive-sandbox-server>\n"; print <<'POD_EOF'; program, turns on sandboxing. You should always use this option in conjunction with B<--rw>, see it for details. Although this program is I and it drops it privileges to B<@CAPTIVE_SANDBOX_SETUID@> user. Your system gets protected by B(2), B(2), B(2) and B(2) UNIX security features against malicious Microsoft Windows drivers. You should never use this option during debugging. This option is turned on automatically during the mount operation by B(8). Option needs to be used by hand for the B(2) client. =item B<--sandbox-server-ior>=B Specify I of POD_EOF print "B<$sbindir/captive-sandbox-server>\n"; print <<'POD_EOF'; program, turns on sandboxing. Specified I should be the string starting by "B" text. This option is useful only for debugging. No sandbox restarting is possible in this case. =item B<--no-sandbox> Turn off sandboxing feature (default). No POD_EOF print "B<$sbindir/captive-sandbox-server>\n"; print <<'POD_EOF'; is run. Microsoft Windows filesystem driver is run in native UNIX environment without any I separation. This option is recommended only for debugging. It is dangerous to use B<--rw> together, see its description for the details. =item B<--bug-pathname>=B Pathname to B(3) for B<.captivebug.xml.gz> 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. B<--sandbox-server> option is required for B<--bug-pathname>. B =item B<--syslog> Messages sent to B(3) instead of I. This option gets handy for B(8) operation as the messages would be lost otherway. Watch our for possible "B" messages where some written filesystem data got lost in the case of Microsoft Windows filesystem driver crash. =item B<--syslog-facility>=B B(3) facility for B<--syslog>. See B section of B(3) man page for details. Lowercased values such as B or B are supported. =back POD_EOF 1;