<!DOCTYPE BOOK PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!ENTITY curdate "PBDATE">
<!ENTITY curver "PBVER-rPBREV">

<!ENTITY WWWB "http://www.mondorescue.org/">
<!ENTITY WWW '<ulink url="http://www.mondorescue.org">MondoRescue</ulink>'>
<!ENTITY ML '<ulink url="http://lists.sourceforge.net/lists/listinfo/mondo-devel">mondorescue mailing list</ulink>'>
<!ENTITY gfdl SYSTEM "fdl.sgml">
]>

<book>

<bookinfo>
<title>MondoRescue HOWTO</title>
<subtitle>
Utilisation and Configuration of Mondo and Mindi under Linux (Version &curver;)
</subtitle>
<graphic fileref="images/protected-by-mondo" align="center">

<pubdate>
in its latest version the
&curdate;
</pubdate>

<abstract>
<para>
This document describes the use of mondo and mindi tools to realize disaster recovery backup of your systems. It provides information on installation, backup and restore modes, hardware and software requirements, and answers to some frequently asked questions.
The goals are to offer a general view of the functions and their best usages.
Mondo Rescue is a Disaster Recovery Solution which allows you
to effortlessly backup and interactively restore Linux, Windows and
other supported filesystem partitions to/from CD/DVD-+R/RW media, tape,
NFS, ... and Mindi Linux provides the bootable emergency restore
media which Mondo uses at boot-time.
</para>
</abstract>

<author>
<firstname>Bruno</firstname>
<surname>Cornec</surname>
<affiliation>
<orgname>MondoRescue Project</orgname>
<address><email>bruno@mondorescue.org</email></address>
</affiliation>
</author>
<author>
<firstname>Conor</firstname>
<surname>Daly</surname>
<affiliation>
<orgname>MondoRescue Project</orgname>
<address><email>conor.daly_at_met.ie</email></address>
</affiliation>
</author>
<!--
Hugo Rabson
Mikael Hultgren
Stan Benoit
Randy Delfs
Cafeole
Bryan J. Smith
-->

<copyright>
<year>2000-2006</year>
<holder role="mailto:bruno@mondorescue.org">Bruno Cornec</holder>
</copyright>

<legalnotice>
<title>License</title>
<para>
</para>
<para>
This HOWTO is a free documentation. you may copy, redistribute and/or modify it under the terms of the
<Link LinkEnd="gfdl">
GNU Free Documentation License, Version 1.1
</link>.</para>
<para>
or any later version published by the Free Software Foundation; with no Invariant Sections, Front-Cover Texts or Back-Cover Texts. This document is distributed hoping it will be useful, but <emphasis>without any guaranty</emphasis>; you're completely responsible of its use, and coulnd't complain in case it doesn't work, or even if it breaks the hardware. All the software included in it, if not already copyrighted is released under the GPL.
</para>
</legalnotice>

<revhistory>
<revision>
	<revnumber>2.0.7</revnumber>
	<date>2006-05-16</date>
	<authorinitials>Bruno Cornec</authorinitials>
	<revdescription>
	<para>
	Integration of a chapter on HOWTO run mondo interactively using cron written by Conor Daly
	</para>
	</revdescription>
</revision>
<revision>
	<revnumber>2.06</revnumber>
	<date>2006-01-16</date>
	<authorinitials>Bruno Cornec</authorinitials>
	<revdescription>
	<para>
	First SGML version publically available, remade from the HTML docs of the project.
	</para>
	</revdescription>
</revision>
</revhistory>
</bookinfo>

<toc></toc>
<lot></lot>


<chapter id="intro">
<title>About this Guide</title>

<sect1 id="intro-purpose">
<title>Purpose / Scope of this Guide</title>

<para>
This HOWTO serves to help people get started with using
mondo/mindi as way to backup/restore their system. This is a work
constantly evolving. It was started by Hugo Rabson and has
since been worked upon by a number of people. See the
'<ulink url="&WWWB;about.shtml#devteam">About</ulink>' web
page for a list of members of the development team.</para>

<para>There are many ways to contribute to the Linux movement
without actually writing code. One of the most important is writing
documentation, allowing each person to share their knowledge with
thousands of others around the world. This HOWTO is designed to
help you get familiar with how Mondo/Mindi works.</para>

<para>
Opinions expressed here are those of the authors.
Informations are provided in the aim to be useful to the readers.
However, there can't be, through this document, any warranty of any kind
on the way it works on your systems, nor the author could be responsible for any problem caused by the use of these informations.
However, software editors don't garantee you a lot either (re-read the contracts).
</para>
</sect1>

<sect1 id="intro-newversion"><title>New versions of this document</title>

<para>The newest version of this document can always be found on
MondoRescue's homepage &WWW;.</para>
<para>
If you make a translation of this document into another language, please let meknow so that I can include a reference to it here.
</para>
</sect1>

<sect1><title>Suggestions / Feedback</title>
<para>
I rely on you, the reader, to make this HOWTO useful. THis HOWTO is probably incomplete even if it tries to be accurate to the best of our knowledge. 
If you have any suggestions, corrections, recommandations or congratulations :-) don't hesitate to send them to me
<email>bruno@mondorescue.org</email>,
and I will try to incorporate them in a next revision or to the &ML;;
e-mail the list at
<ulink url="mailto:mondo-devel@lists.sourceforge.net">mondo-devel@lists.sourceforge.net</ulink>;
tell us what is wrong and how it should be fixed.
Include the section title and recommended changes. Whenever possible, include
the exact, spell-checked, grammar-checked text that you think would
improve the document.
</para>
<para>See Mondo's
		<ulink url="http://www.mondorescue.org/support.shtml">Support</ulink> page for
more information.
</para>
<para>
Please note that we do our best to help everyone but it is
difficult for us to help you if you do not attach a log file to
your e-mail. Let me say that again - attach your log file to your
e-mail! Thank you. Without it we can't offer
any tangible help because you aren't either. That's what the log
file is for. It is located at <filename>/var/log/mondoarchive.log</filename>; and <filename>/var/log/mindi.log</filename> (if called alone) or at <filename>/var/log/mondorestore.log</filename>
</para>
<para>
This document was originaly written by native english speakers, but is maintained by a non-native english speaker so help me correct mistaques (sic) instead of rumbling that I've done one :-)
</para>
<para>
I am also willing to answer general questions on MondoRescue, the best I can.
Before doing so, please read all of the information in this HOWTO, and then send me detailed information about the problem, especially including the logs generated by the tools, or traces obtained (Did I say that already :-].
</para>
<para>
If you publish this document on a CD-ROM or in hardcopy form, a complimentary copy would be appreciated; mail me for my postal address. Also consider making a donation to the Linux Documentation Project to help support free documentation for Linux. Contact the Linux HOWTO coordinator,
Guylhem AZNAR <email>guylhem@rrremovethis.oeil.qc.ca</email>.
</para>
</sect1>

<sect1 id=intro-thanks><title>Aknowledgements</title>

<para>Thanks goes to these people for helping and adding to this
HOWTO.</para>

<para>Document maintainer:</para>
<itemizedlist mark="bullet" spacing="Compact">
<listitem>
<para>Bruno Cornec</para>
</listitem>
</itemizedlist>
<para>Original Design Assistance by:</para>
<itemizedlist>
<listitem>
<para>Xion Network.com</para>
</listitem>
</itemizedlist>
<para>Original Document Assistance by:</para>
<itemizedlist>
<listitem>
<para>Cafeole</para>
</listitem>
<listitem>
<para>Troff</para>
</listitem>
<listitem>
<para>Randy Delfs</para>
</listitem>
<listitem>
<para>Mikael Hultgren</para>
</listitem>
</itemizedlist>
<para>Original LinuxDoc and LaTeX Reformat by:</para>
<itemizedlist>
<listitem>
<para>Bryan J. Smith</para>
</listitem>
</itemizedlist>
<para>Original DocBook Reformat by:</para>
<itemizedlist>
<listitem>
<para>Mikael Hultgren</para>
</listitem>
</itemizedlist>
<para>Original author; 1.6x material:</para>
<itemizedlist>
<listitem>
<para>Hugo Rabson</para>
</listitem>
</itemizedlist>

</sect1>
</chapter>

<chapter id="quickstart"><title>QuickStart</title>
<itemizedlist mark="bullet" spacing="Compact">
<listitem>
<para>We recommend that you read this complete 
HOWTO. However, if you are too busy or impatient, then
please use this QuickStart guide to stay out of trouble.</para>
</listitem>
<listitem>
<para>Install the tarball, RPM, or DEB mindi and mondo
packages. (see <link linkend="installation">Installation</link>
for more details)</para>
</listitem>
<listitem>
<para>Execute as root (type 'su -' to become root if you are not
logged in as root)</para>
<para></para>

<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive

</entry>
</row>
</tbody></tgroup></informaltable>

</listitem>
</itemizedlist>
<para></para>

<informaltable><tgroup cols="2"><tbody>
<row>
<entry>
<ulink url="images/mamain.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/mamain-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Choose from the list of supported backup media types. The media you
will use most often are CD/DVD-+R, CD/DVD-+RW, tape, NFS and hard disk. If
you want to backup/restore over a network, choose 'NFS'. If you
want to backup/restore to/from a local partition or if you simply
want to store the ISO images in a local directory until you have
time or facilities to burn them to CD's, choose 'hard disk'. If you
choose 'CD/DVD-+R[W]' or 'tape' then in general your hardware will be
detected and configured for you.
</entry>
</row>
<row>
<entry>
<ulink url="images/maburnproof.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/maburnproof-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
		If you are backing up to CD/DVD-+R[W] then Mondo will ask you if your CD
burner has BurnProof technology, is inside a laptop, or is
otherwise eccentric. If you are backing up to a tape streamer then
you will not see this message.
</entry>
</row>
<row>
<entry>
<ulink url="images/macompression.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/macompression-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
How much compression do you want? None, if your tape streamer has
built-in hardware compression. Maximum, if your CPU is blazingly
fast. Average should do just fine for most situations.
</entry>
</row>
<row>
<entry>
<ulink url="images/mainclude.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/mainclude-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
If you want to backup the whole computer (excluding /sys and /proc,
naturally) then leave this as / which is the default. Otherwise,
specify subsets, (e.g. /usr/local /home ) being sure to put a space
in between each path.
</entry>
</row>
<row>
<entry>
<ulink url="images/maexclude.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/maexclude-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
If you are backing up your whole computer then you might want to
exclude certain directories, e.g. /shared/MP3. Please specify them
in the 'exclude directories' dialog box. Please put a space in
between each path, e.g. /shared/private /scratch /nfs /windows
</entry>
</row>
<row>
<entry>
<ulink url="images/makernel.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/makernel-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Is your kernel sane? Red Hat, Mandrake, SuSE, Debian and Slackware users
should in general say 'yes' because these vendors are good at
producing reliable kernels. If you are using Gentoo or LFS
then your kernel might be non-standard, in which case say 'no' to
use Mondo's failsafe kernel (provided separately).
</entry>
</row>
<row>
<entry>
<ulink url="images/maverifyq.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/maverifyq-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
If you want to verify the archives after writing them to media, say
'yes' here. If you have absolute faith in your hardware and your
Linux distribution, say 'no'... and a little prayer.
</entry>
</row>
<row>
<entry>
<ulink url="images/maproceedq.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/maproceedq-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
If you are sure you want to go ahead, say 'yes' and find something
else to do while Mondo backs up your computer. If you say 'no' then
you will be unceremoniously dumped at the shell prompt. :-)
</entry>
</row>
<row>
<entry>
<ulink url="images/1.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/1-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
The backup process will now commence. There are some pre-backup
tasks to be carried out first but the backup is essentially
underway. To simplify the backup process, you were asked a series
of questions. Next time, if you like, you could call mondoarchive
with various command-line switches to control its behavior, instead
of answering a series of questions. See the man page for details.
</entry>
</row>
<row>
<entry>
<ulink url="images/3.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/3-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Mondo will make a catalog of all files to be backed up. This may
take up to five minutes. The list of files will be divided into
sets, approximately 4 MB (before compression) of files per set.
This typically takes one minute.
</entry>
</row>
<row>
<entry>
<ulink url="images/4.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/1-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Mondo calls Mindi. Mindi generates bootable media image and
auxiliary data disk images which are based on your existing Linux
distribution and filesystem. That way, you can be sure Mondo's
tools will be compatible with your existing filesystems and
binaries: Mondo's tools are your tools. Mindi takes up to five
minutes to run.
</entry>
</row>
<row>
<entry>
<ulink url="images/5tape.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/5tape-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Finally, Mondo begins backing up your computer. This process may
take a few minutes or a few hours, depending on how much data you
are archiving, how fast your CPU is, how much RAM you have, and so
on. It will backup your regular files and then your large files
(files larger than approximately 32MB). If you have opted to verify
your backups, Mondo will do that too.
</entry>
</row>
</tbody></tgroup></informaltable>

<itemizedlist>
<listitem>
<para>Try to boot from the first media of the backup.
Choose 'Compare Mode' by typing compare at the boot screen.
</para>
</listitem>
<listitem>
<para>If you can boot, fine. If not, make a Mindi "Test" CD to
checkout the compatibility of your system. (see
<link linkend="test-mindi">Testing Mindi</link> for more
details). Remove the media; boot your computer as usual;
execute as root</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		bash# mindi
</entry>
</row>
<row>
<entry>
		bash# cd /var/cache/mindi

</entry>
</row>
</tbody></tgroup></informaltable>

<para>(for CD-R)</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
bash# cdrecord dev=0,0,0 speed=4 -eject -v mindi.iso
</entry>
</row>
<row>
<entry>
bash# wodim dev=0,0,0 speed=4 -eject -v mindi.iso
</entry>
</row>
</tbody></tgroup></informaltable>

<para>(for CD-RW)</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
bash# cdrecord dev=0,0,0 speed=4 blank=fast -eject -v mindi.iso
</entry>
</row>
<row>
<entry>
bash# wodim dev=0,0,0 speed=4 blank=fast -eject -v mindi.iso
</entry>
</row>
</tbody></tgroup></informaltable>

<para>Reboot your system with the created Mindi CD, with the BIOS
set to boot from CD. If the result is a command line in 'Expert'
mode, your system checks out. Remove the CD and reboot your
system.</para>
</listitem>
<listitem>
<para>If you still cannot boot from Mindi's CD then please e-mail
the &ML; for help.
</para>
</listitem>
</itemizedlist>
<para>When making a backup on a live system, there will always be
processes running that will write out data on the system after you
have made the backup and before you have made the compare, this
will result in difference showing up when comparing your backup.
For a full explanation and what can be done to avoid this, please
read this section.</para>
<itemizedlist>

		<listitem>
<para>This QuickStart covers the ideal case. Upon receiving any
system feedback/errors, read each related HOWTO section.</para>
<para>Example 2-1. A test backup of your /home directory to CD-Rs
using the command line</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -OVc 4 -I /home -gF

</entry>
</row>
</tbody></tgroup></informaltable>

<para>The 'c' means you must be writing to CD-Rs, not CD-RWs (the
latter would require 'w' instead of 'c'). The '4' is the speed of
your CD writer. The string after -I is the path to be backed up.
The '-gF' means you are going to see the pretty yellow-on-blue
screen instead of the boring white-on-black screen. :) It also
means Mondo will not offer to create physical boot media for
you. It is assumed that you are able to boot from the CD which
Mondo has generated.</para>
<para>Example 2-2. A backup of your whole filesystem to NFS using
the command line</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		bash# mkdir -p /mnt/nfs
</entry>
</row>
<row>
<entry>
		bash# mount 192.168.1.28:/home/nfs /mnt/nfs
		</entry>
</row>
<row>
<entry>
bash# mondoarchive -OVn 192.168.1.28:/home/nfs -gF[...]
		</entry>
</row>
<row>
<entry>
bash# umount /mnt/nfs
		</entry>
</row>
<row>
<entry>
		bash# cdrecord dev=0,0,0 speed=4 -eject -v /var/cache/mindi/mindi.iso
</entry>
</row>
</tbody></tgroup></informaltable>

<para>Note that you have to mount the NFS partition, backup to it,
unmount it, and create a boot CD to allow you to restore from
scratch if necessary. To reassure yourself that you will be able to
restore from the NFS share even if your PC is wiped, please boot
from the Mindi CD and type 'compare'. The on-screen instructions
from that point on should be sufficient.</para>
<para>Example 2-3. A backup of your whole
filesystem to tape using the command line</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -OVt -d /dev/st0 -9 -L -g

</entry>
</row>
</tbody></tgroup></informaltable>

<para>In this case, we assume Syslinux is incompatible with your
boot media. For some reason, some BIOSes just don't like Syslinux.
If you find this to be the case for your computer, please use '-L'
to force Mondo to use LILO instead of Syslinux as the boot loader
for its media. (NB: This has nothing to do with which boot
loader your hard drive uses.) Also, it is a good habit to specify
your tape streamer with '-d &lt;device&gt;'. You don't usually need
to but it's good to be on the safe side. Some computers call your
tape streamer /dev/osst0, some call it /dev/ftape, ...
Also, depending on the tape streamer model, a tape should be inserted 
in the tape drive before starting mondoarchive, otherwise it may not 
recognize the drive.</para>
</listitem>
</itemizedlist>

</chapter>

<chapter id="overview"><title>Overview</title>

<sect1 id="overview-mondorescue">
<title>Mondo Rescue</title>
<para>Mondo Rescue backs up your file system to CD, tape, NFS
(archives stored remotely) or ISO's (archives stored locally).
Mondo uses afio as the backup engine; afio is a well-respected
replacement for tar. In the event of catastrophic data loss, you
may restore some or all of your system, even if your hard drives
are now blank. Mondo Rescue can do a lot of other cool
things:</para>
<itemizedlist>
<listitem>
<para>You can use Mondo to clone an installation of Linux. Just
backup the crucial stuff and exclude /home, /var/log, etc.</para>
</listitem>
<listitem>
<para>You can backup a non-RAID file system and restore it as RAID
including the root partition (if your kernel supports that).</para>
</listitem>
<listitem>
<para>You can backup a system running on one format and restore as
another format.</para>
</listitem>
<listitem>
<para>You can restructure your partitions, e.g. shrink/enlarge,
reassign devices, add hard drives, etc, before you partition and
format your drives. Mondo will restore your data and amend
/etc/lilo.conf and /etc/fstab accordingly.</para>
</listitem>
<listitem>
<para>You can backup Linux/Windows systems, including the boot
sectors. Mondo will make everything right at restore-time.
(However, do run "Scandisk" when you first boot into Windows, just
in case.)</para>
</listitem>
<listitem>
<para>You can use your Mondo backup CD to verify the integrity of
your computer.</para>
</listitem>
</itemizedlist>
<para>Mondo's principal virtue is that it protects you from the
problems that can arise when you reinstall completely from scratch.
If you want to wipe and restore your system every year just as a
matter of 'good practice', Mondo is not for you. However, if you
want to get up and running again in a hurry after someone breaks
into your computer and wipes it (or if you accidentally wipe it
yourself) then Mondo is definitely for you. It will permit you to
roll back to a known-good installation in a very short period of
time, sometimes as little as twenty minutes. Even if you backup
large amounts of data to tape daily and do not want to add yet
another backup regime, please consider backing up the core
filesystem (i.e. everything but the directories containing your
huge database and your prizewinning novel) every month or so, just
in case. You will be glad you did.</para>
<para>What is Mondo not?</para>
<para>Mondo is not an everyday backup program. It is not designed
to replace tar, afio, kbackup, etc. Mondo is designed to make it
possible to recover from scratch if necessary. Tar and afio offer a
quick, convenient way to backup small sets of files, sometimes to
removable media.</para>
</sect1>

<sect1 id="overview-mindi">
<title>Mindi</title>
<para>
Mindi Linux creates a set of boot/root media images
that will let you perform basic system maintenance on your Linux
distro. The principal virtues of Mindi's boot disks are the fact
that they contain your kernel, modules, tools and libraries. You
can ask for additional binaries (or other files) to be included on
the kit. The libraries will be added for you.
</para>
<para>Whichever modules were loaded at backup-time, they are
reloaded at boot-time. So, in theory, you will boot into almost the
same environment as you were in when you backed up. If you want to
add files to your Mindi boot disks, edit '&lt;INSTALLPATH OF
MINDI&gt;/mindi/deplist.txt' and add the files to that list. The
added files and dependencies, will be spread across the data disks
at run-time.
</para>
<para>Mindi makes sure that Mondo has all the tools it needs at
boot-time. Mondo uses fdisk, mkfs, cat, less, more, afio, gzip,
bzip2, your keyboard configuration, your glibc libraries, your
other libraries, your kernel, your modules, ... which is a lot of tools! 
Mindi takes care of all that, so that Mondo can get on with the job of backing
up or restoring your data.
</para>
<para>Mindi is also handy for making boot CDs/disks which stand on
their own. You do not need Mondo. Indeed, if you like, you could
use another backup/restore program with Mindi. Just add it to
Mindi's dependency list (type 'locate deplist.txt' to find it).
Mindi will include your software on its boot CD/disks the next time
you run mindi.
</para>
</sect1>


<sect1 id="overview-linuxbackup">
<title>Linux Backup</title>
<para>Mondo Rescue and Mindi Linux are used primarily as Linux
backup and cloning tools. The fall in prices of CD-RW drives and
writable discs will allow current users to keep good backups and
future users to leverage the cloning capability.</para>
<para>Tape drives are more likely to suit your needs if you run a
larger installation (or have lots of MP3's). Warning! OnStream
drives do not play well with Mondo. I do not know why. It is, in my
opinion, something which OnStream should look into. Mondo uses
fopen(), fread(), fwrite() and fclose() to interact with tape
drives. That works for most drives but some drives just don't like
that.
Also, depending on the tape streamer model, a tape should be inserted 
in the tape drive before starting mondoarchive, otherwise it may not 
recognize the drive.</para>
<para>Mondo Rescue has been tested thousands of times on various computers.
It has worked for them.
Thousands of users testify to Mondo's stability and its ease of
use. However, please test it on your own system before you rely on
it. In fact, do not rely on any software until you have tested it
to see if it performs as expected.</para>
<para>To establish that Mondo will behave well in an emergency,
please be prepared. Run a test backup as follows:-</para>
<itemizedlist>
<listitem>
<para>Run mondoarchive without any command-line options.</para>
</listitem>
<listitem>
	<para>Backup a subset of files - e.g. /usr/local - to CD or
			tape. Say 'yes' when asked if you want to verify them.</para>
</listitem>
<listitem>
	<para>If you are not backing up to CD, please create boot
	media when prompted.</para>
</listitem>
</itemizedlist>
<para>Next, restore archives to your live filesystem.</para>
<itemizedlist>
<listitem>
<para>When mondoarchive terminates, run mondorestore without any
command-line options.</para>
</listitem>
<listitem><para>Insert the media when prompted.
				Press &lt;Enter&gt;. Wait a moment.</para></listitem>
<listitem><para>Select a subset of files to restore, e.g. /usr/local/man
				and /usr/local/bin. Hit OK.</para></listitem>
<listitem><para>Restore files to /tmp or /root/RESTORED or something
				similar.</para></listitem>
<listitem><para>When mondorestore terminates, compare the restored files
				to the originals using cmp or diff.</para></listitem>
</itemizedlist>
<para>Finally, simulate an emergency restore.</para>
<itemizedlist>
<listitem>
<para>Boot from media.</para>
</listitem>
<listitem><para>Select 'Interactive Mode' at boot-time. (Type
				'interactive' and hit &lt;Enter&gt;.)</para></listitem>
<listitem><para>Hit OK when shown the mountlist. Say 'yes' when asked if
				you accept the mountlist.</para></listitem>
<listitem><para>Select files to restore, e.g. /usr/local/man and
				/usr/local/bin. Hit OK.</para></listitem>
<listitem><para>Restore files to /tmp or /root/RESTORED or something
				similar.</para></listitem>
<listitem><para>When mondorestore terminates, please reboot and compare
				the restored files to the originals.</para></listitem>
</itemizedlist>
<para>FYI, the subroutines to repartition and reformat your drives
are very stable. If you are a RAID or LVM user, you
might&nbsp;encounter some difficulties when wiping and restoring
from scratch because of the sheer range of filesystem layouts and
the impossibility of testing Mondo on every single one. If you have
trouble, just drop to the command-line and partition/format
manually. Then, call mondorestore, select Interactive Mode, and say
'no' when asked if you want Mondo to partition or format your
drives for you.</para>
<para>You see, even if you have trouble, you still have two hands
and most of the tools you need - lvchange, pvcreate, fdisk, mkraid,
etc. - to do it manually. After you have prepped and formatted your
drives manually (if you have to), just run mondorestore again and
say 'no' when asked if you want to prep or format your drives. What
could be easier?</para>
</sect1>

<sect1 id="overview-winbackup">
<title>Windows Backup</title>
<para>Backing up windows partitions.</para>
<sect2 id="overview-winbackup-win95"><title>Windows ME/95/98</title>
<para>Verify that the partition is listed in /etc/fstab and is
mounted (e.g. /dev/hda1). Mondo will take care of everything else.
The files will be archived just like all other files in the live
file system. At restore-time, Mondo will take care of the boot
sector of /dev/hda1 prior to the restore.</para>
<para>Note: if Windows ME/95/98 is not located on /dev/hda1 or
/dev/sda1, then Mondo will not take care of the boot sector of
/dev/hda1. The user will have to boot from a DOS floppy and run SYS
C: to correct the Windows boot sector.</para>
</sect2>
<sect2 id="overview-winbackup-winnt"><title>Windows NT4/2K/XP</title>
<para>Windows NT4/2K/XP typically use the NTFS file system, not
VFAT.. The user should use '-x /dev/hda1' (or whichever device the
Windows partition resides). Mondo will treat the partition as a
biggiefile. Mondo will also add an entry to the mountlist to
reflect the size and type of the partition. The user may not edit
that partition's size at restore-time (for obvious reasons).</para>
<para>Please bear in mind that Mondo was written for Linux users.
If Mondo does not backup or restore your Windows system well, you
might want to consider reporting it to the &ML;
</para>
</sect2>
</sect1>

<sect1 id="overview-history">
<title>Mondo Rescue and Mindi Linux
History</title>
<para>Mondo Rescue was created in December 1999 by Hugo Rabson as a utility to
clone Linux/Windows installations. Norton Ghost would not do the
job, and his boss wanted to jump on the Linux bandwagon. So, he wrote
a few scripts and shoehorned them into the latest Linux-Mandrake
CD. Since that time, Mondo grew into a disaster recovery suite for
Linux and Windows. Mondo forced him to learn about the kernel, its
initrd initial ramdisk, modules, library dependencies, disk
partitioning, and the myriad differences between the Top 10 Linux
distributions.</para>
<para>The first formal release was made on February 18th, 2000.
Mondo is currently one of the top five Linux backup/restore
programs. Mondo has been compared favorably to ArcServe, Arkeia and
BRU. Although Mondo lacks the more advanced, enterprise-level
features of ArcServe and Arkeia, for workstations and small- to
medium-size servers it is ideal because it is small, fast,
efficient, stable, comes with source code, and is being actively
developed and supported.</para>
<para>
		Since November 2005, Hugo Rabson has tranfered the maintenance 
		of the Mondo Rescue suite to Andree Leidenfrost and Bruno Cornec,
		both previous developers and packagers of the tool since nearly 
		the begining.
</para>
</sect1>

<sect1 id="overview-sysreq">
<title>System Requirements</title>
<sect2 id="overview-sysrq-hwreq">
<title>Hardware Requirements</title>

<para>Your computer must have:</para>
<itemizedlist>
<listitem>
		<para>Intel(R)-compatible CPU (ia32, x86_64/amd64 or ia64)</para>
</listitem>
<listitem>
<para>64MB of RAM (128MB recommended)</para>
</listitem>
<listitem>
<para>800MB of hard disk space free</para>
</listitem>
<listitem>
<para>CD writer, tape streamer, NFS share or some way to backup the
backups :)</para>
</listitem>
</itemizedlist>
<para>It is recommended that your computer have very good airflow.
The backup with Mondo Rescue and Mindi Linux will utilize your CPU,
CD drive and fixed disk(s) like very few other applications. With a
few hours of system backup activity, computers without sufficient
airflow may show symptoms such as not burning full CD discs. The
solution is a $20 or less additional fan at your local electronics
discount store.</para>
</sect2>

<sect2 id="overview-sysrq-kernelreq">
<title>Kernel Requirements</title>

<para>Your kernel must have:</para>
<itemizedlist>
<listitem>
<para>stable loopfs support, which means it really needs to be
2.2.19 or 2.4.7 (or later)</para>
</listitem>
<listitem>
<para>CD-ROM device support</para>
</listitem>
<listitem>
<para>ISO9660 file system support</para>
</listitem>
<listitem>
<para>initrd ramdisk support (built-in)</para>
</listitem>
<listitem>
<para>Virtual memory file system support (built-in)</para>
</listitem>
<listitem>
<para>ext2 file system support (built-in)</para>
</listitem>
<listitem>
<para>Support for the backup media (Tape, CD-RW, NFS, Hard
disk)</para>
</listitem>
<listitem>
<para>If the backup media is CD-RW then you need SCSI emulation
also</para>
<para>vfat support in the active kernel - mindi needs this when creating
syslinux boot media</para>
</listitem>
</itemizedlist>
<para>Please note that the stock kernels of Red Hat/RHEL/Fedora,
	Mandrake/Mandriva, SuSE/SLES/OpenSuSE, Debian and Slackware 
	all meet Mondo's requirements. If your kernel does not meet Mondo's
	requirements then there is something wrong with it. Mondo's demands
	are not unreasonable.</para>
<para>Mondo (specifically Mindi) does not require any specific
module. It does require that your kernel support the initrd
initial ramdisk facility. Typically this is supported by the Linux
kernel. Modules used are needed to support the CD, 
hard disks, etc. If the support is modular, then the modules will
be incorporated in a boot disk by Mindi. If the support is built-in
(static), then it will be available at boot-time by default.</para>
</sect2>
<sect2 id="overview-sysrq-swreq">
<title>Software Requirements</title>
<para>See Mondo's <ulink url="http://www.mondorescue.org/downloads.shtml">Download
page</ulink> for details.</para>
<para>Mondo requires afio, bzip2, cdrtools/cdrecord/growisofs (may be part of the dvd+rw-tools package), ncurses, newt,
isolinux/syslinux, lzo (optional), lzop (optional), mkisofs, slang,
and a few other packages.</para>
<para>Good Linux distributions provide all these packages. If yours
does not then please go to the aforementioned Download page or surf
the Net, preferably the website of the distribution you are
using.</para>
<para>Mondo's expectations are not unreasonable, either of your
Linux distribution or of your kernel. However, if your distribution
fails to meet its expectations and you cannot find out how to
resolve them, please feel free to e-mail the &ML;
</para>
</sect2>
</sect1>
</chapter>

<chapter id="installation">
<title>Installation</title>

<sect1 id="installation-mindi">
<title>Mindi Installation</title>
<para>If you are installing from a tarball then copy it to wherever
you have enough space, for example /tmp and type:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		bash# cd /tmp
</entry>
</row>
<row>
<entry>
		bash# tar -zxvf mindi-1.x.tgz
		</entry>
</row>
<row>
<entry>
bash# cd mindi-1.x
</entry>
</row>
<row>
<entry>
		bash# ./install.sh

</entry>
</row>
</tbody></tgroup></informaltable>

<para>This installs mindi additional files into /usr/local/lib/mindi and 
the program into /usr/local/sbin</para>
<para>Or, if you are installing from an RPM/deb then copy it to
wherever you have enough space, for example /tmp and type:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# rpm -Uvh /tmp/mindi-1.x-x.i386.rpm
</entry>
</row>
<row>
<entry>

or
</entry>
</row>
<row>
<entry>

bash# dpkg -i /tmp/mindi-1.x-x.deb

</entry>
</row>
</tbody></tgroup></informaltable>

<para>This installs mindi additional files into /usr/lib/mindi and 
the program into /usr/sbin.
</para>
</sect1>

<sect1 id="installation-mindi-busybox">
<title>Mindi Busybox Installation</title>
<para>If you are installing from a tarball then copy it to wherever
you have enough space, for example /tmp and type:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		bash# cd /tmp
</entry>
</row>
<row>
	<entry>
		bash# tar -zxvf mindi-busybox-1.x.tgz
	</entry>
</row>
<row>
	<entry>
		bash# cd mindi-busybox-1.x
	</entry>
</row>
<row>
	<entry>
		bash# make oldconfig
	</entry>
</row>
<row>
	<entry>
		bash# make busybox
	</entry>
</row>
<row>
	<entry>
		bash# make install
	</entry>
</row>
</tbody></tgroup></informaltable>
<para>This installs busybox files and symlinks into /usr/local/lib/mindi/rootfs
</para>
<para>Or, if you are installing from an RPM/deb then copy it to
wherever you have enough space, for example /tmp and type:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# rpm -Uvh /tmp/mindi-busybox-1.x-x.i386.rpm
</entry>
</row>
<row>
<entry>

or
</entry>
</row>
<row>
<entry>

bash# dpkg -i /tmp/mindi-busybox-1.x-x.deb

</entry>
</row>
</tbody></tgroup></informaltable>

<para>This installs busybix files and symlinks into /usr/lib/mindi/rootfs 
</para>
</sect1>

<sect1 id="installation-mondo">
<title>Mondo Installation</title>
<para>If you are installing from a tarball then copy it to wherever
you have enough space, for example /tmp and type:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		bash# cd /tmp
</entry>
</row>
<row>
<entry>
		bash# tar -zxvf mondo-2.xx.tgz
		</entry>
</row>
<row>
<entry>
bash# cd mondo-2.xx
		</entry>
</row>
<row>
<entry>
		bash# ./configure
		</entry>
</row>
<row>
<entry>
bash# make &amp;&amp; make install

</entry>
</row>
</tbody></tgroup></informaltable>

<para>This installs mondo into /usr/local/lib/mondo and installs
the programs into /usr/local/sbin</para>
<para>Or, if you are installing from an RPM/deb then copy it to copy it
to wherever you have enough space, for example /tmp and
type:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# rpm -Uvh /tmp/mondo-2.x-x.i386.rpm
</entry>
</row>
<row>
<entry>

or
</entry>
</row>
<row>
<entry>

bash# dpkg -i /tmp/mondo-2.x-x.deb

</entry>
</row>
</tbody></tgroup></informaltable>

<para>This installs mondo into /usr/lib/mondo and installs
the programs into /usr/sbin</para>
</sect1>

<sect1 id=rpm-verif>
		<title>RPM verifications</title>
		<para>For RPM based distributions (Fedora, OpenSuSE, Mandriva, ...), you may want to do this post-install in order to check the validity of your installation:</para>
<informaltable><tgroup cols="1"><tbody>
<row>
	<entry>
		bash# rpm -Va mindi mondo mindi-busybox
	</entry>
</row>
</tbody></tgroup></informaltable>
<para>
	This gives some truly obtuse output. Basically it will list all files that do NOT pass the verify tests (done on size, MD5 signature, etc). Please read rpm man page to discover the meaning of the output.
	</para>
</sect1>
</chapter>

<chapter id="test">
<title>Tests</title>

<sect1 id="test-mindi">
<title>Testing Mindi</title>

<para>Mindi is a vital part of the backup procedure. If you have
used Mondo before or if you are in a hurry, skip steps 6.2 and 6.3;
go straight to QuickStart.</para>
<para>However, if you have time or if you have been having trouble
getting Mondo to work, I would recommend trying out Mindi directly
(rather than via Mondo) to see if it can produce a bootable CD on
your system.</para>
<para>Make sure you are root while doing this, otherwise mindi will
fail, now do this.</para>
<para>If you have any problems, please:-</para>
<itemizedlist>
<listitem>
<para>less /var/log/mindi.log</para>
</listitem>
<listitem><para>feel free to edit mindi (it's a shell script, btw) to try
				to fix the problem yourself</para></listitem>
<listitem><para>contact the &ML; if you get stuck.</para></listitem>
</itemizedlist>
<para>Type:-</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mindi

</entry>
</row>
</tbody></tgroup></informaltable>

<para>Example screen output, selecting to use your own kernel, to
create boot disks, and to create a bootable CD image:</para>
<para></para>
<screen>

# mindi
Mindi Linux mini-distro generator v1.09-r762

Latest Mindi is available from http://www.mondorescueg

BusyBox sources are available from http://www.busybox.net

------------------------------------------------------------------------------
Do you want to use your own kernel to build the boot disk (y/n) ?y
Would you like to use LILO (instead of syslinux)
for your boot media (y/n) ?n
Analyzing dependency requirements                               Done.
Making complete dependency list                                 Done.
Analyzing your keyboard's configuration.

Adding the following keyboard mapping tables: us-latin1         Done.
Assembling dependency files...................................................................                                                  Done.
The files have been subdivided into 5 directories.                              Your mountlist will look like this:-
    Finding all volume groups
  No volume groups found
  No volume groups found
  No volume groups found
  No volume groups found
        DEVICE          MOUNTPOINT      FORMAT          SIZE (MB)
        /dev/hda1       /               ext3                399
        /dev/hda9       /home           ext3              48478
        /dev/hda6       /usr            ext3               4999
        /dev/hda7       /var            ext3               1000
        /dev/hda5       swap            swap                349
        /dev/hda8       swap            swap               2003
    Finding all volume groups
  No volume groups found
  No volume groups found
  No volume groups found
  No volume groups found
Tarring and zipping the groups..................                Done.
Creating data disk #1...#2...#3...#4...#5...                    Done.
Making 1722KB boot disk...........................1440+0 enregistrements lus.
1440+0 enregistrements écrits.
mke2fs 1.38 (30-Jun-2005)
Failed to copy /boot/vmlinuz-2.6.12-15mdk-i686-up-4GB to ramdisk

Making 2880KB boot disk...........................mkfs.vfat 2.10 (22 Sep 2003)
... 2880 KB boot disks were created OK                          Done.
In the directory '/var/cache/mindi' you will find the images:-
   mindi-data-1.img    mindi-data-2.img    mindi-data-3.img    mindi-data-4.img    mindi-data-5.img mindi-root.1440.img
Shall I make a bootable CD image? (y/n) y
NB: Mindi's bootable CD always uses isolinux.

For a bootable CD w/LILO, please use Mondo.

Finished.

Boot and data disk images were created.

#
		
</screen>

<para>If your kernel is too large (more than about 900KB) then you
cannot make boot media, although you can still make a bootable
CD image. The easiest way to test Mindi in either case is to say
'n' to its first question and 'y' to its second, then use the
separate application cdrecord or wodim to make a bootable CD-R or
CD-RW.</para>
<para>Use the cdrecord or wodim application to write the CD image:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
		bash# cd /var/cache/mindi
</entry>
</row>
<row>
		<entry>
		bash# cdrecord -scanbus
</entry>
</row>
<row>
		<entry>
		bash# wodim --devices
</entry>
</row>
</tbody></tgroup></informaltable>

<para>The output of the above call will tell you your
CD writer's node. It is usually '0,0,0'. Choose one of the
following calls to write the CD, depending on whether the disk in
the drive is a CD-R or a CD-RW. Please replace 'x,x,x' with your
writer's node. For further information, type 'man cdrecord" from a
Linux command line.</para>
<para>If writing to a CD-RW Drive/Disc:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
bash# cdrecord -v blank=fast dev=x,x,x speed=4 mindi.iso (for CD-RW)
</entry>
</row>
<row>
<entry>
		bash# wodim -v blank=fast dev=/dev/xxx speed=4 mindi.iso (for CD-RW)
</entry>
</row>
</tbody></tgroup></informaltable>

<para>If writing to a CD-R Drive/Disc:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
bash# cdrecord -v dev=x,x,x speed=4 mindi.iso (for CD-R)
</entry>
</row>
<row>
<entry>
		bash# wodim -v dev=/dev/xxx speed=4 mindi.iso (for CD-R)
</entry>
</row>
</tbody></tgroup></informaltable>
</sect1>

<!--
<sect1 id="test-mondo">
<title>Testing Mondo</title>
</sect1>
-->
</chapter>

<chapter id="backup">
<title>Backup</title>

<sect1 id="backup-recommandations">
<title>Recommendations</title>
<itemizedlist>
<listitem>
<para>Shut down all possible applications (this minimizes any
		compare differences following the backup). Especially shutdown 
		properly any running database on your system, as the recovery 
		may lead to corrupted data. Or if applicable, boot to single user mode.</para>
</listitem>
<listitem>
<para>Type:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive

</entry>
</row>
</tbody></tgroup></informaltable>

<para>For most users, that should be enough. :-) Mondoarchive will
usually autodetect your hardware and configure it for you.</para>
<para>If you are a power user (or you like to control every detail
of how Mondo runs) then you may want to look at the command-line
switches. For example:-</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -Ow9 -gF -I /home

</entry>
</row>
</tbody></tgroup></informaltable>

<para>cdrecord or wodim will tell you where your CD recorder lives, in SCSI
terms, which looks like '0,0,0'. The previous call to mondoarchive tells
Mondo to backup everything to a 4x CD-RW drive that has
a CD-RW disk in it. (Use -Oc instead of -Ow if you are using
CD-R.)</para>
<para>Please put the first CD-R(W) in the drive now. You will be
prompted to insert CD #2 but you will not be prompted to insert the
first disk. However, if you forget, do not worry: if Mondo fails to
write the first (or any) disk, it will offer to retry, abort or
fail.</para>
<para>Find the speed/compression
compromise that best suits your needs. Here maximum (-9) compression level is used.</para>
<para>If you are using cron then please consult the chapter that Conor Daly has dedicated to that <link linkend="backup-cron">topic</link>
</para>
</sect1>

<sect1 id="backup-cmd">
<title>Backup Commands and Options</title>

<para>Backup Command:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

mondoarchive &lt;-option1&gt; &lt;-option2&gt; ... &lt;-optionN&gt;

</entry>
</row>
</tbody></tgroup></informaltable>

<para>E.g.,</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -E "/mnt/dos /mnt/cdrom" -9 -Oc 8

</entry>
</row>
</tbody></tgroup></informaltable>

<para>Would create backup CD to a CD-R disc at the highest
compression level, writing at speed 8 and ignoring the /mnt/dos and
/mnt/cdrom directories.</para>
<para>To see a detailed list of switches and their meaning, see the
<ulink url="http://www.mondorescue.org/docs/mondoarchive.8.html">HTML
man page</ulink> on the website or type 'man mondoarchive' at the
console.</para>
<sect2 id="backup-cmd-cdr">
<title>Standard Example With CD-R</title>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -Oc 2 -g

</entry>
</row>
</tbody></tgroup></informaltable>

<para>Replace '2' in '-Oc 2' with the writer's speed. If
mondoarchive cannot find your CD-R then please add '-d 0,0,0' (or
whatever your CD writer's SCSI node is; usually, it is 0,0,0) to
the call.</para>
<para>Please insert the first disk in the writer while the PC is
chugging away. If Mondo needs additional CD-R(W) then it will ask
for them.</para>
</sect2>
<sect2 id="backup-cmd-cdrw">
<title>Standard Example With CD-RW</title>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -Ow 2 -g

</entry>
</row>
</tbody></tgroup></informaltable>

<para>Replace '2' in '-Ow 2' with the writer's speed.</para>
</sect2>
<sect2 id="backup-cmd-tape">
		<title>Standard Example With Tape</title>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -Ot -d /dev/st0 -g

</entry>
</row>
</tbody></tgroup></informaltable>

</sect2>
<sect2 id="backup-cmd-failsafe">
		<title>Standard Example With Failsafe kernel</title>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -k FAILSAFE -Ow 2

</entry>
</row>
</tbody></tgroup></informaltable>

<para>If you have problems during the restore phase, due to your kernel 
		(which may be the case on some distributions), you may want to explore the Failsafe
		approach, In order for this option to work you'll have to get 
		the mindi-kernel tarball or package for your distribution.</para>
</sect2>
<sect2 id="backup-cmd-network">
		<title>Standard Example With Network Backup</title>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		bash# mount 192.168.1.3:/home/nfs -t nfs /mnt/nfs
</entry>
</row>
<row>
		<entry>
		bash# mondoarchive -OVn 192.168.1.3:/home/nfs -g -s 200m
</entry>
</row>
<row>
		<entry>
		bash# umount /mnt/nfs

</entry>
</row>
</tbody></tgroup></informaltable>

<para>The resultant ISO's can be burned to CD's if you want (which
isn't a good idea unless you're a Mondo expert because they'll try
to restore over a network by default, which is silly because the
archives are on the CD's). Or, you can boot from the Mindi media
(or mondorescue.iso) and hit ENTER a few times to restore.</para>
<para>Those ISO images can also be used for a PXE restore. For this 
		to work, please refer to the file README.pxe provided with 
		your mindi package.
</para>
</sect2>
</sect1>
</chapter>

<chapter id="backup-cron">
<title>HOWTO run mondo interactively using cron</title>

<sect1 id="backup-cron-overview">
<title>Overview</title>

<para>
		Mondoarchive is designed to run interactively (at least where
 media changes are necessary). Cron does not allow user interaction
 with a job. This section addresses the problem by using screen as a
 wrapper for mondo.
</para>
<para>
		This section is Copyright 2003 Conor Daly.
</para>
</sect1>
<sect1 id="backup-cron-intro">
		<title>Introduction</title>

<para>
Mondoarchive is designed to run interactively. That's not strictly
 true, if you run mondoarchive without the '-g' switch, it will just
 run. However, there is a problem where media changes are necessary.
 The user must change the media and tell mondoarchive that the change
 has been done. The problem lies in the fact that cron does not allow
 user interaction with a job. If you schedule a mondoarchive job via
 cron, you better be sure it needs only one media. In practical terms,
 this means using tapes or ISOs (if CD-R(W) is your backup medium).
 However, for tape users, there's always the possibility that the
 backup will overflow the tape while for CD-R(W) users, there is the
 added hassle of burning the ISOs in the morning. If your CD_R(W)
 backup routinely occupies more than one media, this is not for you
 (use the ISO option and burn the CDs in the morning). This HOWTO
 addresses the problem by using screen as a wrapper for mondo.
</para>
</sect1>
<sect1 id="backup-cron-who">
		<title>Who should read this?</title>
<sect2><title>Insurance</title>
<para>
Mondo users who wish to automate the backup and whose backups
 routinely occupy close to one media are the best audience. If you
 backup to tape, the occasion will arise when the backup will overflow
 your tape. In this instance, mondoarchive will ask for another tape.
 If you're using cron to start the backup, you won't be able to tell
 mondo that the new tape is mounted and the backup will fail. If you
 backup to CD-R(W), the same situation will arise but sooner.
 </para>
 </sect2>
 <sect2><title>Efficiency</title>
<para>
If your backup already occupies two media, this method will allow
 as much of the backup as possible to proceed during quiet periods.
 Time the backup to start with enough time to complete the first media
 shortly before the operator arrives for work. The next media can
 be mounted and the backup completed asap and minimises the time for
 which users are inconvenienced by the backup (eg. database locked...).
 </para>
 </sect2>
 </sect1>
 <sect1 id="backup-cron-problem">
		 <title>The Problem</title>
<sect2><title>Cron's environment</title>
<para>
When a user submits a job with cron, their environment is not
 preserved. This is reasonable since cron jobs are typically ongoing
 and may be adversely affected if the user's environment changes subsequent
 to the cron submission. Thus, a cron job should call a script that
 set's up the correct environment before starting the user's desired
 program. The 'at' command does this nicely.
 </para>
 </sect2>
 <sect2><title>Interactivity</title>
<para>
When a job is started with cron, it runs as a background process.
 No interaction with the program is possible (unless it is capable
 of interacting via a FIFO or some such) except termination via its
 pid. The only program that I know of that allows such interaction
 and serves as a wrapper for other processes is 'screen'
 </para>
 </sect2>
 <sect2><title>Screen</title>
<para>
There's one little problem with screen though. It expects to
 attach to a terminal when it first starts. This won't happen under
 cron so screen will fail. Fortunately, screen comes with a "start
 detached" (-d) option.
 </para>
 </sect2>
 </sect1>
 <sect1 id="backup-cron-solution">
		 <title>The Solution</title>
<sect2><title>Briefly</title>
<para>
<itemizedlist>
<listitem>
		<para>Use 'at' to run your usual mondoarchive command</para>
</listitem>
<listitem>
		<para>Grab the script generated by 'at' and make a copy of it</para>
		</listitem>
<listitem>
		<para>Edit that script to use 'screen -m -d &lt;your mondoarchive command&gt;'</para>
		</listitem>
<listitem>
		<para>Run that script from your crontab</para>
		</listitem>
<listitem>
		<para>Use 'screen -r' to attach to the mondo screen to change CDs</para>
		</listitem>
<listitem>
		<para>Use '&lt;CTRL&gt;-a d' to detach the screen again</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2><title>In Detail</title>
		<sect3><title>at</title>
<para>
Use the 'at' command to submit your usual mondoarchive command.
My mondoarchive command is:
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		# mondoarchive -D -Ow 10 -S /home/mondo/ -T /home/mondo/ -g \
		-E "\"/home/cdaly/GIS/W2K /home/mondo/\"" -9

</entry>
</row>
</tbody></tgroup></informaltable>
<para>
		To submit the mondoarchive command with 'at' do:
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

	# at now + 5 min 
mondoarchive -D -Ow 10 -S /home/mondo/ -T /home/mondo/ -g \
-E "\"/home/cdaly/GIS/W2K /home/mondo/\"" -9 
&lt;CTRL&gt;-d
</entry>
</row>
</tbody></tgroup></informaltable>
<para>

This generates a script in /var/spool/at/ which sets up your
 environment and runs your command. Grab this script to become your
 cron job.
 </para>
 </sect3>
 <sect3><title>Grab the 'at' script</title>
<para>
		Make a copy of the script generated by the 'at' command to use
		as the basis for your cron job.
		</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

grep mondo /var/spool/at/* 
</entry>
</row>
<row>
		<entry>
cp /var/spool/at/&lt;file-from-grep&gt; /root/mondo-cronscript
</entry>
</row>
</tbody></tgroup></informaltable>
<para>

		You'll need to edit this.
</para>
 </sect3>
<sect3><title>Edit mondo-cronscript</title>
<para>
To use screen, you'll need to edit the cronscript and add the
 screen command. My mondo-cronscript looks like:
</para>
<screen>

#!/bin/sh 
# atrun uid=0 gid=0 
# mail    cdaly 0 umask 22 
PWD=/root; export PWD 
XAUTHORITY=/root/.xauthyOrD4f; export XAUTHORITY 
HOSTNAME=bofh.irmet.ie; export HOSTNAME 
PVM_RSH=/usr/bin/rsh; export PVM_RSH 
QTDIR=/usr/lib/qt-2.3.1; export QTDIR 
LESSOPEN=\|/usr/bin/lesspipe.sh\ %s; export LESSOPEN 
XPVM_ROOT=/usr/share/pvm3/xpvm; export XPVM_ROOT 
KDEDIR=/usr; export KDEDIR 
USER=root; export USER 
LS_COLORS=no=00:fi=00:di=01\;34:ln=01\;36:pi=40\;33:so=01\;35:bd=40\;33\;01:cd=40\;33\;01:or=01\;05\;37\;41:mi=01\;05\;37\;41:ex=01\;32:\*.cmd=01\;32:\*.exe=01\;32:\*.com=01\;32:\*.btm=01\;32:\*.bat=01\;32:\*.sh=01\;32:\*.csh=01\;32:\*.tar=01\;31:\*.tgz=01\;31:\*.arj=01\;31:\*.taz=01\;31:\*.lzh=01\;31:\*.zip=01\;31:\*.z=01\;31:\*.Z=01\;31:\*.gz=01\;31:\*.bz2=01\;31:\*.bz=01\;31:\*.tz=01\;31:\*.rpm=01\;31:\*.cpio=01\;31:\*.jpg=01\;35:\*.gif=01\;35:\*.bmp=01\;35:\*.xbm=01\;35:\*.xpm=01\;35:\*.png=01\;35:\*.tif=01\;35:; export LS_COLORS 
MACHTYPE=i386-redhat-linux-gnu; export MACHTYPE 
MAIL=/var/spool/mail/root; export MAIL 
INPUTRC=/etc/inputrc; export INPUTRC 
BASH_ENV=/root/.bashrc; export BASH_ENV 
LANG=en_US; export LANG 
LOGNAME=root; export LOGNAME 
SHLVL=1; export SHLVL 
II_SYSTEM=/usr/local/ingres; export II_SYSTEM
USERNAME=root; export USERNAME 
HOSTTYPE=i386; export HOSTTYPE 
OSTYPE=linux-gnu; export OSTYPE 
HISTSIZE=1000; export HISTSIZE 
LAMHELPFILE=/etc/lam/lam-helpfile; export LAMHELPFILE 
PVM_ROOT=/usr/share/pvm3; export PVM_ROOT 
HOME=/root; export HOME 
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass; 
export SSH_ASKPASS 
PATH=/usr/local/ingres/ingres/bin:/usr/local/ingres/ingres/utility:/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin; export PATH 
cd /root || {
echo 'Execution directory inaccessible' >&2     
exit 1 
} 
screen -m -d mondoarchive -D -Ow 10 -S /home/mondo/ \
-T /home/mondo/ -g -E "\"/home/cdaly/GIS/W2K /home/mondo/\"" -9
#done

</screen>
<para>
		The crucial line is this one:
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
		screen -m -d mondoarchive -D -Ow 10 -S /home/mondo/ -T /home/mondo/ -g -E "\"/home/cdaly/GIS/W2K /home/mondo/\"" -9
</entry>
</row>
</tbody></tgroup></informaltable>
<para>
This uses 'screen -m -d' to <quote>-m -d Start screen in "detached" mode. This creates a new session
 but doesn't attach to it. This is useful for system startup scripts.
 (From 'man screen')
</quote>	
</para>
<para>
	When screen starts, it will be in the background and "detached".
</para>
</sect3>
<sect3><title>Run the thing with cron</title>
<para>
		To get the whole thing running, do:
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
		crontab -e
		</entry>
</row>
</tbody></tgroup></informaltable>
<para>
and add the following lines:
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
&num; run mondoarchive at 23:59 weekdays 
</entry>
</row>
<row>
		<entry>
59 23 * * 1-5 /root/mondo-cronscript
</entry>
</row>
</tbody></tgroup></informaltable>
<para>
		Your mondoarchive job will run at 23:59 monday-friday.
</para>
<para>
DON'T FORGET TO CHANGE TAPES!
</para>
</sect3>
<sect3><title>Getting at it...</title>
<para>
Once your cron job is running regularly, you'll want to get to
 it to change tapes and check status etc.
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
screen -r 
</entry>
</row>
</tbody></tgroup></informaltable>
<para>
attaches to the running screen where you can change CDs etc
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
&lt;CTRL&gt;-a d 
</entry>
</row>
</tbody></tgroup></informaltable>
<para>
detaches the running screen again.
</para>
</sect3>
<sect3><title>Caveat</title>
<para>
The script generated by 'at' is unique to the user/machine combination.
 You MUST regenerate it on each machine where it will be used. Using
 the one above will NOT work for you. MAKE YOUR OWN!
</para>
</sect3>
</sect2>
</sect1>
</chapter>

<chapter id="compare">
<title>Compare</title>
<para>Before you trust your backup CD, make sure your BIOS can boot
CD (and that it is configured to do so).</para>
<itemizedlist>
<listitem>
<para>Boot from the first CD.</para>
</listitem>
<listitem>
<para>Type:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

LILO: compare

</entry>
</row>
</tbody></tgroup></informaltable>

<para>Follow the on-screen instructions. This will compare your
backup against your original file system.</para>
<para>FYI, no bad archives have been created since May 2000. Having
said that, I would still encourage you to run Compare before
trusting the backups.</para>
<para>To view the file differences, look at the file
'/tmp/changed.txt'. Normal differences include logs and other
dynamic system files that changed during the time of the backup
process. If only a few files differ - e.g. files in /var, files
ending in '&amp;#732;', logs, temporary files, /etc/mtab,
/etc/adjtimex - then you know the archives are good. Your logs will
change over time, too. Bear in mind that a difference between the
backup and the live copy does not&nbsp;indicate a flaw in Mondo. It
indicates that you or your filesystem changed the files, so the
backup is no longer 100% up to date. However, that is inevitable,
as your filesystem changes from moment to moment (which is why you
back it up regularly).</para>

</chapter>

<chapter id="restore">
<title>Restore</title>

<sect1 id="restore-overview">
<title>Overview</title>

<para>I hope you don't have to restore from scratch very often.
It's nerve-wracking until you realize that Mondo's restore engine
is very reliable.
</para>
<para>If you find that you cannot make your PC boot from the CD,
take heart: the first backup media of each set contains disk
images to give you the same functionality as this media (minus the
archives, of course) on other boot media. Remember, your Mondo CD is a
fully functional CD-based mini-distribution as well as a recovery
CD.</para>
<para>You can choose from the following modes:</para>

<variablelist>
<varlistentry><term>Interactive</term>
<listitem><para>Restore step-by-step, or restore a subset of the
archives. This is the method you should mainly use for your
recovery needs.</para>
</listitem></varlistentry>
<varlistentry><term>Nuke</term>
<listitem><para>Wipe your drives and restore everything,
automatically and unattended. Warning: This does exactly what is
says, so be careful using it.</para>
</listitem></varlistentry>
<varlistentry><term>Expert</term>
<listitem><para>Boot to a shell prompt. If you want to do anything
creative, you should boot into Expert Mode. It's called expert, I
think that says it all.</para>
</listitem>
</varlistentry>
</variablelist>

<para>If the CD is not found during the initial restore CD boot
attempt, reboot the PC a second time prior to reporting failure.
Occasional timing errors and hardware/software/system conflicts do
occur.</para>
</sect1>

<sect1 id="restore-tips">
<title>Tips and Tricks</title>

<para>Ideally, restore your system to a spare hard drive to test
the integrity and reliability of your disks. To do that, either
edit your mountlist to make the devices point to your spare hard
drive, or swap your hard drive cables between boots.</para>
<para>At a bare minimum, compare your CD against your file system
before you decide whether to trust them.</para>
<para>To test Mondo's ability to handle your LILO or GRUB boot
loader and accompanying configuration file:</para>
<itemizedlist>
<listitem>
<para>Boot from the backup CD into Expert Mode</para>
</listitem>
<listitem>
<para>Type:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondorestore -Z mbr

</entry>
</row>
</tbody></tgroup></informaltable>

<itemizedlist>
<listitem>
<para>To fix any mess it made (not that it should) type:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
		bash# mount-me
</entry>
</row>
<row>
<entry>
		bash# chroot /mnt/RESTORING
		</entry>
</row>
<row>
<entry>
		</entry>
</row>
<row>
<entry>
bash# lilo OR grub-install '(hd0)'
		</entry>
</row>
<row>
<entry>
bash# exit
</entry>
</row>
<row>
<entry>
		bash# unmount-me

</entry>
</row>
</tbody></tgroup></informaltable>

<itemizedlist>
<listitem>
<para>If it did not work then please copy /tmp/mondorestore.log to
to your hard disk, USB key, ..., gzip it and e-mail it to the
&ML;.</para>
</listitem>
</itemizedlist>

<sect2>
	<title>Barebones (Nuke) Restore</title>
<para>Imagine that your hard drives happen to be wiped,
deliberately or accidentally. Or, imagine that you want to clone
your existing operating system. In either case, you want to run in
Nuke Mode.</para>
<para>If you want to wipe everything and restore your whole system
from CD, please:</para>
<itemizedlist>
<listitem>
<para>Use the -H option when invoking mondoarchive</para>
</listitem>
<listitem>
<para>Boot from the first Mondo CD</para>
</listitem>
<listitem>
<para>Press RESTORE&lt;enter&gt;</para>
</listitem>
<listitem>
<para>Insert the subsequent CD when asked</para>
</listitem>
<listitem>
<para>Watch the screen for errors</para>
</listitem>
</itemizedlist>
<para>That's it. The restoration process for tape or NFS users is
similarly easy: just boot, answer the on-screen prompts, and
wait.</para>
<para>Now, should something go wrong, you will be able to examine
/tmp/mondorestore.log to see what happened. All is not lost. You
can fdisk and format the partitions yourself, using the tools that
come with the CD. You can then run mondorestore in Interactive Mode
and say 'no' when asked if you want Mondo to partition/format your
drives.</para>
<para>If you want to see exactly what Mondo is doing while it is
restoring, press &lt;Alt&gt;&lt;left cursor&gt; to view its
logfile, in a virtual console, scrolling past.</para>
</sect2>
<sect2>
<title>Interactive Restore</title>
<para>Interactive Mode is for people who have lost a subset of data
from their live file system, or perhaps who have lost some data
from their latest backup and want to restore a subset of data from
an earlier backup. If you want to restore only some files or if you
do not want to prep/format your drives, then you should boot into
Interactive Mode. The interactive mode will provide an 'Editing
mountlist screen' that allows you to setup a different disk
geometry.</para>
<para>To move up and down between partitions in the 'Editing
mountlist screen', use the Up and Down arrows. To move between the
main window and the buttons at the bottom, use the Left and Right
cursor keys. TAB shifts focus from one screen item to the other in
a haphazard fashion, owing to the complexities of the Newt
library.</para>
<para>If you want to restore selectively, just press &lt;enter&gt;
and follow the on-screen instructions. You will be asked to say
yes/no to a range of questions.</para>
<para>If you are planning to modify your partition table, you would
do well to read up on the partition layout and the use of fdisk, it
gives you some pointers on how to best lay out partitions.
You can find a good guide at 
<ulink url="http://www.tldp.org/HOWTO/Partition/index.html">http://www.tldp.org/HOWTO/Partition/index.html</ulink>
</para>
<para>If you want to restore a subset of the backup then:</para>
<itemizedlist>
<listitem>
<para>Boot from the CD</para>
</listitem>
<listitem>
<para>Type:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# interactive

</entry>
</row>
</tbody></tgroup></informaltable>

<itemizedlist>
<listitem>
<para>Then, after booting, answer the questions as follows:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		Do you want to partition your devices? no
		</entry>
</row>
<row>
<entry>
Do you want to format them? no
		</entry>
</row>
<row>
<entry>
Do you want to restore everything? no
		</entry>
</row>
<row>
<entry>
Do you want to restore something? yes
		</entry>
</row>
<row>
<entry>
Which path do you want to restore? /mydata [e.g.]
		</entry>
</row>
<row>
<entry>
Do you want to run LILO to setup your boot sectors? Yes

</entry>
</row>
</tbody></tgroup></informaltable>

</sect2>

<sect2>
<title>Expert Restore</title>
<para>If you are planning to modify your partition table, you would
do well to read up on the partition layout and the use of fdisk, it
gives you some could pointers on how to best lay out partitions.
You can find good a guide at 
<ulink url="http://www.ibiblio.org/pub/Linux/docs/HOWTO/mini/Partition/index.html">http://www.ibiblio.o
rg/pub/Linux/docs/HOWTO/mini/Partition/index.html</ulink></para>
<para>To restore manually, please:</para>
<itemizedlist>
<listitem>
<para>Boot from the first CD, then type:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# expert

</entry>

</row>
</tbody></tgroup></informaltable>

<itemizedlist>
<listitem>
<para>Then do whatever you like. :) You may type the following, of
course:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondorestore

</entry>
</row>
</tbody></tgroup></informaltable>
</sect2>
		
<sect2>
<title>Modified partitions - Restore to a different disk geometry</title>
<para>One of the nice things about Mondo is that it lets you wipe
your existing system and restore it in any layout you like (within
reason). You can move from non-RAID to RAID,install and utilize
additional drives, move from ext2 to ReiserFS, etc., all without
risking the loss of data.</para>
<para>If the user excluded a particular partition from backup and
specifically excluded it from the mountlist itself using -E then
Mondo will insert a small (32MB) partition at restore-time, in
order to avoid having to re-jig fstab, the partition table,
etc.</para>
<para>To do this:</para>
<itemizedlist>
<listitem>
<para>Boot into Expert Mode, then type:</para>
</listitem>
</itemizedlist>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondorestore

</entry>
</row>
</tbody></tgroup></informaltable>

<itemizedlist>
<listitem>
<para>(edit the mountlist using the on-screen editor)</para>
</listitem>
</itemizedlist>
<para>If you want to move from ext2 to ReiserFS, you can do it here
(so long as your kernel supports ReiserFS). Ditto for XFS, JFS or
ext3, ext4.</para>
<para>Mondorestore will try to modify your /etc/fstab to reflect
changes you have made to the mountlist. If you are not using LILO,
you can still create your own /mnt/RESTORING/etc/lilo.conf and run
lilo -r /mnt/RESTORING to configure your boot sectors and Master
Boot Record.</para>
<para>Mondo (technically, Mindi on behalf of Mondo) creates a file
called a mountlist. This can be found on the ramdisk at
/tmp/mountlist.txt; it looks something like this:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		/dev/hda1	/mnt/windows	vfat		4096000
</entry>
</row>
<row>
<entry>
		/dev/hda5	/				reiserfs	6023000
</entry>
</row>
<row>
<entry>
		/dev/hda6	/tmp			xfs			955000
</entry>
</row>
<row>
<entry>
		/dev/hda7	/usr			ext3		4096000

</entry>
</row>
</tbody></tgroup></informaltable>

<para>It is fairly easy to understand the list. Each line refers to
a single device/partition. The line format is:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

&lt;device&gt; &lt;partition&gt; &lt;format&gt; &lt;Kilobytes&gt;

</entry>
</row>
</tbody></tgroup></informaltable>

<para>If you have added a hard drive and want to take advantage of
the additional space, you could amend the above mountlist to
read:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		/dev/hda1	/mnt/windows	vfat		6096000
</entry>
</row>
<row>
<entry>
		/dev/hda5	/				reiserfs	9123000
</entry>
</row>
<row>
<entry>
		/dev/hda6	/tmp			xfs			955000
</entry>
</row>
<row>
<entry>
		/dev/hdb1	/usr			ext3		8192000
</entry>
</row>
<row>
<entry>
		/dev/hdb2	/home			xfs			8192000

</entry>
</row>
</tbody></tgroup></informaltable>

<para>This assumes that your old hard drive is /dev/hda and the new
hard drive is /dev/hdb.</para>
<para>Or, if you want to add RAID support, create a new
/etc/raidtab on the ramdisk (which is beyond the scope of this
HOWTO) and then write a mountlist like this:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

		/dev/hda1	/mnt/windows	vfat		6096000
</entry>
</row>
<row>
<entry>
		/dev/md0	/				reiserfs	9123000
</entry>
</row>
<row>
<entry>
		/dev/md1	/tmp			xfs			955000
</entry>
</row>
<row>
<entry>
		/dev/md2	/usr			ext3		8192000
</entry>
</row>
<row>
<entry>
		/dev/md3	/home			xfs			8192000

</entry>
</row>
</tbody></tgroup></informaltable>

<para>So long as your /etc/raidtab file is sane, Mondo can
automatically partition and format your disks for you, including
the RAID devices.</para>
<para>Once you have finished editing /tmp/mountlist.txt using
mondorestore's built-in editor then you may choose 'OK'. Please
note that this will not write anything to your hard disk. You will
only reformat or repartition your disks if you say 'Yes' when asked
if you want to do those things.</para>
</sect2>

<sect2>
<title>Advanced</title>
<para>It is now possible to restore to a live filesystem using
Mondo. In other words, you do not have to boot your PC from your
media in order to restore files. Mondo was originally designed
for disaster recovery - situations in which you cannot boot your
PC. If you can boot your PC, it is not really a disaster, is it? :)
Well, if you have wiped out your priceless collection of "MTV's
Bjork Unplugged" MP3's, perhaps it is. Anyway, just type this as
root</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondorestore

</entry>
</row>
</tbody></tgroup></informaltable>

<para></para>
<informaltable><tgroup cols="2"><tbody>
<row>
<entry>
<ulink url="images/rest1.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/rest1-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Choose your type of backup media. The live restoration process is
very similar to what you'll experience if you type mondorestore
with no parameters after booting from a Mondo media.
</entry>
</row>
<row>
<entry>
<ulink url="images/rest2.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/rest2-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Hit 'OK' when you have inserted the tape/CD. If you generated a
tape backup, the tape itself should be enough. If you generated a
CD backup, the first CD should be enough. Otherwise, you may need
the boot media.
</entry>
</row>
<row>
<entry>
<ulink url="images/rest3.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/rest3-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Flag the files and directories you wish to restore. Use the 'More'
and 'Less' buttons to open and close subdirectories.
</entry>
</row>
<row>
<entry>
<ulink url="images/rest4.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/rest4-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Specify the location to restore the files to. In general, '/' is
appropriate. If you do not want to overwrite newer versions of the
files you are restoring then specify /tmp/BKP or similar as the
restore path.
</entry>
</row>
<row>
<entry>
<ulink url="images/rest5.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/rest5-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Mondorestore will retrieve configuration information from the
media. (The sample screen is for tape users. CD users will see
something different.)
</entry>
</row>
<row>
<entry>
<ulink url="images/rest6.png"><inlinemediaobject><imageobject>
<imagedata fileref="images/rest6-mini">
</imageobject></inlinemediaobject>
</ulink>
</entry>
<entry>
Data will be restored to the hard disk - first the regular files,
then any big (32MB or greater) files in the restore set.
</entry>
</row>
</tbody></tgroup></informaltable>

<para>I hope this manual was useful for you.</para>
</sect2>
</sect1>

</chapter>

<chapter id="faq">
<title>FAQ</title>

<sect1 id="faq-overview">
<title>Overview</title>
<para>Are the errors from Mindi or Mondo? Look at
		/var/log/mondoarchive.log or /var/log/mindi.log (if run alone). Pipe
screen errors which relate to the creation of boot disk(s) and or
data disk(s) to a text file.</para>
<para>See the &WWW; for details. If you are going to e-mail
&ML; then
please attach that text file (zipped!) and give :</para>
<itemizedlist>
<listitem>
<para>Your kernel version (uname -a)</para>
</listitem>
<listitem>
		<para>Your Linux distro's name and version (/etc/distro-release)</para>
</listitem>
<listitem>
		<para>Whether your kernel supports initrd and loopfs; it should! (grep -E '^CONFIG_BLK_DEV_LOOP|^CONFIG_BLK_DEV_INITRD' /usr/src/linux/.config </para>
</listitem>
<listitem>
<para>What sort of PC you are using, including hard disk configurations (results of dmidecode, lshw, fdisk -l are useful here)</para>
</listitem>
</itemizedlist>
<para>Mondo is freely available under the GPL and you are given it for no charge.
When you e-mail the &ML;, please bear that in mind.</para>
</sect1>
<sect1 id="faq-general">
<title>General Questions</title>

<qandaset>
<qandaentry>
		<question><para>Q: What is "Mindi"?</para></question>
		<answer>
<para>A: Mindi, a.k.a. Mindi-Linux, makes a mini-distribution from
your kernel, modules, modules, tools and libraries. It can also
generate an El Torito 2.88/5.76MB boot disk image. Mondo uses Mindi to
create a mini-distro, then boots from it and runs on it.</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: Why is it called "Mondo"?</para></question>
		<answer>
<para>A: The Teenage Mutant Ninja Turtles described cool things as
'mondo'. Hugo Rabson wasn't sure what to call this project. 'Faust' was one
idea he had, partly as a dig at his former boss who practically owned
him because of his legal status at the time. In the end, he chose
something short and distinctive.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Mondo does not work on my system. It
				keels over and dies. What's wrong?</para></question>
<answer>
		<para>A: It works on Red Hat 7.x/8/9, RHEL 2.1/3/4, Mandrakelinux 8.x/9.x/10.x/200x, Fedora 4/5/6, Debian 3.x, most flavors
				of SuSE/SLES, some flavors of Slackware, etc.
The more distributions we support, the more moving targets we have to
hit. Please bear this in mind when e-mailing the list. :) If you
would like to help us by beta-testing Mondo (or Mindi) on your PC
then we would be very interested in working with you to work around
the eccentricities of your Linux distro. However, rest assured, 90%
of the bugs reported are actually symptoms of FooLinux X.Y's
unique way of doing things.</para>
<para>Please send a copy of <filename>/var/log/mondoarchive.log</filename> to the &ML;
along with a description of your distro, your kernel, etc.
Oh, and before sending it, please try to read it.</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: What if the error is in Mindi?</para></question>
		<answer>
				<para>A: Please send a copy of <filename>/var/log/mindi.log</filename> to the &ML;
along with a description of your distro, your kernel, etc.
Oh, and before sending it, please read it as it is much easier to understand it.</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: Can I trust Mondo?</para></question>
		<answer>
<para>A: Mondo has generated reliable archives since May 2000.
Lost data occured by using bad CD-R disks and not verifying their
contents. Some users have not tried booting from their CD until
crunch time. Remember to boot into Compare Mode to verify the
backup before you trust it. If Mondo did not work, you would not be
reading this. If it does not work for you, your kernel is usually
the culprit. Check <link linkend="overview-sysrq-kernelreq">Linux Kernel
support</link> to see what your kernel should support. Please
e-mail the list if you need some help with this.</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: How do I report a bug?</para></question>
		<answer>
				<para>A: E-mail the bug report (mondo.err.xxxxx.tgz) to the &ML;. 
						Ok you've read it already but it's really important if you want help.
If you don't send a logfile then there isn't a lot that we can do for you, so
PLEASE include a logfile at the very least.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: I think Mondo should (...insert
suggestion here...) and I have rewritten it accordingly. Would you
like to see my patch?</para></question>
<answer>
<para>A: Absolutely! :-) The best way for you to make Mondo do what
you want is to modify it and then send the patch. That way, we
can all benefit.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: I think Mondo should (...insert
suggestion here...); will you incorporate this feature for me,
please?</para></question>
<answer>
<para>A: Please enter the suggestion in our feature system at &WWW;
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Mondo says, "XXX is missing," and
				then terminates. What's wrong?</para></question>
<answer>
<para>A: A good Linux distribution should contain XXX but the
designers, in their infinite wisdom, decided not to include that
particular tool. Check <ulink url="http://www.mondorescue.org/downloads.shtml#dependencies">Related
		Linux Packages</ulink> and install the missing package. If that
fails, contact the vendor/distributor/manufacturer/designer of your
distro.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Can Mondo handle multi-CD backups and
				restores?</para></question>
<answer>
<para>A: Yes, up to twenty CD per set. This 20-CD limit results
from laziness on mondorescue's part. I'll be removed in the future. However, if
your system occupies more than 20 CD, may it's time for another type of media ?
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Can Mondo handle Linux/Windows
				dual-boot systems?</para></question>
<answer>
<para>A: Yes. If your system currently boots into Linux or Windows
via LILO, you can backup and restore both OSes at the same time
using Mondo. If you are using NTFS then add the switch, '-x
&lt;device&gt;'.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Can Mondo backup Windows-only
				systems?</para></question>
<answer>
<para>A: Not at the moment.
</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: Does Mondo support LVM?</para></question>
		<answer>
<para>A: Mondo supports LVM v1 and v2. Mondo backs up and restores your
existing setup but it does not make it easy for you to change your
LVM configuration, at the moment. You have to edit <filename>/tmp/i-want-my-lvm</filename> at boot-time
to do that.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: What if I don't use LILO? What if I
				use GRUB?</para></question>
<answer>
<para>A: GRUB is supported by Mondo.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: I get the error, 'Cannot find
				/tmp/dev.0' or 'Cannot mount device 0x0701'; what do I do?</para></question>
<answer>
		<para>A: Please free up <filename>/dev/loop0</filename> using 'losetup /dev/loop0 -d' to
unmount that loop device. If your OS will not let you do that,
contact your local support group or Linux vendor.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Can I create a Mondo CD and then use
				it to create an archive of any OS on any PC?</para></question>
<answer>
<para>A: Not yet. You can use Mondo to backup Linux or
Linux/Windows dual boot. One day, Mondo will let you backup
partitions it can't read or write, by treating each partition as
one long file to be backed up. This file will be chopped,
compressed and archived like any other big file.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why do you insist on putting media
disk images on Mondo CD? They waste space and I never use them. The
CD works just fine, so why keep the media disk images?</para>
</question>
<answer>
<para>A: Because. It helped us in the past. If you
really, truly want them gone then please submit a patch to make
them optional.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why doesn't the Mondo project have a
cool-looking animal logo?</para></question>
<answer>
<para>A: Excellent question! Please submit graphics of candidate
		animal logos!</para>
		</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Is there a Mondo user 'Code of
				Conduct?</para></question>
<answer>
<para>A: Yes. Read the HOWTO. Submit patches. Recommend realistic
improvements. Be courteous to other users on the discussion list.
Do not whine.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>

<sect1 id="faq-booting">
<title>Booting and Kernel related Questions</title>
<qandaset>
<qandaentry>
<question><para>Q: When I try to boot from the Mondo CD,
it says, "VFS: Unable to mount root fs." I am using an old Debian
distro. What do I do?</para></question>
<answer>
<para>A: Ask Debian's designers why they, unlike every other distro
I can find, have included cramfs and other 'goodies' with their
kernel. In the meantime, please use '-k FAILSAFE' in your command
line when calling Mondo.</para>
<para>A: From Sarge onwards, all stock Debian 2.6 kernels should work fine. If
you are still using stock Debian 2.4 kernels, FAILSAFE is the way to go.
Of course, if you have compiled your own kernel and experience problems,
FAILSAFE is the way to go as well, but this is not really
Debian-specific.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: When I try to boot from the Mondo CD,
it says, "Cannot mount root fs - kernel panic," or something
similar. What do I do?</para></question>
<answer>
<para>A: Recompile your kernel (or use '-k FAILSAFE'). Take a look
at <link linkend="overview-sysrq-kernelreq">Linux Kernel support</link> to
see what your kernel must support.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: When I try to boot from the Mondo CD,
				it says, "UPGRADE YOUR RAM". What does that mean?</para></question>
<answer>
<para>A: Recompile your kernel and add Virtual memory file system
support. Take a look at <link linkend="overview-sysrq-kernelreq">Linux
Kernel support</link> to see what your kernel must support. (Of
course, if your PC has less than 64MB of RAM, you could always...
what's the phrase? I know, upgrade your RAM!)</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: When I try to boot from the Mondo CD,
it says something about not finding my CD-ROM drive and then it
blames the kernel. What does that mean?</para></question>
<answer>
		<para>A: Your kernel must support initrd, loopfs, IDE|SCSI|USB CD-ROM's, and
ramdisks. Take a look at <link linkend="overview-sysrq-kernelreq">Linux
Kernel support</link> to see what your kernel must support. If
your kernel does not support these things, Mondo will not boot from
your CD. However, when running Mindi, you may choose to use _its_
kernel instead of your own.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: The LILO Mondo media takes ages to
				boot. How can I speed it up?</para></question>
<answer>
<para>A: Edit mindi (it's a shell script, btw) and change
LILO_OPTIONS="" to LILO_OPTIONS="-c". This enables map compaction
in lilo and speeds up booting, for more info see the lilo man
page.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: I made a Mondo CD using the failsafe
kernel (i.e. I said 'no' when Mondo asked if I wanted to use my own
kernel). It still doesn't boot. Help!</para></question>
<answer>
<para>A: OK, now that is a bug. :-) I included a kernel with Mondo
(technically, with Mindi, which Mondo uses) to make sure that users
could use Mondo despite flaws in their own kernels. If you are
using Mondo/Mindi's kernel but still cannot boot from your Mondo CD
then please e-mail the &ML;.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why won't Mondo boot from my CD?
It says my kernel is flawed/outdated/ whatever, and when I wrote to
the ML, they told me the same thing... but I still don't get it. I
mean, my kernel works for everything else. Why not Mondo?</para></question>
<answer>
<para>A: Because Mondo makes a boot disk using your kernel. I bet
your other software doesn't do that. Also, not all kernels are
suitable for boot disks. I'm sorry but that's Life. Upgrade your
kernel and/or recompile it. Take a look at
<link linkend="overview-sysrq-kernelreq">Linux Kernel support</link> to see
what your kernel must support.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why do I only need a boot disk if I'm
				using a tape drive? Where are the data disks?</para></question>
<answer>
<para>A: On the tape. :-) The first 32MB of the tape will be set
aside for a large tarball containing the data disks, a list of all
files backed up, and other sundries. If Mondo and Mindi do their
respective jobs then you won't need additional media, just the
boot media and the tape(s).</para>
<para>As of 2.2.6 mondorescue does support OBDR for tapes. 
		So if you have a tape supporting that protocol such as HP tape readers, you may directly boot from the tape as well.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why does it say, "Process accounting
				FAILED" when I reboot?</para></question>
<answer>
<para>A: You were using Process Accounting. Red Hat (or whichever
distro you are using) does not provide a startup/shutdown script
yet. So, when you try to backup the process log, it just grows and
grows as Mondo tries to back it up. Mondo doesn't back it up
anymore and that's why. The unfortunate side-effect is... well,
what you see on your screen. Type 'touch /var/log/pacct' and then
'paccton' to fix the error message.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why does it say,
&amp;#8220;request_module[block-major-1]: Root fs not mounted VFS:
Cannot open root device "100" or 01:00 Please append a correct
"root=" boot option kernel panic: VFS: Unable to mount root fs on
01:00&amp;#8221; when i boot from the CD?</para></question>
<answer>
<para>A: Recompile your kernel and add initrd support. Take a look
at <link linkend="overview-sysrq-kernelreq">Linux Kernel support</link> to
see what your kernel must support.</para>
</answer>
</qandaentry>

<qandaentry>
<question><para id="TAPENICE">Q: My tape drive
doesn't play nicely with Mondo at boot-time. What do I do?</para></question>
<answer><para>A: Play with the 'mt' command (package mt-st). Use its setblksize and
defblksize switches to reconfigure your tape drive if necessary.
Some tape drives just are painful. If yours is one of
them then God help you. Mondo can handle any tape drive whose drive
and firmware can handle fopen(), fwrite(), fread() and fclose().
Mondo uses standard C libraries to talk to your tape streamer. If
your tape streamer can't handle that then you had better call a
priest. Either that or ask for a refund.
</para>
</answer>
</qandaentry>
</qandaset>
</sect1>

<sect1 id="faq-install">
<title>Installation related Questions</title>
<qandaset>
<qandaentry>
<question><para>Q: Why do I get, "newt.h not found," or
"popt.h not found," several times when I try to install
Mondo?</para></question>
<answer>
<para>A: You have not installed libnewt and/or libnewt-devel.
Please do so. Check <ulink url="http://www.mondorescue.org/downloads.shtml#dependencies">Related Linux
Packages</ulink> to see what Mondo requires and where you can get
tarballs and RPM's. Make sure you are using the right version of
newt/libnewt. Read the error messages carefully.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Newt won't compile when I try. What's
				the problem?</para></question>
<answer>
<para>A: You are probably missing popt.h, which newt needs to
compile, it can be found in the 'popt' package. Check your
distribution and see if they have popt, if not check
<ulink url="http://www.mondorescue.org/downloads.shtml#dependencies">Related Linux Packages</ulink> to
see where you can get it.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: I've just used up 6 CD-R, only to
				find that Mondo won't boot!</para></question>
<answer>
<para>A: You should have used CD-RW. ;) In the HOWTO, it gives
instructions on how to create a test CD (one, not six).</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para id="PACKREQ">Q: Lots of packages,
required by Mondo, are missing from my system. What do I do?</para>
</question>
<answer>
<para>
A: Install them. :) If you are using RPM or deb
then you'll be told which packages you need. Mondo offers a lot of
those packages on its
<ulink url="http://www.mondorescue.org/downloads.shtml">Download</ulink>
web page.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>

<sect1 id="faq-hardware">
<title>Hardware related Questions</title>
<qandaset>
<qandaentry>
		<question><para>Q: Can Mondo handle CD-RW?</para></question>
		<answer>
<para>A: Yes. Use '-Ow &lt;speed&gt; &lt;device&gt;' to make it
work.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Does Mondo support tape
				drives?</para></question>
<answer>
		<para>A: Yes. See above.</para>
		<para>Of course, mondo will relay on the kernel to support your tape drive. So you should first check that your kernel found it correctly. Use for example one of the following commands:</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
		bash# dmesg | grep tape
</entry>
</row>
<row>
<entry>
		bash# cat /proc/scsi/scsi
</entry>
</row>
<row>
<entry>
		bash# mt -f /dev/st0 status
</entry>
</row>
</tbody></tgroup></informaltable>


</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Does Mondo support my tape
				drive?</para></question>
<answer>
<para>A: If your tape drive and its firmware and the kernel-level
driver support fopen(), fread(), fwrite() and fclose() - standard C
library calls - then yes, Mondo should support it. If not, well,
you need a refund. :) Mondo plays nicely with any sane, sensible
drives. That's most of them, by the way. :) If your drive doesn't
play nicely with Mondo then you may try tinkering with setblksize
and defblksize using 'mt', or tweaking Mondo's block size by
recompiling it with make INTTAPE=4096 or INTTAPE=8192 or something.
Other than that, you need a priest or a refund.
Also, depending on the tape streamer model, a tape should be inserted 
in the tape drive before starting mondoarchive, otherwise it may not 
recognize the drive.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Sometimes, my laptop won't mount
				Mondo CD properly, or something. Umm...</para></question>
<answer>
<para>A: Please insert the CD, close the CD-ROM tray, wait a few
seconds and then press Enter to acknowledge insertion of the next
CD. Your laptop is on crack and is sucking a little too hard on the
pipe.</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: Does Mondo support Hardware RAID?</para></question>
		<answer>
<para>A: Yes. You may backup and restore RAID systems. You may also
backup a non-RAID system and restore as RAID (or vice versa) by
using the mountlist editor to edit your RAID and non-RAID
partitions and their settings. Mondo will do the partitioning and
formatting for you.</para>
<para>Tested Raid controllers includes all those showing only classical devices 
		such as /dev/sdx, and SmartArray cciss controllers.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Where is my CD burner, in SCSI terms?</para></question>
<answer>
<para>A: Type:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
	<entry>
		bash# cdrecord -scanbus
	</entry>
</row>
<row>
	<entry>
		bash# wodim --devices
	</entry>
</row>
</tbody></tgroup></informaltable>
<para>or for ATAPI type of devices on older kernel versions:</para>
<para></para>
<informaltable><tgroup cols="1"><tbody>
<row>
	<entry>
		bash# cdrecord -scanbus dev=ATAPI
	</entry>
</row>
</tbody></tgroup></informaltable>
<para>you may replace ATAPI by ATA in the previous line with certain cdrecord versions and hadrware configurations</para>


<para>Find your CD burner's device# (e.g. '0,0,0'). Call Mondo with
the switch '-Oc &lt;speed&gt;' -d '&lt;device&gt;'. Or, if you feel
lucky, just use '-Oc 2'; Mondo will (a) assume you want to write at
4x to a CD-R and (b) will do its best to find your CD burner.</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: Can Mondo handle SCSI devices?</para></question>
		<answer>
<para>A: Mondo should be able to handle almost any hardware. So
long as your kernel and modules support it, Mindi will support it
and therefore so will Mondo.</para>
</answer>
</qandaentry>
<qandaentry>
		<question><para>Q: Why doesn't cdrecord -scanbus work ?</para></question>
		<answer>
				<para>A: If you have a 2.4.x kernel (typical example are fedora legacy kernels for redhat 7.X/8/9) and an IDE CDRW device, and the drive is not
listed when you run

<informaltable><tgroup cols="1"><tbody>
<row>
<entry>
bash# cdrecord -scanbus
</entry>
</row>
</tbody></tgroup></informaltable>

try adding the following kernel option to your boot script to enable
SCSI emulation: hdx=ide-scsi, where "hdx" should be replaced with the
appropriate drive letter of the CDRW device, e.g., "hdc".
(Answer provided by Christopher Moriarity cdm7_at_cdc.gov)
</para>
</answer>
</qandaentry>
</qandaset>
</sect1>

<sect1 id="faq-backup">
<title>Backup related Questions</title>

<qandaset>
<qandaentry>
<question><para id="MMKM">Q: Mondo says, 'Cannot
				run mindi --makemountlist' and aborts. What do I do?</para></question>
<answer>
		<para>
				A: Look at <filename>/var/log/mindi.log</filename> and see what it
says. Also, try typing 'mindi --makemountlist /tmp/mountlist.txt'
to see what Mindi says. Send the log to the &ML; if you get stuck.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Can Mondo burn CD as they are
				created?</para></question>
<answer>
<para>A: Yes. Use the '-Oc &lt;speed&gt;' switch. Use a negative
number for a dummy burn.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Mondo failed to burn my CD. It said
something like, "Error CDB A1 01 02 53 ..." and so on. What does
that mean?</para></question>
<answer>
<para>A: Cdrecord reported some serious errors while trying to burn
your CD. Check your CD burner, your CD-R and your kernel.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: May I backup my system with one
				partition layout and restore with another?</para></question>
<answer>
<para>A: Yes. Boot in Interactive Mode and edit the mountlist using
the snazzy new mountlist editor. Mondo can now edit your RAID
partitions for you. Just open /dev/md0 (or whatever) and select
"RAID.." to start. Or, to add a RAID device:</para>
<itemizedlist>
<listitem>
<para>Add two or more partitions, of type and mountpoint
'raid'</para>
</listitem>
<listitem>
<para>Add device '/dev/md0' and click OK</para>
</listitem>
<listitem>
<para>Follow the prompts and your own common-sense :)</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why does Mondo need so much free disk
				space?</para></question>
<answer>
		<para>A: Because it need space to create the archive files with afio, then 
				again space to create the ISO images that you'll be able to burn.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: I am trying to do something clever,
e.g. write my ISO's to an NFS mount, and I get some weird error
messages. What do I do?</para></question>
<answer>
<para>A: Well, (a) use '-T /tmp' or '-T /home' or something in your
		call to Mondo. Oh, and (b) check the <filename>/etc/exports</filename> file on your NFS server
		and verify the exported filesystem is writable for the client, and relaunch exportfs -a.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Can Mondo backup to data files on
				another partition, e.g. an NFS mount?</para></question>
<answer>
<para>A: Yes. Just backup as usual but add '-d /mnt/nfs' or
wherever your partition is mounted; don't use '-Oc' or '-Ot' at
all; just '-Oi -d /root'. Then, after booting from the media
which Mondo generates, you need to type 'ISO' at the
console.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Can Mondo backup _to_ an NFS
				partition, i.e. backup over a network? How about restoring?</para></question>
<answer>
<para>A: Yes. Use '-On &lt;mount&gt; &lt;directory&gt;'. Example:
</para>
<informaltable><tgroup cols="1"><tbody>
<row>
<entry>

bash# mondoarchive -On 192.168.1.3:/home/nfs

</entry>
</row>
</tbody></tgroup></informaltable>

</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Does Mondo handle System or Hidden
				attributes when archiving Dos/Win files?</para></question>
<answer>
<para>A: No. It probably never will, either. Sorry.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>

<sect1 id="faq-compare">
<title>Compare related Questions</title>

<qandaset>
<qandaentry>
<question><para>Q: When I compare my archives to my file
system, Mondo tells me there are differences or errors. Are the
archives bad?</para></question>
<answer>
		<para>A: Look at <filename>/tmp/changed.files</filename>; if the files are logfiles,
temp files or files which you think you may have changed recently
then the archives are simply out of date, albeit only by a few
minutes. Not a problem. However, if lots of files in /usr have
changed or if you get lots of errors then perhaps your CD, your
tapes or even your hardware could be to blame. Check your CD writer
or tape streamer.</para>
<para>Also, don't forget to review <filename>/var/log/mondoarchive.log</filename> for
more information.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>

<sect1 id="faq-restore">
<title>Restore related Questions</title>
<qandaset>
<qandaentry>
<question><para>Q: Can Mondo help me
				move/resize/re-allocate my partitions?</para></question>
<answer>
<para>A: Yes. Just backup your system in Interactive Mode using
Mondo. Edit the mountlist when prompted.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: My zip drive is a SCSI drive. When I
restore, Mondo craps out, saying it can't mount the drive (because
there is no disk in it). What do I do?</para></question>
<answer>
<para>A: Restore in Interactive Mode. Delete the SCSI drive from
the mountlist before you restore. Then Mondo won't try to partition
or format it. Next time you backup, use -E /dev/sdd (or whatever
your zip drive is). The /dev entry will be excluded from the
mountlist but not from the filelist. So, when you restore, you
won't accidentally reformat your zip disk. However, after
restoring, you will find that /dev/sdd (the _file_) will still be
present in your /dev directory. Cool, eh?</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: I received a message like, 'Fileset
				NNN failed' during restore. What does it mean.</para></question>
<answer>
<para>A: It usually means either you had a very large (&gt;2GB)
file which was not archived owing to a flaw in your distro or your
filesystem has changed in relation to the backup.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Q: Why does my ext3 partition have less
				space free than when I backed it up?</para></question>
<answer>
<para>A: Mondo creates a 10MB journal file area. Your journal was
probably smaller than that, hence the difference.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para id="SEGF">Q: When I restore after
booting from the media, I sometimes get errors like, "Running
out of memory" or "Segmentation fault". What is going on?</para></question>
<answer><para>A: It sounds as if you are running out of disk
space, probably ram disk space. Type 'df -m' to see which
partitions are running low on space. Please send as much
information as you can to the &ML;. This problem is
believed to have been fixed in 1.63 and 1.71.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para id="LVM">Q: I can't nuke-restore my LVM or RAID or
LVM-on-RAID setup. I have to do it manually. What now?</para></question>
<answer>
<para>A: You said it yourself. You have to do it manually. :) Sorry
but that's about it. At least you have all the tools to do it. I
assume you know how. If you don't, look at i-want-my-lvm (a script
on the ramdisk) if you're using LVM. It should give you a few
clues. RAID is harder but in general Mondo's RAID support is good.
After you've prepped and formatted your drives, run mondorestore
again but say 'no' when asked if you want Mondo to prep or format
your drives.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
</chapter>

&gfdl;

</book>
