YAA(1)							      General Commands Manual							    YAA(1)

NAME
yaa - Manipulate YAA archives SYNOPSIS
yaa verb [options] DESCRIPTION
yaa creates and manipulates YAA archives. VERBS
create Archive the contents of the target directory extract Extract the contents of an archive to the target directory list List the contents of an archive info Print archive metadata convert Convert an archive into another archive manifest Alias for 'archive -manifest' index Alias for 'convert -index' OPTIONS
-v Increase verbosity. Default is silent operation. -h Print usage and exit. -d target_dir Target directory. Default is the current directory. -i input_file Input file. Default is stdin. -ioffset input_offset Bytes to skip in input_file. Default is 0 to read from the beginning of the file. -isize input_size Bytes to read from input_file. Default is -1 to read all available data. -iindex input_index YAA index corresponding to input_file. The index is used to accelerate sparse archive reading, in conjonction with the entry name/type selection options. -o output_file Output file. Default is stdout. -a algorithm Compression algorithm used when creating archives. One of lzfse, lzma, lz4, zlib, raw. Default is lzfse. -b block_size Block size used when compressing archives, a number with optional b,k,m,g suffix (bytes are assumed if no suffix is specified). Default is 4m. -t worker_threads Number of worker threads compressing/decompressing data. Default is the number of logical CPU on the running machine. -wt writer_threads Number of writer threads extracting archive content. Default is to match worker_threads. -exclude-metadata Skip insertion of a leading metadata entry in the generated archives. This metadata entry contains a list of the included fields. It is printed by the info command. -include-path prefix Include entry paths matching prefix. This option can be given multiple times. -exclude-path prefix Exclude entry paths matching prefix. This option can be given multiple times. -include-path-list <prefix_list_file> File containing a list of path prefixes to include, one entry per line. This option can be given multiple times. -exclude-path-list <prefix_list_file> File containing a list of path prefixes to exclude, one entry per line. This option can be given multiple times. -exclude-name name Exclude entry paths where a single component of the path matches exactly name. This option can be given multiple times. -include-type <type_spec> Include only entries matching the given types. <type_spec> is a word containing one or more of the entry type characters listed below. -exclude-type <type_spec> Exclude only entries matching the given types. <type_spec> is a word containing one or more of the entry type characters listed below. -include-field <field_spec> Add the given fields to the set of fields to include with each entry. This option can be given multiple times. <field_spec> is a comma separated list of entry field tags listed below. -exclude-field <field_spec> Remove the given fields to the set of fields to include with each entry. This option can be given multiple times. <field_spec> is a comma separated list of entry field tags listed below. -manifest Alias for the following options: -exclude-field dat -include-field sh1,cks,siz -a lzfse -b 1m -index Alias for the following options: -exclude-field all -include-field idx -a lzfse -b 1m entry types b block special c character special d directory f regular file h hard link l symbolic link m metadata p fifo s socket entry fields typ entry type pat path lnk link path dev device id uid user id gid group id mod access permissions flg flags mtm modification time xat extended attributes acl access control list cks CRC32 checksum sh1 SHA1 digest sh2 SHA2 digest dat file contents siz file size duz disk usage idx entry index in main archive yaf YAA fields (in metadata entry) all alias for all fields attr alias for uid,gid,mod,flg,mtm other other fields (not in this list) default entry fields typ,pat,lnk,dev,uid,gid,mod,flg,mtm,dat,duz entry selection -include-path and -include-path-list options are applied first to select an initial set of entries, then -exclude-path, -exclude- path-list and -exclude-name are applied to remove entries from this set. If no -include-path or -include-path-list option is given, all entries are included in the initial set. If a directory is included/excluded, the entire sub-tree is included/excluded. EXAMPLES
Archive the contents of directory foo into archive foo.yaa, using LZMA compression with 8 MB blocks yaa archive -d foo -o foo.yaa -a lzma -b 8m Extract the contents of foo.yaa in directory dst yaa extract -d dst -i foo.yaa Create a manifest of the contents of directory foo into foo.manifest, using LZFSE compression with 1 MB blocks yaa manifest -d foo -o foo.manifest -a lzfse -b 1m Verify the contents of dst match the manifest foo.manifest yaa verify -i foo.manifest -d dst -v Print all entry paths in foo.manifest yaa list -i foo.manifest Print all entry paths, uid, gid for regular files in foo.manifest yaa list -v -i foo.manifest -include-type f -exclude-field all -include-field uid,gid,pat Create a manifest of the contents of archive foo.yaa in foo.manifest yaa convert -manifest -v -i foo.yaa -o foo.manifest Create an index of the contents of archive foo.yaa in foo.index yaa index -v -i foo.yaa -o foo.index Extract a subset of entries matching prefix Applications/Mail.app from archive foo.yaa in directory dst yaa extract -i foo.yaa -include-path Applications/Mail.app -d dst Extract the same files as in the previous example, but use foo.index to accelerate extraction yaa extract -i foo.yaa -include-path Applications/Mail.app -d dst -iindex foo.index YAA(1)