<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [

<!--

`xsltproc -''-nonet \
          -''-param man.charmap.use.subset "0" \
          -''-param make.year.ranges "1" \
          -''-param make.single.year.ranges "1" \
          /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
          manpage.xml'

# comment by thomas
install 'docbook-xsl' to access style

A manual page <package>.<section> will be generated. You may view the
manual page with: nroff -man <package>.<section> | less'. A typical entry
in a Makefile or Makefile.am is:

DB2MAN = /usr/share/sgml/docbookstylesheet/xsl/docbook-xsl/manpages/docbook.xsl
or
DB2MAN = /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl
XP     = xsltproc -''-nonet -''-param man.charmap.use.subset "0"

manpage.1: manpage.xml
        $(XP) $(DB2MAN) $<

The xsltproc binary is found in the xsltproc package. The XSL files are in
docbook-xsl. A description of the parameters you can use can be found in the
docbook-xsl-doc-* packages. Please remember that if you create the nroff
version in one of the debian/rules file targets (such as build), you will need
to include xsltproc and docbook-xsl in your Build-Depends control field.
Alternatively use the xmlto command/package. That will also automatically
pull in xsltproc and docbook-xsl.

Notes for using docbook2x: docbook2x-man does not automatically create the
AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
<refsect1> ... </refsect1>.

To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
found in the docbook-xsl-doc-html package.

Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`

General documentation about man-pages and man-page-formatting:
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/

-->

  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
  <!ENTITY dhfirstname "Yu-Chin">
  <!ENTITY dhsurname   "Tsai">
  <!-- dhusername could also be set to "&dhfirstname; &dhsurname;". -->
  <!ENTITY dhusername  "Yu-Chin Tsai">
  <!ENTITY dhemail     "thomas@clonezilla.org">
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
       allowed: see man(7), man(1) and
       http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
  <!ENTITY dhsection   "8">
  <!-- TITLE should be something like "User commands" or similar (see
       http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
  <!ENTITY dhtitle     "Partclone User Manual">
  <!ENTITY dhucpackage "PARTCLONE">
  <!ENTITY dhpackage   "partclone">
]>

<refentry>
  <refentryinfo>
    <title>&dhtitle;</title>
    <productname>&dhpackage;</productname>
    <authorgroup>
      <author>
       <firstname>&dhfirstname;</firstname>
        <surname>&dhsurname;</surname>
        <contrib></contrib>
        <address>
          <email>&dhemail;</email>
        </address>
      </author>
    </authorgroup>
    <copyright>
      <year>2007</year>
      <holder>&dhusername;</holder>
    </copyright>
    <legalnotice>
      <para>This manual page was written for the Debian system
        (and may be used by others).</para>
      <para>Permission is granted to copy, distribute and/or modify this
        document under the terms of the GNU General Public License,
        Version 2 or (at your option) any later version published by
        the Free Software Foundation.</para>
      <para>On Debian systems, the complete text of the GNU General Public
        License can be found in
        <filename>/usr/share/common-licenses/GPL</filename>.</para>
    </legalnotice>
  </refentryinfo>
  <refmeta>
    <refentrytitle>&dhucpackage;</refentrytitle>
    <manvolnum>&dhsection;</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>&dhpackage;</refname>
    <refpurpose> The utility for clone and restore a partition.</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>&dhpackage;.[fstype]</command>
      <!-- These are several examples, how syntaxes could look -->
	<arg choice="req">
	<group choice="opt">
	    <arg choice="plain"><option>-c</option></arg>
	    <arg choice="plain"><option>--clone</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-r</option></arg>
	    <arg choice="plain"><option>--restore</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-b</option></arg>
	    <arg choice="plain"><option>--dev-to-dev</option></arg>
	</group>
	</arg>
      <arg choice="req">
	<group choice="opt">
	    <arg choice="plain"><option>-s</option></arg>
	    <arg choice="plain"><option>--source</option></arg>
	</group>
	<replaceable class="option">source</replaceable>
      </arg>
      <arg choice="req">
	<group choice="opt">
	<group choice="opt">
	    <arg choice="plain"><option>-o</option></arg>
	    <arg choice="plain"><option>--output</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-O</option></arg>
	    <arg choice="plain"><option>--overwrite</option></arg>
	</group>
	</group>
	<replaceable class="option">target</replaceable>
      </arg> 	
      <arg choice="opt">
	<group choice="opt">
	    <arg choice="plain"><option>-dX</option></arg>
	    <arg choice="plain"><option>--debug=X</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>--restore_raw_file</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-z</option></arg>
	    <arg choice="plain"><option>--buffer_size</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-N</option></arg>
	    <arg choice="plain"><option>--ncurses</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-q</option></arg>
	    <arg choice="plain"><option>--quiet</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-f</option></arg>
	    <arg choice="plain"><option>--UI-fresh</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-F</option></arg>
	    <arg choice="plain"><option>--force</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-I</option></arg>
	    <arg choice="plain"><option>--ignore_fschk</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-i</option></arg>
	    <arg choice="plain"><option>--ignore_crc</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-C</option></arg>
	    <arg choice="plain"><option>--nocheck</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-R</option></arg>
	    <arg choice="plain"><option>--rescue</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-L</option></arg>
	    <arg choice="plain"><option>--logfile</option></arg>
	</group>
        <replaceable class="option">logfile</replaceable>
	<group choice="opt">
	    <arg choice="plain"><option>-R</option></arg>
	    <arg choice="plain"><option>--rescue</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-L</option></arg>
	    <arg choice="plain"><option>--logfile</option></arg>
	</group>
	<replaceable class="option">logfile</replaceable>
	<group choice="opt">
	    <arg choice="plain"><option>-X</option></arg>
	    <arg choice="plain"><option>--compresscmd</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-D</option></arg>
	    <arg choice="plain"><option>--domain</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>--offset_domain</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-aX</option></arg>
	    <arg choice="plain"><option>--checksum-mode=X</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-kX</option></arg>
	    <arg choice="plain"><option>--blocks-per-checksum=X</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-K</option></arg>
	    <arg choice="plain"><option>--no-reseed</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-w</option></arg>
	    <arg choice="plain"><option>--skip_write_error</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-E</option></arg>
	    <arg choice="plain"><option>--offset=X</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-T</option></arg>
	    <arg choice="plain"><option>--btfiles</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-t</option></arg>
	    <arg choice="plain"><option>--btfiles_torrent</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-n</option></arg>
	    <arg choice="plain"><option>--note</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>-B</option></arg>
	    <arg choice="plain"><option>--no_block_detail</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>--binary-prefix</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>--prog-second</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>--write-direct-io</option></arg>
	</group>
	<group choice="opt">
	    <arg choice="plain"><option>--read-direct-io</option></arg>
	</group>
    </arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1 id="description">
    <title>DESCRIPTION</title>
    <para><command>&dhpackage;</command>.[fstype] is a part of <command>Partclone</command> project. Partclone provide utilities to backup used blocks and design for higher compatibility of the file system by using existing library, e.g. e2fslibs is used to read the used block of ext2 partition.</para>
    <para><command>Partclone</command> supported file system include btrfs, ext2, ext3, ext4, reiserfs, reiser4, xfs and jfs for LINUX. Also  support some non-linux operation system, ex: NTFS, FAT and EXFAT (for Windows), HFS plus (APPLE MAC OS), UFS2 (FreeBSD), VMFS (VMWare Vsphere) and MINIX (MINIX3).
    </para>
    <para>All partclone utils could be run like partclone.[fstype] is very smiliar fsck or mkfs. For example, for backup/restore hfsplus, just run partclone.hfsp
    </para>
    <screen>
       File System                 partclone.[fstype]

       btrfs                       partclone.btrfs
       ext2, ext3, ext4            partclone.[ext2 | ext3 | ext4]
       reiserfs 3.5                partclone.reiserfs
       reiser 4                    partclone.reiser4
       xfs                         partclone.xfs
       ufs | ufs2                  partclone.ufs
       jfs                         partclone.jfs
       hfs plusfs                  partclone.[hfs+ | hfsplus]
       vmfs                        partclone.[vmfs | vmfs5]
       ntfs                        partclone.ntfs
       fat12, fat16, fat32         partclone.[fat12 | fat16 | fat32]
       exfat                       partclone.exfat
       minix                       partclone.minix
       f2fs                        partclone.f2fs
       nilfs2                      partclone.nilfs2
       apfs                        partclone.apfs
       others (Not Supported FS)   partclone.imager
    </screen>
  </refsect1>
  <refsect1 id="options">
    <title>OPTIONS</title>
    <para>The program follows the usual GNU command line syntax,
      with long options starting with two dashes (`-').  A summary of
      options is included below.</para>
    <variablelist>
      <!-- Use the variablelist.term.separator and the
           variablelist.term.break.after parameters to
           control the term elements. -->
      <varlistentry>
        <term><option>-s <replaceable>FILE</replaceable></option></term>
        <term><option>--source <replaceable>FILE</replaceable></option></term>
        <listitem>
          <para>Source FILE. The FILE could be a image file (made by partclone) or device depend on your action. Normally, backup source is device, restore source is image file.</para>
          <para>Receving data from pipe line is supported ONLY for restoring, just ignore -s option or use '-' means receive data from stdin.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-o <replaceable>FILE</replaceable></option></term>
        <term><option>--output <replaceable>FILE</replaceable></option></term>
        <listitem>
          <para>Output FILE. The FILE could be a image file (partclone will generate) or device depend on your action. Normally, backup output to image file and restore output to device.</para>
	  <para>Sending data to pipe line is also supported ONLY for back-up, just ignore -o option or use '-' means send data to stdout.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-O <replaceable>FILE</replaceable></option></term>
        <term><option>--overwrite <replaceable>FILE</replaceable></option></term>
        <listitem>
          <para>Overwrite FILE, overwriting if exists.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-W <replaceable>FILE</replaceable></option></term>
        <term><option>--restore_raw_file <replaceable>FILE</replaceable></option></term>
        <listitem>
          <para>create special raw file for loop device.</para>
        </listitem>
      </varlistentry>      <varlistentry>
        <term><option>-c</option></term>
        <term><option>--clone</option></term>
        <listitem>
          <para>Save partition to the special image format.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-r</option></term>
        <term><option>--restore</option></term>
        <listitem>
          <para>Restore partition from the special image format.</para>
        </listitem>
      </varlistentry>      
      <varlistentry>
        <term><option>-b</option></term>
        <term><option>--dev-to-dev</option></term>
        <listitem>
          <para>Local device to device copy on-the-fly, source and output both are device.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
      <term><option>-D</option></term> 
      <term><option>--domain</option></term>
      <listitem>
      <para>Create GNU Ddrescue domain log file from source device. This is a human readable file in which + marks used block areas and ? marks free areas.</para>
      </listitem>
      </varlistentry>
      <varlistentry>
      <term><option>--offset_domain=X</option></term>
      <listitem>
      <para>Add X (in bytes) to all positions reported in the domain log file</para>
      </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>--restore_raw_file</option></term>
        <listitem>
          <para>Creating special raw file for loop device.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-L <replaceable>FILE</replaceable></option></term>
        <term><option>--logfile <replaceable>FILE</replaceable></option></term>
        <listitem>
          <para>put special path to record partclone log information. (default /var/log/partclone.log)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-R</option></term>
        <term><option>--rescue</option></term>
        <listitem>
          <para>Continue after disk read errors.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-C</option></term>
        <term><option>--no_check</option></term>
        <listitem>
          <para>Don't check device size and free space.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-N</option></term>
        <term><option>--ncurses</option></term>
        <listitem>
          <para>Using Ncurses Text User Interface.</para>
        </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>-I</option></term>
        <term><option>--ignore_fschk</option></term>
        <listitem>
          <para>Ignore filesystem check.</para>
        </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>-i</option></term>
        <term><option>--ignore_crc</option></term>
        <listitem>
          <para>Ignore crc check error.</para>
        </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>-F</option></term>
        <term><option>--force</option></term>
        <listitem>
          <para>Force progress.</para>
        </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>-f <replaceable>sec</replaceable></option></term>
        <term><option>--UI-fresh <replaceable>sec</replaceable></option></term>
        <listitem>
          <para>put special second to different interval.</para>
        </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>-z <replaceable>size</replaceable></option></term>
        <term><option>--buffer_size <replaceable>size</replaceable></option></term>
        <listitem>
          <para>Read/write buffer size (default: 1048576)</para>
        </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>-q</option></term>
        <term><option>--quiet</option></term>
        <listitem>
          <para>Disable progress message.</para>
        </listitem>
      </varlistentry>
       <varlistentry>
        <term><option>-d<replaceable>level</replaceable></option></term>
        <term><option>--debug <replaceable>level</replaceable></option></term>
        <listitem>
          <para>Set the debug level [1|2|3]</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-x</option></term>
        <term><option>--compresscmd CMD</option></term>
        <listitem>
          <para>Start CMD as an output pipe to compress the cloned image</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-aX</option></term>
        <term><option>--checksum-mode=X</option></term>
        <listitem>
          <para>Checksum formula to use to add error detection</para>
          <para>where X:</para>
          <para>0: No checksum (no slowdown, smallest image)</para>
          <para>1: CRC32 (Fast to compute, basic detection)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-kX</option></term>
        <term><option>--blocks-per-checksum=X</option></term>
        <listitem>
          <para>Write one checksum for every X blocks</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-w</option></term>
        <term><option>--skip_write_error</option></term>
        <listitem>
          <para>Continue restore while write errors</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--write-direct-io</option></term>
        <listitem>
          <para>Writing data to TARGET partition without cache</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--read-direct-io</option></term>
        <listitem>
          <para>Reading data from SOURCE partition without cache</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-B</option></term>
        <term><option>--no_block_detail</option></term>
        <listitem>
          <para>Show progress message without block detail</para>
        </listitem>
      </varlistentry>      
      <varlistentry>
        <term><option>--binary-prefix</option></term>
        <listitem>
          <para>Show progress with bit size (default is MB, GB...)</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--prog-second</option></term>
        <listitem>
          <para>Show progress in seconds (default is minute)</para>
        </listitem>
      </varlistentry>      <varlistentry>
        <term><option>-E</option></term>
        <term><option>--offset=X</option></term>
        <listitem>
          <para>Add offset X (bytes) to OUTPUT</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-T</option></term>
        <term><option>--btfiles</option></term>
        <listitem>
          <para>Restore block as file for ClonezillaBT.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-t</option></term>
        <term><option>--btfiles_torrent</option></term>
        <listitem>
          <para>Restore block as file for ClonezillaBT but only generate torrent.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-n</option></term>
        <term><option>--note NOTE</option></term>
        <listitem>
          <para>Display Message Note (128 words).</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><option>-h</option></term>
        <term><option>--help</option></term>
        <listitem>
          <para>Show summary of options.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-v</option></term>
        <term><option>--version</option></term>
        <listitem>
          <para>Show version of program.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
  <refsect1 id="files">
    <title>FILES</title>
    <variablelist>
      <varlistentry>
        <term><filename>/var/log/partclone.log</filename></term>
        <listitem>
          <para>The log file  of <application>&dhpackage;</application></para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
  <refsect1 id="examples">
    <title>EXAMPLES</title>
    <screen>
 clone /dev/hda1 to hda1.img and display debug information.
   partclone.ext3 -c -d -s /dev/hda1 -o hda1.img

 restore /dev/hda1 from hda1.img and display debug information.
   partclone.extfs -r -d -s hda1.img -o /dev/hda1

 restore image from clonezilla (split, gzip,) with stdin source
   cat sda1.ext3-ptcl-img.gz.a* | gunzip -c | partclone.ext3 -d -r -s - -o /dev/sda1
    </screen>
    </refsect1>
  <refsect1 id="diagnostics">
    <title>DIAGNOSTICS</title>
    <para>The following diagnostics may be issued
      on <filename class="devicefile">stderr</filename>:</para>
    <variablelist>
    </variablelist>
    <para><command>&dhpackage;</command> provides some return codes, that can
      be used in scripts:</para>
    <segmentedlist>
      <segtitle>Code</segtitle>
      <segtitle>Diagnostic</segtitle>
      <seglistitem>
        <seg><errorcode>0</errorcode></seg>
        <seg>Program exited successfully.</seg>
      </seglistitem>
      <seglistitem>
        <seg><errorcode>1</errorcode></seg>
        <seg>Clone or Restore seem failed.</seg>
      </seglistitem>
    </segmentedlist>
  </refsect1>
  <refsect1 id="bugs">
    <!-- Or use this section to tell about upstream BTS. -->
    <title>BUGS</title>
    <para>Report bugs to &dhemail; or <ulink url="http://partclone.org"/>.</para>
    <para>You can get support at http://partclone.org</para>

  </refsect1>
  <refsect1 id="see_also">
    <title>SEE ALSO</title>
    <!-- In alpabetical order. -->
    <para>
    <citerefentry>
        <refentrytitle>partclone</refentrytitle>
        <manvolnum>8</manvolnum>
      </citerefentry>, <citerefentry>
        <refentrytitle>partclone.chkimg</refentrytitle>
        <manvolnum>8</manvolnum>
      </citerefentry>, <citerefentry>
        <refentrytitle>partclone.restore</refentrytitle>
        <manvolnum>8</manvolnum>
      </citerefentry>, <citerefentry>
        <refentrytitle>partclone.dd</refentrytitle>
        <manvolnum>8</manvolnum>
      </citerefentry>, <citerefentry>
	<refentrytitle>partclone.info</refentrytitle>
	<manvolnum>8</manvolnum>
      </citerefentry>
      </para>
  </refsect1>
</refentry>

