Plakar Ptar
#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/backupsEnvironment 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 df42124aOutput 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 checkExamples
#$ plakar at backup.ptar checkOutput
#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/restoredplakar at … info
#Display archive metadata.
Syntax
#$ plakar at archive.ptar infoExamples
#$ plakar at backup.ptar infoPassphrase 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/backupsFile 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: