HELIOS Xtar – Ultimate UNIX batch HFS disk backup / clone utility for Mac OS X

HFS stores meta data, e.g. Finder and Resource information on HFS within one file, but standard UNIX applications can only see the data part, the additional information (e.g. resource file, creation and backup date, file comments, type & creator, hidden flags, etc.) gets lost using standard UNIX-based tools, such as “cp”, “cpio”, “tar”, “dump”, “pax”, “cat”, “dd”, etc. This means that the copies will be incomplete and many files will just refuse to work. For example, booting will not work, previews from EPSF files are missing, applications will not detect their own files anymore, etc.

HFS-compatible applications can deal with the additional resource and Finder information but they do not understand UNIX special files, e.g. device files, hard links, symbolic links, file and directory permissions, etc.

Solution

HELIOS always stores two files in its Xtar archive as well as in HELIOS EtherShare volumes, e.g.:
# filename
# .rsrc/filename

filename is the data fork whereas .rsrc/filename contains the resource fork, Finder info, etc.

HELIOS Xtar saves each HFS file as two files in the standard “tar” container format to preserve all additional information. During a restore with Xtar in an HFS volume, the resource and Finder information will be restored into a valid HFS file containing all information. This means there is no missing data, e.g. the volume is bootable after being restored.
Thanks to HELIOS Xtar, it works just fine.

On HELIOS EtherShare server installations, special UNIX desktop tools will take care of the additional resource and Finder information, e.g. “dt mv srcfile dstfile” will include the additional information and updates the desktop database so that “Aliases” are still valid, etc. HELIOS desktop commands are:

rm, rmdir, mv, cp, set, ls, mkdir, touch, upd, chmod, chown, chgrp, idinfo, iddump

Important: On disks other than the boot disk, the checkbox “Ignore ownership on this volume” must remain unchecked! When a system cloning is done for that volume it is most important that the access rights are preserved. If the checkbox is enabled the copy would not be bootable (see following Figure).

Mac OS X Info window


HELIOS Xtar for Mac OS X can be scripted to easily let you
  • Clone a Mac OS X system disk
  • Backup / restore a disk
  • Backup / restore files & folders 
Benefits using HELIOS Xtar
  • Mac file resource info is saved
  • Finder info is saved for files and directories, e.g. hidden files, type and creator
  • File / direcory IDs are saved and restored on HELIOS volumes
  • HFS backup and creation time is saved (not available on UFS)
  • “tar”-based on HELIOS resource file representation (can be restored by a new “tar”)
  • Allows duplication of Mac OS X HFS bootable disks
  • HFS de-composite Unicode file names are supported (umlauts, etc. are converted to composite UTF-8)
  • Supports HFS disks with HELIOS volumes correctly 
Tested Xtar options

HFS system cloning
Copy the Mac OS X HFS boot disk to a second HFS disk:

# umask 0
# (cd /; xtar clbf 1024 - .) | (cd /Volumes/NewMacDisk; xtar xbf 1024 -)

HFS system backup
# cd /
# xtar clbf 1024 /Volumes/BackupDisk/backup.tar .

HFS system backup Compressed (gzip)
# cd /
# xtar czlbf 1024 /Volumes/BackupDisk/backup.tgz .

HFS archive restore
# umask 0
# cd /Volumes/NewMacDisk
# xtar xvbf 1024 /Volumes/BackupDisk/backup.tar

List “tar”-archive contents
# umask 0
# cd /Volumes/NewMacDisk
# xtar tvbf 1024 /Volumes/BackupDisk/backup.tar

Transfer HFS data into a UFS HELIOS volume under Mac OS X
Create a volume using the “Disk Utility”. The new volume will be available under:
“/Volumes/diskname”

Transfer HFS data onto a remote HELIOS Server
Mount the remote server via NFS, e.g.: 
# mount server:/diskname /Volumes/diskname
# (cd /Volumes/MacDisk; xtar clbf 1024 - .) | (cd /Volumes/diskname; xtar xbf 1024 -)

Transfer HELIOS volume to an HFS directory
# mount server:/diskname /Volumes/diskname
# (cd /Volumes/diskname; xtar clbf 1024 - .) | (cd /Volumes/HFSdiskname; xtar xbf 1024 -)

Verify differences option (at present for data forks only)
# cd /
# xtar dlbf 1024 /Volumes/BackupDisk/backup.tar .

Option

Description

b

Blocking factor

c

Create archive

d

Get difference

f

File name

l

Stay in local file system when creating an archive

t

Table of contents

v

Verbose

x

Restore

z

“gzip” compressed

For more information issue the --help command

The blocking factor is 512 bytes, e.g. 1024 blocks equal 512 kBytes. Different block sizes may provide different performance results. Our experience shows good results between 64 and 1024 blocks.

Options for the “tar” and Xtar command

Xtar is based on GNU tar (v. 1.13.25). More information on GNU tar is available, e.g. on the Internet.


Known limitations

November 2003:

Changes

February 2007:

  • Mac Intel compatible version (Universal)
  • Bug fix: When restoring archives on HFS permissions could be lost 

As of release date:

  • chflags attributes are not saved
  • HFS file comments are not saved
  • DiffOptions -d, data is verified; resource fork and Finder info is skipped during verification
  • Directory modification date will not be restored; this is a general limitation of any UNIX tar. 

Supported platforms
  • Mac OS X PPC (10.3 or newer)
  • Mac OS X Intel (10.4 or newer) 

 


Download

HELIOS Xtar can be downloaded via HELIOS WebShare at:

 

Server:

http://webshare.helios.de

User name:

tools

Password:

tools

Login, select the items to download, and select “Download” from the “Transfer” menu.

See also HELIOS File System Test
See also HELIOS LanTest


HELIOS Xtar is copyright by HELIOS Software GmbH, Garbsen, Germany.