X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=doc%2Ftar.texi;h=328ed9f79b701fb889110a565808947793d4db89;hb=5bfb6c5f9d105850ca9628dae7ef8d4d27687f70;hp=c38e3e6a9ab211cb657de4ceac7d92591bd1ba1a;hpb=62571aa7c33b4d6251a29c555d1802171ca8901a;p=chaz%2Ftar diff --git a/doc/tar.texi b/doc/tar.texi index c38e3e6..328ed9f 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -2402,6 +2402,13 @@ a read-only loopback mount, or use the @samp{noatime} mount option available on some systems. However, mounting typically requires superuser privileges and can be a pain to manage. +@opsummary{auto-compress} +@item --auto-compress +@itemx -a + +During a @option{--create} operation, enables automatic compressed +format recognition based on the archive suffix. @xref{gzip}. + @opsummary{backup} @item --backup=@var{backup-type} @@ -2540,6 +2547,14 @@ named @var{file}, but dump the directory node itself. @xref{exclude}. Exclude from dump any directory containing file named @var{file}. @xref{exclude}. +@opsummary{exclude-vcs} +@item --exclude-vcs + +Exclude from dump directories and files, that are internal for some +widely used version control systems. + +@xref{exclude}. + @opsummary{file} @item --file=@var{archive} @itemx -f @var{archive} @@ -2710,6 +2725,12 @@ backup, using @var{snapshot-file} to determine which files to backup. With other operations, informs @command{tar} that the archive is in incremental format. @xref{Incremental Dumps}. +@opsummary{lzma} +@item --lzma + +This option tells @command{tar} to read or write archives through +@command{lzma}. @xref{gzip}. + @opsummary{mode} @item --mode=@var{permissions} @@ -6506,6 +6527,42 @@ called as @w{@samp{tar -c -X foo .}} and the file @file{foo} contains a single line @file{*.o}, no files whose names end in @file{.o} will be added to the archive. +Notice, that lines from @var{file} are read verbatim. One of the +frequent errors is leaving some extra whitespace after a file name, +which is difficult to catch using text editors. + +However, empty lines are OK. + +@cindex version control system, excluding files +@cindex VCS, excluding files +@cindex SCCS, excluding files +@cindex RCS, excluding files +@cindex CVS, excluding files +@cindex SVN, excluding files +@cindex git, excluding files +@table @option +@opindex exclude-vcs +@item --exclude-vcs +Exclude files and directories used by some version control systems. +@end table + +As of version @value{VERSION}, the following files are excluded: + +@itemize @bullet +@item @file{CVS/}, and everything under it +@item @file{RCS/}, and everything under it +@item @file{SCCS/}, and everything under it +@item @file{.git/}, and everything under it +@item @file{.gitignore} +@item @file{.cvsignore} +@item @file{.svn/}, and everything under it +@item @file{.arch-ids/}, and everything under it +@item @file{@{arch@}/}, and everything under it +@item @file{=RELEASE-ID} +@item @file{=meta-update} +@item @file{=update} +@end itemize + @findex exclude-caches When creating an archive, the @option{--exclude-caches} option family causes @command{tar} to exclude all directories that contain a @dfn{cache @@ -6516,7 +6573,7 @@ Various applications write cache directory tags into directories they use to hold regenerable, non-precious data, so that such data can be more easily excluded from backups. -There are three @samp{exclude-caches} option, providing a different +There are three @samp{exclude-caches} options, each providing a different exclusion semantics: @table @option @@ -7897,18 +7954,18 @@ switch to @samp{posix}. @cindex Storing archives in compressed format @GNUTAR{} is able to create and read compressed archives. It supports -@command{gzip} and @command{bzip2} compression programs. For backward -compatibility, it also supports @command{compress} command, although -we strongly recommend against using it, since there is a patent -covering the algorithm it uses and you could be sued for patent -infringement merely by running @command{compress}! Besides, it is less -effective than @command{gzip} and @command{bzip2}. +@command{gzip}, @command{bzip2} and @command{lzma} compression +programs. For backward compatibility, it also supports +@command{compress} command, although we strongly recommend against +using it, because it is by far less effective than other compression +programs@footnote{It also had patent problems in the past.}. Creating a compressed archive is simple: you just specify a @dfn{compression option} along with the usual archive creation commands. The compression option is @option{-z} (@option{--gzip}) to create a @command{gzip} compressed archive, @option{-j} -(@option{--bzip2}) to create a @command{bzip2} compressed archive, and +(@option{--bzip2}) to create a @command{bzip2} compressed archive, +@command{lzma} to create an @asis{LZMA} compressed archive and @option{-Z} (@option{--compress}) to use @command{compress} program. For example: @@ -7916,6 +7973,26 @@ For example: $ @kbd{tar cfz archive.tar.gz .} @end smallexample +You can also let @GNUTAR{} select the compression program basing on +the suffix of the archive file name. This is done using +@option{--auto-compress} (@option{-a}) command line option. For +example, the following invocation will use @command{bzip2} for +compression: + +@smallexample +$ @kbd{tar cfa archive.tar.bz2 .} +@end smallexample + +@noindent +whereas the following one will use @command{lzma}: + +@smallexample +$ @kbd{tar cfa archive.tar.lzma .} +@end smallexample + +For a complete list of file name suffixes recognized by @GNUTAR{}, +@ref{auto-compress}. + Reading compressed archive is even simpler: you don't need to specify any additional options as @GNUTAR{} recognizes its format automatically. Thus, the following commands will list and extract the @@ -7957,6 +8034,28 @@ compressed. The following table summarizes compression options used by @GNUTAR{}. @table @option +@anchor{auto-compress} +@opindex auto-compress +@item --auto-compress +@itemx -a +Select a compression program to use by the archive file name +suffix. The following suffixes are recognized: + +@multitable @columnfractions 0.3 0.6 +@headitem Suffix @tab Compression program +@item @samp{.gz} @tab @command{gzip} +@item @samp{.tgz} @tab @command{gzip} +@item @samp{.taz} @tab @command{gzip} +@item @samp{.Z} @tab @command{compress} +@item @samp{.taZ} @tab @command{compress} +@item @samp{.bz2} @tab @command{bzip2} +@item @samp{.tz2} @tab @command{bzip2} +@item @samp{.tbz2} @tab @command{bzip2} +@item @samp{.tbz} @tab @command{bzip2} +@item @samp{.lzma} @tab @command{lzma} +@item @samp{.tlz} @tab @command{lzma} +@end multitable + @opindex gzip @opindex ungzip @item -z @@ -8003,6 +8102,10 @@ So, there are pros and cons. We'll see! @itemx --bzip2 Filter the archive through @code{bzip2}. Otherwise like @option{--gzip}. +@opindex lzma +@item --lzma +Filter the archive through @command{lzma}. Otherwise like @option{--gzip}. + @opindex compress @opindex uncompress @item -Z @@ -8010,11 +8113,6 @@ Filter the archive through @code{bzip2}. Otherwise like @option{--gzip}. @itemx --uncompress Filter the archive through @command{compress}. Otherwise like @option{--gzip}. -The @acronym{GNU} Project recommends you not use -@command{compress}, because there is a patent covering the algorithm it -uses. You could be sued for patent infringement merely by running -@command{compress}. - @opindex use-compress-program @item --use-compress-program=@var{prog} Use external compression program @var{prog}. Use this option if you