casync

From Gentoo Wiki
Jump to: navigation, search

casync is a content-addressable data synchronization tool. It can be thought up as a hybrid between git and rsync; able to store changes between files and quickly send/receive them. It is capable of operating on the block layer using raw devices and the filesystem level.

Installation

USE flags

USE flags for net-misc/casync Content-Addressable Data Synchronization Tool

fuse Enable fuse support local
man Build and install man pages local

Emerge

root #emerge --ask net-misc/casync

Usage

Invocation

user $casync --help
casync [OPTIONS...] make [ARCHIVE|ARCHIVE_INDEX|BLOB_INDEX] [PATH]
casync [OPTIONS...] extract [ARCHIVE|ARCHIVE_INDEX|BLOB_INDEX] [PATH]
casync [OPTIONS...] list [ARCHIVE|ARCHIVE_INDEX|DIRECTORY]
casync [OPTIONS...] mtree [ARCHIVE|ARCHIVE_INDEX|DIRECTORY]
casync [OPTIONS...] stat [ARCHIVE|ARCHIVE_INDEX|DIRECTORY] [PATH]
casync [OPTIONS...] digest [ARCHIVE|BLOB|ARCHIVE_INDEX|BLOB_INDEX|DIRECTORY]
casync [OPTIONS...] mount [ARCHIVE|ARCHIVE_INDEX] PATH
casync [OPTIONS...] mkdev [BLOB|BLOB_INDEX] [NODE]

Content-Addressable Data Synchronization Tool

  -h --help                  Show this help
     --version               Show brief version information
  -v --verbose               Show terse status information during runtime
  -n --dry-run               When garbage collecting, only print what would
                             be done
     --store=PATH            The primary chunk store to use
     --extra-store=PATH      Additional chunk store to look for chunks in
     --chunk-size=[MIN:]AVG[:MAX]
                             The minimal/average/maximum number of bytes in a
                             chunk
     --digest=DIGEST         Pick digest algorithm (sha512-256 or sha256)
     --compression=COMPRESSION
                             Pick compression algorithm (zstd, xz or gzip)
     --seed=PATH             Additional file or directory to use as seed
     --cache=PATH            Directory to use as encoder cache
  -c --cache-auto            Pick encoder cache directory automatically
     --rate-limit-bps=LIMIT  Maximum bandwidth in bytes/s for remote
                             communication
     --exclude-nodump=no     Don't exclude files with chattr(1)'s +d 'nodump'
                             flag when creating archive
     --exclude-submounts=yes Exclude submounts when creating archive
     --exclude-file=no       Don't respect .caexclude files in file tree
     --reflink=no            Don't create reflinks from seeds when extracting
     --hardlink=yes          Create hardlinks from seeds when extracting
     --punch-holes=no        Don't create sparse files when extracting
     --delete=no             Don't delete existing files not listed in archive
                             after extraction
     --undo-immutable=yes    When removing existing files, undo chattr(1)'s +i
                             'immutable' flag when extracting
     --seed-output=no        Don't implicitly add pre-existing output as seed
                             when extracting
     --recursive=no          List non-recursively
     --mkdir=no              Don't automatically create mount directory if it
                             is missing
     --uid-shift=yes|SHIFT   Shift UIDs/GIDs
     --uid-range=RANGE       Restrict UIDs/GIDs to range

Input/output selector:
     --what=archive          Operate on archive file
     --what=archive-index    Operate on archive index file
     --what=blob             Operate on blob file
     --what=blob-index       Operate on blob index file
     --what=directory        Operate on directory

     --what=help             Print allowed values

Archive feature sets:
     --with=best             Store most accurate information
     --with=unix             Store UNIX baseline information
     --with=fat              Store FAT information
     --with=chattr           Store chattr(1) file attributes
     --with=fat-attrs        Store FAT file attributes
     --with=privileged       Store file data that requires privileges to
                             restore
     --with=fuse             Store file data that can exposed again via
                             'casync mount'
     (and similar: --without=fat-attrs, --without=privileged, ...)
     --without=all           Disable all optional attributes

Individual archive features:
     --with=16bit-uids       Store reduced 16bit UID/GID information
     --with=32bit-uids       Store full 32bit UID/GID information
     --with=user-names       Store user and group names
     --with=sec-time         Store timestamps with 1s granularity
     --with=usec-time        Store timestamps with 1µs granularity
     --with=nsec-time        Store timestamps with 1ns granularity
     --with=2sec-time        Store timestamps with 2s granularity
     --with=read-only        Store per-file read only flag
     --with=permissions      Store full per-file UNIX permissions
     --with=symlinks         Store symbolic links
     --with=device-nodes     Store block and character device nodes
     --with=fifos            Store named pipe nodes
     --with=sockets          Store AF_UNIX file system socket nodes
     --with=flag-hidden      Store FAT "hidden" file flag
     --with=flag-system      Store FAT "system" file flag
     --with=flag-archive     Store FAT "archive" file flag
     --with=flag-append      Store "append-only" file flag
     --with=flag-noatime     Store "disable access time" file flag
     --with=flag-compr       Store "enable compression" file flag
     --with=flag-nocow       Store "disable copy-on-write" file flag
     --with=flag-nodump      Store "disable dumping" file flag
     --with=flag-dirsync     Store "synchronous" directory flag
     --with=flag-immutable   Store "immutable" file flag
     --with=flag-sync        Store "synchronous" file flag
     --with=flag-nocomp      Store "disable compression" file flag
     --with=flag-projinherit Store "project quota inheritance" flag
     --with=subvolume        Store btrfs subvolume information
     --with=subvolume-ro     Store btrfs subvolume read-only property
     --with=xattrs           Store extended file attributes
     --with=acl              Store file access control lists
     --with=selinux          Store SELinux file labels
     --with=fcaps            Store file capabilities
     --with=quota-projid     Store ext4/XFS quota project ID
     (and similar: --without=16bit-uids, --without=32bit-uids, ...)

Removal

Unmerge

root #emerge --ask --depclean net-misc/casync

See also