Version v1.0.6

Plakar Ptar

Last reviewed: 2026-02-03 / Plakar v1.1.0

plakar ptar

Creates portable .ptar archives from data sources.

Syntax

plakar ptar [options] -o output.ptar [sources]

Required Arguments

Argument Description
-o path Output file path for the .ptar archive
sources At least one: -k location for Kloset Store or filesystem path

Options

Option Type Default Description
-k location string - Include a Kloset Store (path or alias)
-plaintext flag false Disable encryption
-overwrite flag false Allow overwriting existing files

Source Types

Source Type Syntax Example
Filesystem path /path or ./path /home/user/Documents
Kloset Store (path) -k /path -k $HOME/backups
Kloset Store (alias) -k @alias -k @s3-backups
Remote protocols Plugin-dependent sftp://, s3://, ipfs://

Examples

# Single directory
plakar ptar -o documents.ptar /home/user/Documents

# Multiple paths
plakar ptar -o important.ptar /home/user/Documents /home/user/Pictures

# From Kloset Store
plakar ptar -o backup.ptar -k $HOME/backups

# From multiple stores
plakar ptar -o combined.ptar -k $HOME/backups -k @s3-backups

# Mixed sources
plakar ptar -o comprehensive.ptar -k $HOME/backups /home/user/NewDocs

# Plaintext archive
plakar ptar -plaintext -o unencrypted.ptar -k $HOME/backups

# Overwrite existing
plakar ptar -overwrite -o existing.ptar -k $HOME/backups

Environment Variables

Variable Description
PLAKAR_PASSPHRASE Passphrase for archive encryption (avoids interactive prompt)

Exit Codes

Code Meaning
0 Success
1 Error (file exists without -overwrite, invalid source, etc.)

plakar at … (Ptar Operations)

Access Ptar files as read-only Kloset Stores.

Syntax

plakar at archive.ptar <command>

Supported Commands

Command Description
ls [snapshot-id] List snapshots or files in a snapshot
check Verify cryptographic integrity
restore -to destination [snapshot-id] Restore snapshot contents
info Display archive metadata

plakar at … ls

List snapshots or snapshot contents.

Syntax

plakar at archive.ptar ls [snapshot-id]

Arguments

Argument Required Description
snapshot-id No If omitted, lists all snapshots; if provided, lists files in that snapshot

Examples

# List all snapshots
plakar at backup.ptar ls

# List files in specific snapshot
plakar at backup.ptar ls df42124a

Output Format

Snapshots:

<timestamp> <snapshot-id> <size> <duration> <path>

Files:

<timestamp> <permissions> <user> <group> <size> <filename>

plakar at … check

Verify archive integrity.

Syntax

plakar at archive.ptar check

Examples

plakar at backup.ptar check

Output

info: <snapshot-id>: ✓ <path>

plakar at … restore

Restore snapshot contents to filesystem or Kloset Store.

Syntax

plakar at archive.ptar restore -to destination [snapshot-id]

Arguments

Argument Required Description
-to path Yes Destination directory or Kloset Store alias (e.g., @alias)
snapshot-id No Snapshot to restore; defaults to first snapshot if omitted

Examples

# Restore to local directory
plakar at backup.ptar restore -to $HOME/restored-backups df42124a

# Restore to configured store
plakar at backup.ptar restore -to @new-location df42124a

# Restore first snapshot (no ID specified)
plakar at backup.ptar restore -to $HOME/restored

plakar at … info

Display archive metadata.

Syntax

plakar at archive.ptar info

Examples

plakar at backup.ptar info

Passphrase Handling

Interactive Mode

If PLAKAR_PASSPHRASE is not set, prompts appear:

Creating archive:

repository passphrase:
repository passphrase (confirm):

Accessing archive:

repository passphrase:

Different source/destination:

source repository passphrase:
repository passphrase:
repository passphrase (confirm):

Non-interactive Mode

Set PLAKAR_PASSPHRASE environment variable to avoid prompts:

export PLAKAR_PASSPHRASE="your-secure-passphrase"
plakar ptar -o backup.ptar -k $HOME/backups

File Format Properties

Property Value
Read-only Yes (archives cannot be modified after creation)
Self-contained Yes (includes all metadata and data)
Portable Yes (single file can be moved/copied freely)
Encrypted by default Yes (unless -plaintext specified)
Tamper-evident Yes (cryptographic verification via check)

Further Reading

For a deeper dive into the philosophy and technical design of the format, check out the following posts on the Plakar blog:

Found a bug or mistake in the documentation? Create an issue on GitHub