TGZ - Empty Archive
The empty tar wrapped in gzip, which is what `tar czf` produces from an empty directory. The gzip header and trailer are still there and still have to parse, so this separates 'cannot read the codec' from 'read the codec and found nothing inside'.
| structurestring | valuestring |
|---|---|
| container | TAR + gzip |
| members | 0 |
| compressed size | 29 bytes |
| uncompressed size | 1024 bytes |
| end-of-archive blocks | 2 x 512 bytes of zeros |
| gzip mtime | 0 |
Specifications
- Seed
- 20260807
- Members
- 0
- File Bytes
- 29
- Uncompressed Bytes
- 1024
- Codec
- gzip
- Gzip Mtime
- 0
- Note
- the gzip wrapper is larger than nothing but the tar inside is still just two zero blocks
Testing contract
Expected to pass- Scenario
- Decompress the gzip stream, then list the tar inside it.
- Expected result
- The gzip layer decodes to exactly 1024 bytes of zeros and the tar listing reports 0 members with no error - the codec read cleanly and the archive is simply empty.
What is a .tgz file?
TGZ is a shorthand extension for a TAR archive compressed with gzip, equivalent to .tar.gz. The tar step bundles files and metadata, then gzip compresses the whole stream. It is one of the most common distribution formats for Unix software and datasets.
How to use this file
Use an example TGZ to test the two-stage decompress-then-untar pipeline, streaming extraction, and tools that recognize the abbreviated .tgz extension.
How to use this file for testing
“TGZ - Empty Archive” is a deterministic Novus Examples fixture for Conversion testing, Error handling. 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 empty.tgz # list
tar -xf empty.tgz -C out/ # extractRelated files
- tarTAR - FIFO and Device Node RecordsA FIFO, a character device and a block device, each a header with no data blocks and with the device numbers in the devmajor/devminor fields. Unprivileged extraction cannot create the two device nodes, so the correct behaviour is to skip them with a warning rather than to abort the whole archive or to create empty regular files in their place.

- tarTAR - GNU Long Name RecordA 125-character path whose long component contains no slash at all, so the USTAR prefix field cannot store it. This archive uses a preceding 'L' (GNUTYPE_LONGNAME) record whose payload is the full path. Its group siblings encode the same class of path with the other two mechanisms.

- 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 - Missing End-of-Archive BlocksA tar that ends immediately after its last member, with none of the two 512-byte zero blocks the format calls for. Plenty of writers do this and GNU tar reads it with a warning; readers that treat a missing end marker as a truncated archive reject three perfectly good members.

- tarTAR - PAX Path HeaderA 125-character path whose long component contains no slash at all, so the USTAR prefix field cannot store it. This archive uses a preceding 'x' extended header carrying a path= record in UTF-8. Its group siblings encode the same class of path with the other two mechanisms.

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