Skip to content
Novus Examples
tar10 KB

TAR - USTAR Format

The 1988 POSIX format: 512-byte headers, octal numeric fields, names split across a 155-byte prefix and a 100-byte name, and no mechanism at all for anything that does not fit - including the access and change times its siblings carry. All three archives in this group hold byte-identical members with identical ownership and modification times, so any other difference a reader reports between them comes from the header encoding alone.

Archive contents — 3 entriestar
  • README.txt
  • main.txt
  • records.csv

Specifications

Seed
20260807
Tar Format
USTAR (POSIX.1-1988)
Members
3
Block Size
512
Header Magic
magic "ustar\0" + version "00"
Extended Headers
none
Uid
1000
Gid
1000
Uname
novus
Gname
novus
Mtime
1767225600
Twin
identical member content and mtime/ownership in all three formats

Testing contract

Expected to pass
Scenario
Extract all three format twins and compare the resulting trees and metadata.
Expected result
All three yield the same 3 files with mtime 1767225600, uid/gid 1000/1000 and owner names novus/novus; this one identifies itself by magic "ustar\0" + version "00".

What is a .tar file?

TAR (Tape Archive) is a Unix archive format that concatenates files with their metadata into a single uncompressed stream of fixed-size blocks. It preserves permissions, ownership, and directory structure but applies no compression itself. It is usually paired with a compressor such as gzip or xz.

How to use this file

Use an example TAR to test archive extraction, metadata and permission preservation, streaming block parsing, and pipelines that combine tar with external compression.

How to use this file for testing

“TAR - USTAR Format” is a deterministic Novus Examples fixture for Conversion testing, Metadata testing. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.

Documented properties for this file: seed 20260807. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Archive fixtures are documented down to their member list (shown on this page) and are deliberately safe — no zip bombs, executables, or hidden payloads. Test extractors against nested, unicode, empty, and encrypted variants.

Code examples

tar -tf tree-ustar.tar       # list
tar -xf tree-ustar.tar -C out/  # extract

Generated by generation/archives_p7.py. Free for any use, no attribution required — license.