For the Impatient

Installing paxbac involves these steps:

  1. Download and install pyxml (if not already on your system).
  2. Download and install mkiosfs.
  3. Set up the system variables, using the file “bashrc” as an example.
  4. Type
    python install

Detailed Explanation

Getting pyxml

Downloading pyxml should be relatively simple and easy. paxbac needs pyxml to read and write to the XML logs.

Getting mkisofs

The utility mkisofs is a freely available utility that creates CD images (of universal file systems).

Setting up System Variables

paxbac needs to know certain information about your system, such as where you will store paxbac data. It gets this information by reading system variables.

You can permanently set these variables by opening up your .bashrc file in your home directory and copying the values of the bashrc file found in this directory (that is, the directory for paxbac installation.) Of course, you will have to change the values of the variables to suit your system.

System Variables

This variable points to the home paxbac directory. This directory will store all of your logs and other important information. It will also be used to store temporary images and pax files, so it must be able to hold at least the size of one of your slices, and twice this amount if you are making CD images.


This variable indicates the maximum size one of your removable media can hold in Megabytes. For example, if you were using CDs, you might set this variable to 600.


This variable indicates which software you will use to burn your CD. Only two options are allowed, hdiutil and cdrecord. If you are not burning CDs, set this variable to hdiutil. You probably want to use hdiutil for Mac OS X.


This variable indicates the speed at which your burner will write non re-writable CDs. If you don’t plan to use CDs, still set this variable to some number.


This variable indicates the speed at which your burner will write re-writable CDs. If you don’t plan to use CDs, set this variable to any number.


This variable indicates where you will mount your removable medium. On my linux machine, I set this as “/mnt/cdrom2”. On a Darwin, you want to set this to “/Volumes” plus the name of your removable media. For CDs, that would mean “/Volumes/CDROM”.


Use this variable if you are using using “cdrecord” as your burner. See the cdrecord man page on how to determine this.

paxbac_cdrom_device ————————-

Use this variable if you are using linux. It should be set to something like /dev/scd0.

Optional System Variables

This variable points to a log file that you want to use to record the script activity. If this variable is set, a new log won’t be created each time you run paxbac. Instead, the activity will be recorded to this file.


This variable should contain a list of paths separated by a space. Each path will point to a file that you want to put on each CD for an emergency backup. For example, if you wanted to include notes on how to do an emergency install on your system, as well as notes on how to mount volumes, you might set this variable as:

export paxbac_emergency_files=“/home/paul/emergency.txt mounting.txt”

The pax (or hfspax) utility automatically gets copied to each removable media, so you don’t need to include this.


This variable points to the jing.jar location, a java jar that validates XML files. You would only need this if you wanted to validate the XML files created.


Installing is as easy as typing

python install