Skip to content
Novus Examples
tar10 KB

TAR - FIFO and Device Node Records

A 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.

Archive contents — 4 entriestar
  • README.txt
  • pipe
  • null-like
  • disk-like

Specifications

Seed
20260807
Members
4
Fifo Members
1
Character Devices
1
Block Devices
1
Typeflags
'6' FIFO, '3' character device, '4' block device
Device Numbers
1:3 (character), 8:0 (block)
Stored Bytes
0 - device records carry no data blocks
Note
creating device nodes needs privileges; unprivileged extraction should skip and warn

Testing contract

Expected to recover
Scenario
Extract the archive as an unprivileged user and inspect what was created.
Expected result
dev/README.txt extracts and dev/pipe is created as a FIFO; the two device members are reported as skipped rather than written as zero-byte regular files, and the extraction still reports success for the rest.

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 - FIFO and Device Node Records” is a deterministic Novus Examples fixture for Conversion testing, Error handling, 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 special-nodes.tar       # list
tar -xf special-nodes.tar -C out/  # extract

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