SHARE |
|
|
by Bill Degnan - 09/15/2026 17:05 |
|
if you come upon a Sun tape a modern Linux box may only be able to read the index but fails to recover the actual data. This is due to a mismatch of the file block size and the native format of the ufsdump utility used by Sun.
When a Sun system running SunOS 4.x or early Solaris creates a tape backup, it doesn't use the standard tar format you find on PCs. It uses a specialized utility called dump (or ufsdump). This tool writes raw blocks of data optimized specifically for Sun's UFS file system structure Sun SCSI tape drives (like Exabyte 8mm or Archive Viper 150 QIC drives) default to writing data in 126-block clusters (63,000 bytes) or specific physical block alignments. Modern Linux SCSI drivers expect standard 512-byte or 1024-byte block increments. Ah Ha! So, set your drive attached to a Sun box to address 4 or 5, which is the default tape drive address. /dev/rst0 (rewind tape 0 after running a command) /dev/nrst0 (dont rewind automatically) if you want to skip past the index: mt -f /dev/nrst0 fsf 1 backup a tape: mkdir /export/home/tape_recovery cd /export/home/tape_recovery restore irf /dev/nrst0 (use ufsrestore irf /dev/nrst0 for a newer Sun box) Inside the interactive prompt, you can type ls to see the directories hidden on the tape, add NOTE: You can try this on a linux box to read a Sun tape that can't normally be read: dd if=/dev/nst0 ibs=63k obs=32k | ufsrestore ivf - (assuming nst0. ibs=63k forces Linux to open its buffer wide enough to catch the massive 126-block Sun clusters without crashing the SCSI bus.) Reply |
|