Skip to content
Novus Examples
tar10 KB

TAR - Hard Link Member

share/backup/records.csv is a hard link to a member that appears earlier in the stream, so its content is stored exactly once. Order matters: a reader that extracts members out of sequence, or that copies content instead of linking, changes both the on-disk byte count and the inode relationship the archive is describing.

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

Specifications

Seed
20260807
Members
3
Hardlink Members
1
Typeflag
'1' (LNKTYPE)
Linkname
share/data/records.csv
Stored Bytes
0
Requirement
the target must already have been extracted, so member order matters

Testing contract

Expected to pass
Scenario
Extract the archive in stream order on a POSIX filesystem and stat both CSV paths.
Expected result
share/backup/records.csv and share/data/records.csv share one inode with link count 2, and the archive stores the CSV bytes only once.

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 - Hard Link 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 hardlink.tar       # list
tar -xf hardlink.tar -C out/  # extract

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