DTAR(1)
okay so bestie, this is dtar(1) from mpiFileUtils β yes, the parallel MPI one β and it creates and extracts tar files. Itβs giving high-performance archive energy and honestly it ate. π
β¨
πΈ NAME πΈ
dtar β create and extract a tar archive. periodt.
β¨ SYNOPSIS β¨
dtar [OPTION] -c -f ARCHIVE SOURCE...
dtar [OPTION] -x -f ARCHIVE
π¦ DESCRIPTION π¦
dtar is a parallel MPI application to create and extract tar files. Not me being obsessed with parallel I/O, but here we are. π
dtar writes archives in pax file format. In addition to the archive file, dtar creates an index to record the number of items and the starting byte offset of each entry within the archive. This index enables faster parallel extraction. By default, dtar appends its index as the last entry of the archive. Optionally, the index may be written as a separate file (with a .dtaridx extension) or as an extended attribute (named user.dtar.idx) of the archive file. Slay. π
dtar can extract archives in various tar formats, including archive files that were created by other tools like tar. dtar can also extract archives that have been compressed with gzip, bz2, or compress. Compressed archives are significantly slower to extract than uncompressed archives, because decompression inhibits available parallelism. The way decompression blocks the parallel vibe... tragic. π
Archives are extracted fastest when a dtar index exists. If an index does not exist, dtar can create and record an index during extraction to benefit subsequent extractions of the same archive file. Future-you says thank you. π«Ά
When extracting an archive, dtar skips the entry corresponding to its index. If other tools, like tar, are used to extract the archive, the index entry is extracted as a regular file that is placed in the current working directory with a file extension of .dtaridx and having the same basename as the original archive file. For an archive that was named file.tar when it was created, the dtar index file is named file.tar.dtaridx. iykyk. π
π LIMITATIONS π
dtar only supports directories, regular files, and symlinks. No extras, no delulu file types. π
dtar works best on Lustre and GPFS. There are no known restrictions for creating or extracting archives on these file systems. These file systems also deliver the highest bandwidth and file create rates. Iconic behavior, honestly. π
dtar can be used on NFS, but there is one key restriction. Namely, one should not create an archive file in NFS. To create an archive of NFS files, the archive file itself should be written to a directory in Lustre or GPFS. The dtar tool writes to an archive file from multiple processes in parallel, and the algorithms used to write the archive are not valid for NFS. So hard pass on that combo, bestie. π
dtar can be used to extract an archive file into NFS. The archive file that is being extracted may be on any file system. So extraction into NFS is fine; the archive being extracted may live anywhere. π¦
The target items to be archived must be under the current working directory where dtar is running, so commands like these work:
dtar -cf foo.tar foo/
dtar -cf foo.tar dir/foo/
But commands like the following are not supported:
dtar -cf foo.tar ../foo/
dtar -cf foo.tar /some/other/absolute/path/to/foo/
π OPTIONS π
-c,--createβ Create a tar archive. Obviously.-x,--extractβ Extract a tar archive. The reverse slay.-f,--file NAMEβ Name of archive file. Gotta tell it which file.-C,--chdir DIRβ Change directory toDIRbefore executing. Basically βstart here.β--preserve-ownerβ Apply recorded owner and group to extracted files. Default uses effectiveuid/gidof the running process. So by default, no preservation, just the running process vibe.--preserve-timesβ Apply recordedatimeandmtimeto extracted files. Default uses current system times. Default is basically βnow.β--preserve-permsβ Apply recorded permissions to extracted files. Default subtractsumaskfrom file permissions. Default is not raw preservation; itβsumask-filtered.--preserve-xattrsβ Record extended attributes (xattrs) when creating archive. Apply recordedxattrsto extracted files. Default does not record or extractxattrs. So if you want xattr energy, you gotta ask.--open-noatimeβ Open source files withO_NOATIMEflag when creating archive. Thatβs the whole instruction. π--fsyncβ Callfsyncbefore closing files after writing. Syncing before close, periodt.--bufsize SIZEβ Set the I/O buffer to beSIZEbytes. Units likeMBandGBmay immediately follow the number without spaces (e.g.8MB). The default bufsize is4MB.--chunksize SIZEβ Multiple processes copy a large file in parallel by dividing it into chunks. Set chunk to be at minimumSIZEbytes. Units likeMBandGBcan immediately follow the number without spaces (e.g.64MB). The default chunksize is4MB.--memsize SIZEβ Set the memory limit to beSIZEbytes when reading archive files. For some archives,dtarcan distribute the file across processes to store segments of the archive in memory for faster processing. Units likeMBandGBmay immediately follow the number without spaces (eg.8MB). The default is256MB.--progress Nβ Print progress message tostdoutapproximately everyNseconds. The number of seconds must be a non-negative integer. A value of0disables progress messages.-v,--verboseβ Run in verbose mode. More yapping, more info.-q,--quietβ Run tool silently. No output is printed. The silent treatment, but useful.-h,--helpβ Print a brief message listing thedtar(1)options and usage.
π EXAMPLES π
- To create an archive of
dirnameddir.tar:
mpirun -np 128 dtar -c -f dir.tar dir/
- To extract an archive named
dir.tar:
mpirun -np 128 dtar -x -f dir.tar
π₯ SEE ALSO π₯
The mpiFileUtils source code and all documentation may be downloaded from https://github.com/hpc/mpifileutils.
π AUTHOR π
HPC
π COPYRIGHT π
2022, LLNL/LANL/UT-Battelle/DDN
okay thatβs the whole page, bestie β mpiFileUtils DTAR(1) manual, version 0.12, dated Jan 29, 2025. mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: mpifileutils 0.12
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms