TAR - Symlink Member
share/current.csv is a symbolic link: typeflag '2', size 0, and the target carried in the header's 100-byte linkname field rather than in any data blocks. The target is relative and stays inside the archive, so extraction is safe with or without symlink support.
- records.csv
- current.csv
- README.txt
Specifications
- Seed
- 20260807
- Members
- 3
- Symlink Members
- 1
- Typeflag
- '2' (SYMTYPE)
- Linkname
- data/records.csv
- Size
- 0
- Containment
- relative target, resolves inside the archive root
Testing contract
Expected to pass- Scenario
- Extract the tar with symlink support, resolve share/current.csv, and count the data blocks the link consumed in the stream.
- Expected result
- share/current.csv is a symlink whose target is data/records.csv and which resolves to the 4-row CSV; the member itself occupies zero data blocks, because the target lives in the header's linkname field.
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 - Symlink Member” 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 symlink.tar # list
tar -xf symlink.tar -C out/ # extractRelated files
- tarTAR - Large UID/GID (GNU base-256)The uid and gid fields hold 7 octal digits, so they top out at 2097151. This member is owned by uid 3000000, which needs GNU base-256 encoding: the field's high bit is set and the remaining bytes are a big-endian integer. Its group sibling encodes the same ownership the other way, so a reader can be checked against both without a second variable.

- tarTAR - Large UID/GID (PAX records)The uid and gid fields hold 7 octal digits, so they top out at 2097151. This member is owned by uid 3000000, which needs PAX uid=/gid= records in an 'x' extended header, with the classic field left at its maximum. Its group sibling encodes the same ownership the other way, so a reader can be checked against both without a second variable.

- tarTAR - Owner Names Longer Than the Header FieldThe uname and gname fields in a tar header are 32 bytes. This archive's second member is owned by a 44-character service-account name, which only fits because PAX moves it into an extended header. A USTAR writer would have truncated it to 31 characters and lost the distinction between two similarly-named accounts.

- txtConvert v2 Archive SHA-256 ListGNU-style SHA-256 list for the two canonical TAR members, preserving relative paths and full lowercase digests. Stable P8 artifact p8-convert-archive-sha256.

- jarJAR With a Nested Library JARThe nested-JAR layout an executable fat jar uses: a manifest with a Class-Path entry and a second JAR stored uncompressed under BOOT-INF/lib so it can be read in place without being extracted first. It contains resources only - properties, JSON and text, no compiled bytecode - and the manifest uses the CRLF line endings the JAR specification requires.

- tarTAR - GNU FormatGNU tar's extension of the same header, identified by its own magic: long names get their own 'L' record, oversized numeric fields switch to base-256, and sparse files get an in-header map. 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.

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