Scroll to navigation

MMTARFILTER(1) User Commands MMTARFILTER(1)

NAME

mmtarfilter - filter a tarball like dpkg does

DESCRIPTION

usage: mmtarfilter [-h] [--path-exclude pattern] [--path-include pattern]

[--pax-exclude pattern] [--pax-include pattern] [--type-exclude type] [--transform EXPRESSION] [--strip-components NUMBER] [--idshift NUM]

Filters a tarball on standard input by the same rules as the dpkg --path-exclude and --path-include options and writes resulting tarball to standard output. See dpkg(1) for information on how these two options work in detail. To reuse the exact same semantics as used by dpkg, paths must be given as /path and not as ./path even though they might be stored as such in the tarball.

Secondly, filter out unwanted pax extended headers using --pax-exclude and --pax-include. This is useful in cases where a tool only accepts certain xattr prefixes. For example tar2sqfs only supports SCHILY.xattr.user.*, SCHILY.xattr.trusted.* and SCHILY.xattr.security.* but not SCHILY.xattr.system.posix_acl_default.*.

Both types of options use Unix shell-style wildcards:

* matches everything ? matches any single character
[seq] matches any character in seq
[!seq] matches any character not in seq

Thirdly, filter out files matching a specific tar archive member type using --type-exclude. Valid type names are REGTYPE (regular file), LNKTYPE (hardlink), SYMTYPE (symlink), CHRTYPE (character special), BLKTYPE (block special), DIRTYPE (directory), FIFOTYPE (fifo) or their tar format flag value (0-6, respectively).

Fourthly, transform the path of tar members using a sed expression just as with GNU tar --transform.

Fifthly, strip leading directory components off of tar members. Just as with GNU tar --strip-components, tar members that have less or equal components in their path are not passed through.

Lastly, shift user id and group id of each entry by the value given by the --idshift argument. The resulting uid or gid must not be negative.

options:

show this help message and exit
Exclude path matching the given shell pattern. This option can be specified multiple times.
Re-include a pattern after a previous exclusion. This option can be specified multiple times.
Exclude pax header matching the given globbing pattern. This option can be specified multiple times.
Re-include a pax header after a previous exclusion. This option can be specified multiple times.
Exclude certain member types by their type. Choose types either by their name (REGTYPE, LNKTYPE, SYMTYPE, CHRTYPE, BLKTYPE, DIRTYPE, FIFOTYPE) or by their tar format flag values (0-6, respectively). This option can be specified multiple times.
Use sed replace EXPRESSION to transform file names. This option can be specified multiple times.
Strip NUMBER leading components from file names
Integer value by which to shift the uid and gid of each entry
February 2024 mmtarfilter 1.4.3