xref: /freebsd/contrib/libarchive/tar/bsdtar.1 (revision cdf63a700c77204252e3c2e38d7106965559f3c6)
1caf54c4fSMartin Matuska.\" Copyright (c) 2003-2007 Tim Kientzle
2caf54c4fSMartin Matuska.\" All rights reserved.
3caf54c4fSMartin Matuska.\"
4caf54c4fSMartin Matuska.\" Redistribution and use in source and binary forms, with or without
5caf54c4fSMartin Matuska.\" modification, are permitted provided that the following conditions
6caf54c4fSMartin Matuska.\" are met:
7caf54c4fSMartin Matuska.\" 1. Redistributions of source code must retain the above copyright
8caf54c4fSMartin Matuska.\"    notice, this list of conditions and the following disclaimer.
9caf54c4fSMartin Matuska.\" 2. Redistributions in binary form must reproduce the above copyright
10caf54c4fSMartin Matuska.\"    notice, this list of conditions and the following disclaimer in the
11caf54c4fSMartin Matuska.\"    documentation and/or other materials provided with the distribution.
12caf54c4fSMartin Matuska.\"
13caf54c4fSMartin Matuska.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14caf54c4fSMartin Matuska.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15caf54c4fSMartin Matuska.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16caf54c4fSMartin Matuska.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17caf54c4fSMartin Matuska.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18caf54c4fSMartin Matuska.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19caf54c4fSMartin Matuska.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20caf54c4fSMartin Matuska.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21caf54c4fSMartin Matuska.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22caf54c4fSMartin Matuska.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23caf54c4fSMartin Matuska.\" SUCH DAMAGE.
24caf54c4fSMartin Matuska.\"
256c22d9efSMartin Matuska.\" $FreeBSD$
26caf54c4fSMartin Matuska.\"
27*cdf63a70SMartin Matuska.Dd September 16, 2014
286c95142eSMartin Matuska.Dt TAR 1
29caf54c4fSMartin Matuska.Os
30caf54c4fSMartin Matuska.Sh NAME
31caf54c4fSMartin Matuska.Nm tar
32caf54c4fSMartin Matuska.Nd manipulate tape archives
33caf54c4fSMartin Matuska.Sh SYNOPSIS
34caf54c4fSMartin Matuska.Nm
35caf54c4fSMartin Matuska.Op Ar bundled-flags Ao args Ac
36caf54c4fSMartin Matuska.Op Ao Ar file Ac | Ao Ar pattern Ac ...
37caf54c4fSMartin Matuska.Nm
38caf54c4fSMartin Matuska.Brq Fl c
39caf54c4fSMartin Matuska.Op Ar options
40caf54c4fSMartin Matuska.Op Ar files | Ar directories
41caf54c4fSMartin Matuska.Nm
42caf54c4fSMartin Matuska.Brq Fl r | Fl u
43caf54c4fSMartin Matuska.Fl f Ar archive-file
44caf54c4fSMartin Matuska.Op Ar options
45caf54c4fSMartin Matuska.Op Ar files | Ar directories
46caf54c4fSMartin Matuska.Nm
47caf54c4fSMartin Matuska.Brq Fl t | Fl x
48caf54c4fSMartin Matuska.Op Ar options
49caf54c4fSMartin Matuska.Op Ar patterns
50caf54c4fSMartin Matuska.Sh DESCRIPTION
51caf54c4fSMartin Matuska.Nm
52caf54c4fSMartin Matuskacreates and manipulates streaming archive files.
53c5d360f8SMartin MatuskaThis implementation can extract from tar, pax, cpio, zip, jar, ar, xar,
546c95142eSMartin Matuskarpm, 7-zip, and ISO 9660 cdrom images and can create tar, pax, cpio, ar, zip,
556c95142eSMartin Matuska7-zip, and shar archives.
56caf54c4fSMartin Matuska.Pp
57caf54c4fSMartin MatuskaThe first synopsis form shows a
58caf54c4fSMartin Matuska.Dq bundled
59caf54c4fSMartin Matuskaoption word.
60caf54c4fSMartin MatuskaThis usage is provided for compatibility with historical implementations.
61caf54c4fSMartin MatuskaSee COMPATIBILITY below for details.
62caf54c4fSMartin Matuska.Pp
63caf54c4fSMartin MatuskaThe other synopsis forms show the preferred usage.
64caf54c4fSMartin MatuskaThe first option to
65caf54c4fSMartin Matuska.Nm
66caf54c4fSMartin Matuskais a mode indicator from the following list:
67caf54c4fSMartin Matuska.Bl -tag -compact -width indent
68caf54c4fSMartin Matuska.It Fl c
69caf54c4fSMartin MatuskaCreate a new archive containing the specified items.
70c5d360f8SMartin MatuskaThe long option form is
71c5d360f8SMartin Matuska.Fl Fl create .
72caf54c4fSMartin Matuska.It Fl r
73caf54c4fSMartin MatuskaLike
74caf54c4fSMartin Matuska.Fl c ,
75caf54c4fSMartin Matuskabut new entries are appended to the archive.
76caf54c4fSMartin MatuskaNote that this only works on uncompressed archives stored in regular files.
77caf54c4fSMartin MatuskaThe
78caf54c4fSMartin Matuska.Fl f
79caf54c4fSMartin Matuskaoption is required.
80c5d360f8SMartin MatuskaThe long option form is
81c5d360f8SMartin Matuska.Fl Fl append .
82caf54c4fSMartin Matuska.It Fl t
83caf54c4fSMartin MatuskaList archive contents to stdout.
84c5d360f8SMartin MatuskaThe long option form is
85c5d360f8SMartin Matuska.Fl Fl list .
86caf54c4fSMartin Matuska.It Fl u
87caf54c4fSMartin MatuskaLike
88caf54c4fSMartin Matuska.Fl r ,
89caf54c4fSMartin Matuskabut new entries are added only if they have a modification date
90caf54c4fSMartin Matuskanewer than the corresponding entry in the archive.
91caf54c4fSMartin MatuskaNote that this only works on uncompressed archives stored in regular files.
92caf54c4fSMartin MatuskaThe
93caf54c4fSMartin Matuska.Fl f
94caf54c4fSMartin Matuskaoption is required.
95c5d360f8SMartin MatuskaThe long form is
96c5d360f8SMartin Matuska.Fl Fl update .
97caf54c4fSMartin Matuska.It Fl x
98caf54c4fSMartin MatuskaExtract to disk from the archive.
99caf54c4fSMartin MatuskaIf a file with the same name appears more than once in the archive,
100caf54c4fSMartin Matuskaeach copy will be extracted, with later copies overwriting (replacing)
101caf54c4fSMartin Matuskaearlier copies.
102c5d360f8SMartin MatuskaThe long option form is
103c5d360f8SMartin Matuska.Fl Fl extract .
104caf54c4fSMartin Matuska.El
105caf54c4fSMartin Matuska.Pp
106caf54c4fSMartin MatuskaIn
107caf54c4fSMartin Matuska.Fl c ,
108caf54c4fSMartin Matuska.Fl r ,
109caf54c4fSMartin Matuskaor
110caf54c4fSMartin Matuska.Fl u
111caf54c4fSMartin Matuskamode, each specified file or directory is added to the
112caf54c4fSMartin Matuskaarchive in the order specified on the command line.
113caf54c4fSMartin MatuskaBy default, the contents of each directory are also archived.
114caf54c4fSMartin Matuska.Pp
115caf54c4fSMartin MatuskaIn extract or list mode, the entire command line
116caf54c4fSMartin Matuskais read and parsed before the archive is opened.
117caf54c4fSMartin MatuskaThe pathnames or patterns on the command line indicate
118caf54c4fSMartin Matuskawhich items in the archive should be processed.
119caf54c4fSMartin MatuskaPatterns are shell-style globbing patterns as
120caf54c4fSMartin Matuskadocumented in
121caf54c4fSMartin Matuska.Xr tcsh 1 .
122caf54c4fSMartin Matuska.Sh OPTIONS
123caf54c4fSMartin MatuskaUnless specifically stated otherwise, options are applicable in
124caf54c4fSMartin Matuskaall operating modes.
125caf54c4fSMartin Matuska.Bl -tag -width indent
126caf54c4fSMartin Matuska.It Cm @ Ns Pa archive
127caf54c4fSMartin Matuska(c and r mode only)
128caf54c4fSMartin MatuskaThe specified archive is opened and the entries
129caf54c4fSMartin Matuskain it will be appended to the current archive.
130caf54c4fSMartin MatuskaAs a simple example,
131caf54c4fSMartin Matuska.Dl Nm Fl c Fl f Pa - Pa newfile Cm @ Ns Pa original.tar
132caf54c4fSMartin Matuskawrites a new archive to standard output containing a file
133caf54c4fSMartin Matuska.Pa newfile
134caf54c4fSMartin Matuskaand all of the entries from
135caf54c4fSMartin Matuska.Pa original.tar .
136caf54c4fSMartin MatuskaIn contrast,
137caf54c4fSMartin Matuska.Dl Nm Fl c Fl f Pa - Pa newfile Pa original.tar
138caf54c4fSMartin Matuskacreates a new archive with only two entries.
139caf54c4fSMartin MatuskaSimilarly,
140c5d360f8SMartin Matuska.Dl Nm Fl czf Pa - Fl Fl format Cm pax Cm @ Ns Pa -
141caf54c4fSMartin Matuskareads an archive from standard input (whose format will be determined
142caf54c4fSMartin Matuskaautomatically) and converts it into a gzip-compressed
143caf54c4fSMartin Matuskapax-format archive on stdout.
144caf54c4fSMartin MatuskaIn this way,
145caf54c4fSMartin Matuska.Nm
146caf54c4fSMartin Matuskacan be used to convert archives from one format to another.
147acc60b03SMartin Matuska.It Fl a , Fl Fl auto-compress
148acc60b03SMartin Matuska(c mode only)
149acc60b03SMartin MatuskaUse the archive suffix to decide a set of the format and
150acc60b03SMartin Matuskathe compressions.
151acc60b03SMartin MatuskaAs a simple example,
152acc60b03SMartin Matuska.Dl Nm Fl a Fl cf Pa archive.tgz source.c source.h
153acc60b03SMartin Matuskacreates a new archive with restricted pax format and gzip compression,
154acc60b03SMartin Matuska.Dl Nm Fl a Fl cf Pa archive.tar.bz2.uu source.c source.h
155acc60b03SMartin Matuskacreates a new archive with restricted pax format and bzip2 compression
156acc60b03SMartin Matuskaand uuencode compression,
157acc60b03SMartin Matuska.Dl Nm Fl a Fl cf Pa archive.zip source.c source.h
158acc60b03SMartin Matuskacreates a new archive with zip format,
159acc60b03SMartin Matuska.Dl Nm Fl a Fl jcf Pa archive.tgz source.c source.h
160acc60b03SMartin Matuskaignores the
161acc60b03SMartin Matuska.Dq -j
162acc60b03SMartin Matuskaoption, and creates a new archive with restricted pax format
163acc60b03SMartin Matuskaand gzip compression,
164acc60b03SMartin Matuska.Dl Nm Fl a Fl jcf Pa archive.xxx source.c source.h
165acc60b03SMartin Matuskaif it is unknown suffix or no suffix, creates a new archive with
166acc60b03SMartin Matuskarestricted pax format and bzip2 compression.
167c5d360f8SMartin Matuska.It Fl B , Fl Fl read-full-blocks
168c5d360f8SMartin MatuskaIgnored for compatibility with other
169c5d360f8SMartin Matuska.Xr tar 1
170c5d360f8SMartin Matuskaimplementations.
171c5d360f8SMartin Matuska.It Fl b Ar blocksize , Fl Fl block-size Ar blocksize
172caf54c4fSMartin MatuskaSpecify the block size, in 512-byte records, for tape drive I/O.
173caf54c4fSMartin MatuskaAs a rule, this argument is only needed when reading from or writing
174caf54c4fSMartin Matuskato tape drives, and usually not even then as the default block size of
175caf54c4fSMartin Matuska20 records (10240 bytes) is very common.
1766c95142eSMartin Matuska.It Fl C Ar directory , Fl Fl cd Ar directory , Fl Fl directory Ar directory
177caf54c4fSMartin MatuskaIn c and r mode, this changes the directory before adding
178caf54c4fSMartin Matuskathe following files.
179caf54c4fSMartin MatuskaIn x mode, change directories after opening the archive
180caf54c4fSMartin Matuskabut before extracting entries from the archive.
181c5d360f8SMartin Matuska.It Fl Fl chroot
182caf54c4fSMartin Matuska(x mode only)
183caf54c4fSMartin Matuska.Fn chroot
184caf54c4fSMartin Matuskato the current directory after processing any
185caf54c4fSMartin Matuska.Fl C
186caf54c4fSMartin Matuskaoptions and before extracting any files.
187*cdf63a70SMartin Matuska.It Fl Fl clear-nochange-fflags
188*cdf63a70SMartin Matuska(x mode only)
189*cdf63a70SMartin MatuskaBefore removing file system objects to replace them, clear platform-specific
190*cdf63a70SMartin Matuskafile flags that might prevent removal.
191c5d360f8SMartin Matuska.It Fl Fl disable-copyfile
192c5d360f8SMartin MatuskaMac OS X specific.
193c5d360f8SMartin MatuskaDisable the use of
194c5d360f8SMartin Matuska.Xr copyfile 3 .
195c5d360f8SMartin Matuska.It Fl Fl exclude Ar pattern
196caf54c4fSMartin MatuskaDo not process files or directories that match the
197caf54c4fSMartin Matuskaspecified pattern.
198caf54c4fSMartin MatuskaNote that exclusions take precedence over patterns or filenames
199caf54c4fSMartin Matuskaspecified on the command line.
200c5d360f8SMartin Matuska.It Fl Fl format Ar format
201caf54c4fSMartin Matuska(c, r, u mode only)
202caf54c4fSMartin MatuskaUse the specified format for the created archive.
203caf54c4fSMartin MatuskaSupported formats include
204caf54c4fSMartin Matuska.Dq cpio ,
205caf54c4fSMartin Matuska.Dq pax ,
206caf54c4fSMartin Matuska.Dq shar ,
207caf54c4fSMartin Matuskaand
208caf54c4fSMartin Matuska.Dq ustar .
209caf54c4fSMartin MatuskaOther formats may also be supported; see
210caf54c4fSMartin Matuska.Xr libarchive-formats 5
211caf54c4fSMartin Matuskafor more information about currently-supported formats.
212caf54c4fSMartin MatuskaIn r and u modes, when extending an existing archive, the format specified
213caf54c4fSMartin Matuskahere must be compatible with the format of the existing archive on disk.
214c5d360f8SMartin Matuska.It Fl f Ar file , Fl Fl file Ar file
215caf54c4fSMartin MatuskaRead the archive from or write the archive to the specified file.
216caf54c4fSMartin MatuskaThe filename can be
217caf54c4fSMartin Matuska.Pa -
218caf54c4fSMartin Matuskafor standard input or standard output.
219c5d360f8SMartin MatuskaThe default varies by system;
220c5d360f8SMartin Matuskaon
221caf54c4fSMartin Matuska.Fx ,
222c5d360f8SMartin Matuskathe default is
223c5d360f8SMartin Matuska.Pa /dev/sa0 ;
224c5d360f8SMartin Matuskaon Linux, the default is
225c5d360f8SMartin Matuska.Pa /dev/st0 .
226caf54c4fSMartin Matuska.It Fl Fl gid Ar id
227caf54c4fSMartin MatuskaUse the provided group id number.
228caf54c4fSMartin MatuskaOn extract, this overrides the group id in the archive;
229caf54c4fSMartin Matuskathe group name in the archive will be ignored.
230caf54c4fSMartin MatuskaOn create, this overrides the group id read from disk;
231caf54c4fSMartin Matuskaif
232caf54c4fSMartin Matuska.Fl Fl gname
233caf54c4fSMartin Matuskais not also specified, the group name will be set to
234caf54c4fSMartin Matuskamatch the group id.
235caf54c4fSMartin Matuska.It Fl Fl gname Ar name
236caf54c4fSMartin MatuskaUse the provided group name.
237caf54c4fSMartin MatuskaOn extract, this overrides the group name in the archive;
238caf54c4fSMartin Matuskaif the provided group name does not exist on the system,
239caf54c4fSMartin Matuskathe group id
240caf54c4fSMartin Matuska(from the archive or from the
241caf54c4fSMartin Matuska.Fl Fl gid
242caf54c4fSMartin Matuskaoption)
243caf54c4fSMartin Matuskawill be used instead.
244caf54c4fSMartin MatuskaOn create, this sets the group name that will be stored
245caf54c4fSMartin Matuskain the archive;
246caf54c4fSMartin Matuskathe name will not be verified against the system group database.
247caf54c4fSMartin Matuska.It Fl H
248caf54c4fSMartin Matuska(c and r mode only)
249caf54c4fSMartin MatuskaSymbolic links named on the command line will be followed; the
250caf54c4fSMartin Matuskatarget of the link will be archived, not the link itself.
251caf54c4fSMartin Matuska.It Fl h
252caf54c4fSMartin Matuska(c and r mode only)
253caf54c4fSMartin MatuskaSynonym for
254caf54c4fSMartin Matuska.Fl L .
255caf54c4fSMartin Matuska.It Fl I
256caf54c4fSMartin MatuskaSynonym for
257caf54c4fSMartin Matuska.Fl T .
258c5d360f8SMartin Matuska.It Fl Fl help
259c5d360f8SMartin MatuskaShow usage.
260acc60b03SMartin Matuska.It Fl Fl hfsCompression
261acc60b03SMartin Matuska(x mode only)
262acc60b03SMartin MatuskaMac OS X specific(v10.6 or later). Compress extracted regular files with HFS+ compression.
263*cdf63a70SMartin Matuska.It Fl Fl ignore-zeros
264*cdf63a70SMartin MatuskaAn alias of
265*cdf63a70SMartin Matuska.Fl Fl options Cm read_concatenated_archives
266*cdf63a70SMartin Matuskafor compatibility with GNU tar.
267c5d360f8SMartin Matuska.It Fl Fl include Ar pattern
268caf54c4fSMartin MatuskaProcess only files or directories that match the specified pattern.
269caf54c4fSMartin MatuskaNote that exclusions specified with
270c5d360f8SMartin Matuska.Fl Fl exclude
271caf54c4fSMartin Matuskatake precedence over inclusions.
272caf54c4fSMartin MatuskaIf no inclusions are explicitly specified, all entries are processed by
273caf54c4fSMartin Matuskadefault.
274caf54c4fSMartin MatuskaThe
275c5d360f8SMartin Matuska.Fl Fl include
276caf54c4fSMartin Matuskaoption is especially useful when filtering archives.
277caf54c4fSMartin MatuskaFor example, the command
278c5d360f8SMartin Matuska.Dl Nm Fl c Fl f Pa new.tar Fl Fl include='*foo*' Cm @ Ns Pa old.tgz
279caf54c4fSMartin Matuskacreates a new archive
280caf54c4fSMartin Matuska.Pa new.tar
281caf54c4fSMartin Matuskacontaining only the entries from
282caf54c4fSMartin Matuska.Pa old.tgz
283caf54c4fSMartin Matuskacontaining the string
284caf54c4fSMartin Matuska.Sq foo .
285c5d360f8SMartin Matuska.It Fl J , Fl Fl xz
286c5d360f8SMartin Matuska(c mode only)
287c5d360f8SMartin MatuskaCompress the resulting archive with
288c5d360f8SMartin Matuska.Xr xz 1 .
289c5d360f8SMartin MatuskaIn extract or list modes, this option is ignored.
290c5d360f8SMartin MatuskaNote that, unlike other
291c5d360f8SMartin Matuska.Nm tar
292c5d360f8SMartin Matuskaimplementations, this implementation recognizes XZ compression
293c5d360f8SMartin Matuskaautomatically when reading archives.
294c5d360f8SMartin Matuska.It Fl j , Fl Fl bzip , Fl Fl bzip2 , Fl Fl bunzip2
295caf54c4fSMartin Matuska(c mode only)
296caf54c4fSMartin MatuskaCompress the resulting archive with
297caf54c4fSMartin Matuska.Xr bzip2 1 .
298caf54c4fSMartin MatuskaIn extract or list modes, this option is ignored.
299caf54c4fSMartin MatuskaNote that, unlike other
300caf54c4fSMartin Matuska.Nm tar
301caf54c4fSMartin Matuskaimplementations, this implementation recognizes bzip2 compression
302caf54c4fSMartin Matuskaautomatically when reading archives.
303c5d360f8SMartin Matuska.It Fl k , Fl Fl keep-old-files
304caf54c4fSMartin Matuska(x mode only)
305caf54c4fSMartin MatuskaDo not overwrite existing files.
306caf54c4fSMartin MatuskaIn particular, if a file appears more than once in an archive,
307caf54c4fSMartin Matuskalater copies will not overwrite earlier copies.
308c5d360f8SMartin Matuska.It Fl Fl keep-newer-files
309caf54c4fSMartin Matuska(x mode only)
310caf54c4fSMartin MatuskaDo not overwrite existing files that are newer than the
311caf54c4fSMartin Matuskaversions appearing in the archive being extracted.
312c5d360f8SMartin Matuska.It Fl L , Fl Fl dereference
313caf54c4fSMartin Matuska(c and r mode only)
314caf54c4fSMartin MatuskaAll symbolic links will be followed.
315caf54c4fSMartin MatuskaNormally, symbolic links are archived as such.
316caf54c4fSMartin MatuskaWith this option, the target of the link will be archived instead.
317c5d360f8SMartin Matuska.It Fl l , Fl Fl check-links
318c5d360f8SMartin Matuska(c and r modes only)
319c5d360f8SMartin MatuskaIssue a warning message unless all links to each file are archived.
320acc60b03SMartin Matuska.It Fl Fl lrzip
321acc60b03SMartin Matuska(c mode only)
322acc60b03SMartin MatuskaCompress the resulting archive with
323acc60b03SMartin Matuska.Xr lrzip 1 .
324acc60b03SMartin MatuskaIn extract or list modes, this option is ignored.
325*cdf63a70SMartin Matuska.It Fl Fl lz4
326*cdf63a70SMartin Matuska(c mode only)
327*cdf63a70SMartin MatuskaCompress the archive with lz4-compatible compression before writing it.
328*cdf63a70SMartin MatuskaIn input mode, this option is ignored; lz4 compression is recognized
329*cdf63a70SMartin Matuskaautomatically on input.
330c5d360f8SMartin Matuska.It Fl Fl lzma
331c5d360f8SMartin Matuska(c mode only) Compress the resulting archive with the original LZMA algorithm.
332c5d360f8SMartin MatuskaUse of this option is discouraged and new archives should be created with
333c5d360f8SMartin Matuska.Fl Fl xz
334c5d360f8SMartin Matuskainstead.
335c5d360f8SMartin MatuskaNote that, unlike other
336c5d360f8SMartin Matuska.Nm tar
337c5d360f8SMartin Matuskaimplementations, this implementation recognizes LZMA compression
338c5d360f8SMartin Matuskaautomatically when reading archives.
339acc60b03SMartin Matuska.It Fl Fl lzop
340acc60b03SMartin Matuska(c mode only)
341acc60b03SMartin MatuskaCompress the resulting archive with
342acc60b03SMartin Matuska.Xr lzop 1 .
343acc60b03SMartin MatuskaIn extract or list modes, this option is ignored.
344c5d360f8SMartin Matuska.It Fl m , Fl Fl modification-time
345caf54c4fSMartin Matuska(x mode only)
346caf54c4fSMartin MatuskaDo not extract modification time.
347caf54c4fSMartin MatuskaBy default, the modification time is set to the time stored in the archive.
348c5d360f8SMartin Matuska.It Fl n , Fl Fl norecurse , Fl Fl no-recursion
349caf54c4fSMartin Matuska(c, r, u modes only)
350caf54c4fSMartin MatuskaDo not recursively archive the contents of directories.
351c5d360f8SMartin Matuska.It Fl Fl newer Ar date
352caf54c4fSMartin Matuska(c, r, u modes only)
353caf54c4fSMartin MatuskaOnly include files and directories newer than the specified date.
354caf54c4fSMartin MatuskaThis compares ctime entries.
355c5d360f8SMartin Matuska.It Fl Fl newer-mtime Ar date
356caf54c4fSMartin Matuska(c, r, u modes only)
357caf54c4fSMartin MatuskaLike
358c5d360f8SMartin Matuska.Fl Fl newer ,
359caf54c4fSMartin Matuskaexcept it compares mtime entries instead of ctime entries.
360c5d360f8SMartin Matuska.It Fl Fl newer-than Pa file
361caf54c4fSMartin Matuska(c, r, u modes only)
362caf54c4fSMartin MatuskaOnly include files and directories newer than the specified file.
363caf54c4fSMartin MatuskaThis compares ctime entries.
364c5d360f8SMartin Matuska.It Fl Fl newer-mtime-than Pa file
365caf54c4fSMartin Matuska(c, r, u modes only)
366caf54c4fSMartin MatuskaLike
367c5d360f8SMartin Matuska.Fl Fl newer-than ,
368caf54c4fSMartin Matuskaexcept it compares mtime entries instead of ctime entries.
369c5d360f8SMartin Matuska.It Fl Fl nodump
370caf54c4fSMartin Matuska(c and r modes only)
371caf54c4fSMartin MatuskaHonor the nodump file flag by skipping this file.
372acc60b03SMartin Matuska.It Fl Fl nopreserveHFSCompression
373acc60b03SMartin Matuska(x mode only)
374acc60b03SMartin MatuskaMac OS X specific(v10.6 or later). Do not compress extracted regular files
375acc60b03SMartin Matuskawhich were compressed with HFS+ compression before archived.
376acc60b03SMartin MatuskaBy default, compress the regular files again with HFS+ compression.
377c5d360f8SMartin Matuska.It Fl Fl null
378caf54c4fSMartin Matuska(use with
379c5d360f8SMartin Matuska.Fl I
380caf54c4fSMartin Matuskaor
381c5d360f8SMartin Matuska.Fl T )
382caf54c4fSMartin MatuskaFilenames or patterns are separated by null characters,
383caf54c4fSMartin Matuskanot by newlines.
384caf54c4fSMartin MatuskaThis is often used to read filenames output by the
385caf54c4fSMartin Matuska.Fl print0
386caf54c4fSMartin Matuskaoption to
387caf54c4fSMartin Matuska.Xr find 1 .
388caf54c4fSMartin Matuska.It Fl Fl no-same-owner
389caf54c4fSMartin Matuska(x mode only)
390caf54c4fSMartin MatuskaDo not extract owner and group IDs.
391caf54c4fSMartin MatuskaThis is the reverse of
392caf54c4fSMartin Matuska.Fl Fl same-owner
393caf54c4fSMartin Matuskaand the default behavior if
394caf54c4fSMartin Matuska.Nm
395caf54c4fSMartin Matuskais run as non-root.
396caf54c4fSMartin Matuska.It Fl Fl no-same-permissions
397caf54c4fSMartin Matuska(x mode only)
398caf54c4fSMartin MatuskaDo not extract full permissions (SGID, SUID, sticky bit, ACLs,
399caf54c4fSMartin Matuskaextended attributes or extended file flags).
400caf54c4fSMartin MatuskaThis is the reverse of
401caf54c4fSMartin Matuska.Fl p
402caf54c4fSMartin Matuskaand the default behavior if
403caf54c4fSMartin Matuska.Nm
404caf54c4fSMartin Matuskais run as non-root.
405caf54c4fSMartin Matuska.It Fl Fl numeric-owner
406caf54c4fSMartin MatuskaThis is equivalent to
407caf54c4fSMartin Matuska.Fl Fl uname
408caf54c4fSMartin Matuska.Qq
409caf54c4fSMartin Matuska.Fl Fl gname
410caf54c4fSMartin Matuska.Qq .
411caf54c4fSMartin MatuskaOn extract, it causes user and group names in the archive
412caf54c4fSMartin Matuskato be ignored in favor of the numeric user and group ids.
413caf54c4fSMartin MatuskaOn create, it causes user and group names to not be stored
414caf54c4fSMartin Matuskain the archive.
415c5d360f8SMartin Matuska.It Fl O , Fl Fl to-stdout
416caf54c4fSMartin Matuska(x, t modes only)
417caf54c4fSMartin MatuskaIn extract (-x) mode, files will be written to standard out rather than
418caf54c4fSMartin Matuskabeing extracted to disk.
419caf54c4fSMartin MatuskaIn list (-t) mode, the file listing will be written to stderr rather than
420caf54c4fSMartin Matuskathe usual stdout.
421caf54c4fSMartin Matuska.It Fl o
422caf54c4fSMartin Matuska(x mode)
423caf54c4fSMartin MatuskaUse the user and group of the user running the program rather
424caf54c4fSMartin Matuskathan those specified in the archive.
425caf54c4fSMartin MatuskaNote that this has no significance unless
426caf54c4fSMartin Matuska.Fl p
427caf54c4fSMartin Matuskais specified, and the program is being run by the root user.
428caf54c4fSMartin MatuskaIn this case, the file modes and flags from
429caf54c4fSMartin Matuskathe archive will be restored, but ACLs or owner information in
430caf54c4fSMartin Matuskathe archive will be discarded.
431caf54c4fSMartin Matuska.It Fl o
432caf54c4fSMartin Matuska(c, r, u mode)
433caf54c4fSMartin MatuskaA synonym for
434c5d360f8SMartin Matuska.Fl Fl format Ar ustar
435acc60b03SMartin Matuska.It Fl Fl older Ar date
436acc60b03SMartin Matuska(c, r, u modes only)
437acc60b03SMartin MatuskaOnly include files and directories older than the specified date.
438acc60b03SMartin MatuskaThis compares ctime entries.
439acc60b03SMartin Matuska.It Fl Fl older-mtime Ar date
440acc60b03SMartin Matuska(c, r, u modes only)
441acc60b03SMartin MatuskaLike
442acc60b03SMartin Matuska.Fl Fl older ,
443acc60b03SMartin Matuskaexcept it compares mtime entries instead of ctime entries.
444acc60b03SMartin Matuska.It Fl Fl older-than Pa file
445acc60b03SMartin Matuska(c, r, u modes only)
446acc60b03SMartin MatuskaOnly include files and directories older than the specified file.
447acc60b03SMartin MatuskaThis compares ctime entries.
448acc60b03SMartin Matuska.It Fl Fl older-mtime-than Pa file
449acc60b03SMartin Matuska(c, r, u modes only)
450acc60b03SMartin MatuskaLike
451acc60b03SMartin Matuska.Fl Fl older-than ,
452acc60b03SMartin Matuskaexcept it compares mtime entries instead of ctime entries.
453c5d360f8SMartin Matuska.It Fl Fl one-file-system
454caf54c4fSMartin Matuska(c, r, and u modes)
455caf54c4fSMartin MatuskaDo not cross mount points.
456c5d360f8SMartin Matuska.It Fl Fl options Ar options
457caf54c4fSMartin MatuskaSelect optional behaviors for particular modules.
458caf54c4fSMartin MatuskaThe argument is a text string containing comma-separated
459caf54c4fSMartin Matuskakeywords and values.
460caf54c4fSMartin MatuskaThese are passed to the modules that handle particular
461caf54c4fSMartin Matuskaformats to control how those formats will behave.
462caf54c4fSMartin MatuskaEach option has one of the following forms:
463caf54c4fSMartin Matuska.Bl -tag -compact -width indent
464caf54c4fSMartin Matuska.It Ar key=value
465caf54c4fSMartin MatuskaThe key will be set to the specified value in every module that supports it.
466caf54c4fSMartin MatuskaModules that do not support this key will ignore it.
467caf54c4fSMartin Matuska.It Ar key
468caf54c4fSMartin MatuskaThe key will be enabled in every module that supports it.
469caf54c4fSMartin MatuskaThis is equivalent to
470caf54c4fSMartin Matuska.Ar key Ns Cm =1 .
471caf54c4fSMartin Matuska.It Ar !key
472caf54c4fSMartin MatuskaThe key will be disabled in every module that supports it.
473caf54c4fSMartin Matuska.It Ar module:key=value , Ar module:key , Ar module:!key
474caf54c4fSMartin MatuskaAs above, but the corresponding key and value will be provided
475caf54c4fSMartin Matuskaonly to modules whose name matches
476caf54c4fSMartin Matuska.Ar module .
477caf54c4fSMartin Matuska.El
478caf54c4fSMartin MatuskaThe currently supported modules and keys are:
479caf54c4fSMartin Matuska.Bl -tag -compact -width indent
480caf54c4fSMartin Matuska.It Cm iso9660:joliet
481caf54c4fSMartin MatuskaSupport Joliet extensions.
482caf54c4fSMartin MatuskaThis is enabled by default, use
483caf54c4fSMartin Matuska.Cm !joliet
484caf54c4fSMartin Matuskaor
485caf54c4fSMartin Matuska.Cm iso9660:!joliet
486caf54c4fSMartin Matuskato disable.
487caf54c4fSMartin Matuska.It Cm iso9660:rockridge
488caf54c4fSMartin MatuskaSupport Rock Ridge extensions.
489caf54c4fSMartin MatuskaThis is enabled by default, use
490caf54c4fSMartin Matuska.Cm !rockridge
491caf54c4fSMartin Matuskaor
492caf54c4fSMartin Matuska.Cm iso9660:!rockridge
493caf54c4fSMartin Matuskato disable.
494caf54c4fSMartin Matuska.It Cm gzip:compression-level
495acc60b03SMartin MatuskaA decimal integer from 1 to 9 specifying the gzip compression level.
496acc60b03SMartin Matuska.It Cm gzip:timestamp
497acc60b03SMartin MatuskaStore timestamp. This is enabled by default, use
498acc60b03SMartin Matuska.Cm !timestamp
499acc60b03SMartin Matuskaor
500acc60b03SMartin Matuska.Cm gzip:!timestamp
501acc60b03SMartin Matuskato disable.
502acc60b03SMartin Matuska.It Cm lrzip:compression Ns = Ns Ar type
503acc60b03SMartin MatuskaUse
504acc60b03SMartin Matuska.Ar type
505acc60b03SMartin Matuskaas compression method.
506acc60b03SMartin MatuskaSupported values are bzip2, gzip, lzo (ultra fast),
507acc60b03SMartin Matuskaand zpaq (best, extremely slow).
508acc60b03SMartin Matuska.It Cm lrzip:compression-level
509acc60b03SMartin MatuskaA decimal integer from 1 to 9 specifying the lrzip compression level.
510*cdf63a70SMartin Matuska.It Cm lz4:compression-level
511*cdf63a70SMartin MatuskaA decimal integer from 1 to 9 specifying the lzop compression level.
512*cdf63a70SMartin Matuska.It Cm lz4:stream-checksum
513*cdf63a70SMartin MatuskaEnable stream checksum. This is by default, use
514*cdf63a70SMartin Matuska.Cm lz4:!stream-checksum
515*cdf63a70SMartin Matuskato disable.
516*cdf63a70SMartin Matuska.It Cm lz4:block-checksum
517*cdf63a70SMartin MatuskaEnable block checksum (Disabled by default).
518*cdf63a70SMartin Matuska.It Cm lz4:block-size
519*cdf63a70SMartin MatuskaA decimal integer from 4 to 7 specifying the lz4 compression block size
520*cdf63a70SMartin Matuska(7 is set by default).
521*cdf63a70SMartin Matuska.It Cm lz4:block-dependence
522*cdf63a70SMartin MatuskaUse the previous block of the block being compressed for
523*cdf63a70SMartin Matuskaa compression dictionary to improve compression ratio.
524acc60b03SMartin Matuska.It Cm lzop:compression-level
525acc60b03SMartin MatuskaA decimal integer from 1 to 9 specifying the lzop compression level.
526caf54c4fSMartin Matuska.It Cm xz:compression-level
527caf54c4fSMartin MatuskaA decimal integer from 0 to 9 specifying the xz compression level.
528caf54c4fSMartin Matuska.It Cm mtree: Ns Ar keyword
529caf54c4fSMartin MatuskaThe mtree writer module allows you to specify which mtree keywords
530caf54c4fSMartin Matuskawill be included in the output.
531caf54c4fSMartin MatuskaSupported keywords include:
532caf54c4fSMartin Matuska.Cm cksum , Cm device , Cm flags , Cm gid , Cm gname , Cm indent ,
533caf54c4fSMartin Matuska.Cm link , Cm md5 , Cm mode , Cm nlink , Cm rmd160 , Cm sha1 , Cm sha256 ,
534caf54c4fSMartin Matuska.Cm sha384 , Cm sha512 , Cm size , Cm time , Cm uid , Cm uname .
535caf54c4fSMartin MatuskaThe default is equivalent to:
536caf54c4fSMartin Matuska.Dq device, flags, gid, gname, link, mode, nlink, size, time, type, uid, uname .
537caf54c4fSMartin Matuska.It Cm mtree:all
538caf54c4fSMartin MatuskaEnables all of the above keywords.
539caf54c4fSMartin MatuskaYou can also use
540caf54c4fSMartin Matuska.Cm mtree:!all
541caf54c4fSMartin Matuskato disable all keywords.
542caf54c4fSMartin Matuska.It Cm mtree:use-set
543caf54c4fSMartin MatuskaEnable generation of
544caf54c4fSMartin Matuska.Cm /set
545caf54c4fSMartin Matuskalines in the output.
546caf54c4fSMartin Matuska.It Cm mtree:indent
547caf54c4fSMartin MatuskaProduce human-readable output by indenting options and splitting lines
548caf54c4fSMartin Matuskato fit into 80 columns.
549caf54c4fSMartin Matuska.It Cm zip:compression Ns = Ns Ar type
550caf54c4fSMartin MatuskaUse
551caf54c4fSMartin Matuska.Ar type
552caf54c4fSMartin Matuskaas compression method.
553caf54c4fSMartin MatuskaSupported values are store (uncompressed) and deflate (gzip algorithm).
554*cdf63a70SMartin Matuska.It Cm zip:encryption
555*cdf63a70SMartin MatuskaEnable encryption using traditional zip encryption.
556*cdf63a70SMartin Matuska.It Cm zip:encryption Ns = Ns Ar type
557*cdf63a70SMartin MatuskaUse
558*cdf63a70SMartin Matuska.Ar type
559*cdf63a70SMartin Matuskaas encryption type.
560*cdf63a70SMartin MatuskaSupported values are zipcrypt (traditional zip encryption),
561*cdf63a70SMartin Matuskaaes128 (WinZip AES-128 encryption) and aes256 (WinZip AES-256 encryption).
562*cdf63a70SMartin Matuska.It Cm read_concatenated_archives
563*cdf63a70SMartin MatuskaIgnore zeroed blocks in the archive, which occurs when multiple tar archives
564*cdf63a70SMartin Matuskahave been concatenated together.  Without this option, only the contents of
565*cdf63a70SMartin Matuskathe first concatenated archive would be read.  This option is comparable to
566*cdf63a70SMartin Matuskathe
567*cdf63a70SMartin Matuska.Fl i , Fl Fl ignore-zeros
568*cdf63a70SMartin Matuskaoption of GNU tar.
569caf54c4fSMartin Matuska.El
570caf54c4fSMartin MatuskaIf a provided option is not supported by any module, that
571caf54c4fSMartin Matuskais a fatal error.
572c5d360f8SMartin Matuska.It Fl P , Fl Fl absolute-paths
573caf54c4fSMartin MatuskaPreserve pathnames.
574caf54c4fSMartin MatuskaBy default, absolute pathnames (those that begin with a /
575caf54c4fSMartin Matuskacharacter) have the leading slash removed both when creating archives
576caf54c4fSMartin Matuskaand extracting from them.
577caf54c4fSMartin MatuskaAlso,
578caf54c4fSMartin Matuska.Nm
579caf54c4fSMartin Matuskawill refuse to extract archive entries whose pathnames contain
580caf54c4fSMartin Matuska.Pa ..
581caf54c4fSMartin Matuskaor whose target directory would be altered by a symlink.
582caf54c4fSMartin MatuskaThis option suppresses these behaviors.
583c5d360f8SMartin Matuska.It Fl p , Fl Fl insecure , Fl Fl preserve-permissions
584caf54c4fSMartin Matuska(x mode only)
585caf54c4fSMartin MatuskaPreserve file permissions.
586caf54c4fSMartin MatuskaAttempt to restore the full permissions, including owner, file modes, file
587caf54c4fSMartin Matuskaflags and ACLs, if available, for each item extracted from the archive.
588c5d360f8SMartin MatuskaThis is the default, if
589caf54c4fSMartin Matuska.Nm
5906c95142eSMartin Matuskais being run by root and can be overridden by also specifying
591c5d360f8SMartin Matuska.Fl Fl no-same-owner
592c5d360f8SMartin Matuskaand
593c5d360f8SMartin Matuska.Fl Fl no-same-permissions .
594*cdf63a70SMartin Matuska.It Fl Fl passphrase Ar passphrase
595*cdf63a70SMartin MatuskaThe
596*cdf63a70SMartin Matuska.Pa passphrase
597*cdf63a70SMartin Matuskais used to extract or create an encrypted archive.
598*cdf63a70SMartin MatuskaCurrently, zip is the only supported format that supports encryption.
599*cdf63a70SMartin MatuskaYou shouldn't use this option unless you realize how insecure
600*cdf63a70SMartin Matuskause of this option is.
601c5d360f8SMartin Matuska.It Fl Fl posix
602c5d360f8SMartin Matuska(c, r, u mode only)
603c5d360f8SMartin MatuskaSynonym for
604c5d360f8SMartin Matuska.Fl Fl format Ar pax
605c5d360f8SMartin Matuska.It Fl q , Fl Fl fast-read
606caf54c4fSMartin Matuska(x and t mode only)
607caf54c4fSMartin MatuskaExtract or list only the first archive entry that matches each pattern
608caf54c4fSMartin Matuskaor filename operand.
609caf54c4fSMartin MatuskaExit as soon as each specified pattern or filename has been matched.
610caf54c4fSMartin MatuskaBy default, the archive is always read to the very end, since
611caf54c4fSMartin Matuskathere can be multiple entries with the same name and, by convention,
612caf54c4fSMartin Matuskalater entries overwrite earlier entries.
613caf54c4fSMartin MatuskaThis option is provided as a performance optimization.
614caf54c4fSMartin Matuska.It Fl S
615caf54c4fSMartin Matuska(x mode only)
616caf54c4fSMartin MatuskaExtract files as sparse files.
617caf54c4fSMartin MatuskaFor every block on disk, check first if it contains only NULL bytes and seek
618caf54c4fSMartin Matuskaover it otherwise.
619c5d360f8SMartin MatuskaThis works similar to the conv=sparse option of dd.
620caf54c4fSMartin Matuska.It Fl s Ar pattern
621caf54c4fSMartin MatuskaModify file or archive member names according to
622caf54c4fSMartin Matuska.Pa pattern .
623caf54c4fSMartin MatuskaThe pattern has the format
6246c95142eSMartin Matuska.Ar /old/new/ Ns Op ghHprRsS
625caf54c4fSMartin Matuskawhere
626caf54c4fSMartin Matuska.Ar old
627caf54c4fSMartin Matuskais a basic regular expression,
628caf54c4fSMartin Matuska.Ar new
629caf54c4fSMartin Matuskais the replacement string of the matched part,
630caf54c4fSMartin Matuskaand the optional trailing letters modify
631caf54c4fSMartin Matuskahow the replacement is handled.
632caf54c4fSMartin MatuskaIf
633caf54c4fSMartin Matuska.Ar old
634caf54c4fSMartin Matuskais not matched, the pattern is skipped.
635caf54c4fSMartin MatuskaWithin
636caf54c4fSMartin Matuska.Ar new ,
637caf54c4fSMartin Matuska~ is substituted with the match, \e1 to \e9 with the content of
638caf54c4fSMartin Matuskathe corresponding captured group.
639caf54c4fSMartin MatuskaThe optional trailing g specifies that matching should continue
6406c95142eSMartin Matuskaafter the matched part and stop on the first unmatched pattern.
641caf54c4fSMartin MatuskaThe optional trailing s specifies that the pattern applies to the value
642caf54c4fSMartin Matuskaof symbolic links.
643caf54c4fSMartin MatuskaThe optional trailing p specifies that after a successful substitution
644caf54c4fSMartin Matuskathe original path name and the new path name should be printed to
645caf54c4fSMartin Matuskastandard error.
6466c95142eSMartin MatuskaOptional trailing H, R, or S characters suppress substitutions
6476c95142eSMartin Matuskafor hardlink targets, regular filenames, or symlink targets,
6486c95142eSMartin Matuskarespectively.
6496c95142eSMartin MatuskaOptional trailing h, r, or s characters enable substitutions
6506c95142eSMartin Matuskafor hardlink targets, regular filenames, or symlink targets,
6516c95142eSMartin Matuskarespectively.
6526c95142eSMartin MatuskaThe default is
6536c95142eSMartin Matuska.Ar hrs
6546c95142eSMartin Matuskawhich applies substitutions to all names.
6556c95142eSMartin MatuskaIn particular, it is never necessary to specify h, r, or s.
6566c95142eSMartin Matuska.It Fl Fl same-owner
6576c95142eSMartin Matuska(x mode only)
6586c95142eSMartin MatuskaExtract owner and group IDs.
6596c95142eSMartin MatuskaThis is the reverse of
6606c95142eSMartin Matuska.Fl Fl no-same-owner
6616c95142eSMartin Matuskaand the default behavior if
6626c95142eSMartin Matuska.Nm
6636c95142eSMartin Matuskais run as root.
6646c95142eSMartin Matuska.It Fl Fl strip-components Ar count
6656c95142eSMartin MatuskaRemove the specified number of leading path elements.
6666c95142eSMartin MatuskaPathnames with fewer elements will be silently skipped.
6676c95142eSMartin MatuskaNote that the pathname is edited after checking inclusion/exclusion patterns
6686c95142eSMartin Matuskabut before security checks.
669c5d360f8SMartin Matuska.It Fl T Ar filename , Fl Fl files-from Ar filename
670caf54c4fSMartin MatuskaIn x or t mode,
671caf54c4fSMartin Matuska.Nm
672caf54c4fSMartin Matuskawill read the list of names to be extracted from
673caf54c4fSMartin Matuska.Pa filename .
674caf54c4fSMartin MatuskaIn c mode,
675caf54c4fSMartin Matuska.Nm
676caf54c4fSMartin Matuskawill read names to be archived from
677caf54c4fSMartin Matuska.Pa filename .
678caf54c4fSMartin MatuskaThe special name
679caf54c4fSMartin Matuska.Dq -C
680caf54c4fSMartin Matuskaon a line by itself will cause the current directory to be changed to
681caf54c4fSMartin Matuskathe directory specified on the following line.
682caf54c4fSMartin MatuskaNames are terminated by newlines unless
683c5d360f8SMartin Matuska.Fl Fl null
684caf54c4fSMartin Matuskais specified.
685caf54c4fSMartin MatuskaNote that
686c5d360f8SMartin Matuska.Fl Fl null
687caf54c4fSMartin Matuskaalso disables the special handling of lines containing
688caf54c4fSMartin Matuska.Dq -C .
689acc60b03SMartin MatuskaNote:  If you are generating lists of files using
690acc60b03SMartin Matuska.Xr find 1 ,
691acc60b03SMartin Matuskayou probably want to use
692acc60b03SMartin Matuska.Fl n
693acc60b03SMartin Matuskaas well.
694c5d360f8SMartin Matuska.It Fl Fl totals
695c5d360f8SMartin Matuska(c, r, u mode only)
696c5d360f8SMartin MatuskaAfter archiving all files, print a summary to stderr.
697c5d360f8SMartin Matuska.It Fl U , Fl Fl unlink , Fl Fl unlink-first
698caf54c4fSMartin Matuska(x mode only)
699caf54c4fSMartin MatuskaUnlink files before creating them.
700c5d360f8SMartin MatuskaThis can be a minor performance optimization if most files
701c5d360f8SMartin Matuskaalready exist, but can make things slower if most files
702c5d360f8SMartin Matuskado not already exist.
703c5d360f8SMartin MatuskaThis flag also causes
704caf54c4fSMartin Matuska.Nm
705c5d360f8SMartin Matuskato remove intervening directory symlinks instead of
706c5d360f8SMartin Matuskareporting an error.
707c5d360f8SMartin MatuskaSee the SECURITY section below for more details.
708caf54c4fSMartin Matuska.It Fl Fl uid Ar id
709caf54c4fSMartin MatuskaUse the provided user id number and ignore the user
710caf54c4fSMartin Matuskaname from the archive.
711caf54c4fSMartin MatuskaOn create, if
712caf54c4fSMartin Matuska.Fl Fl uname
713caf54c4fSMartin Matuskais not also specified, the user name will be set to
714caf54c4fSMartin Matuskamatch the user id.
715caf54c4fSMartin Matuska.It Fl Fl uname Ar name
716caf54c4fSMartin MatuskaUse the provided user name.
717caf54c4fSMartin MatuskaOn extract, this overrides the user name in the archive;
718caf54c4fSMartin Matuskaif the provided user name does not exist on the system,
719caf54c4fSMartin Matuskait will be ignored and the user id
720caf54c4fSMartin Matuska(from the archive or from the
721caf54c4fSMartin Matuska.Fl Fl uid
722caf54c4fSMartin Matuskaoption)
723caf54c4fSMartin Matuskawill be used instead.
724caf54c4fSMartin MatuskaOn create, this sets the user name that will be stored
725caf54c4fSMartin Matuskain the archive;
726caf54c4fSMartin Matuskathe name is not verified against the system user database.
727caf54c4fSMartin Matuska.It Fl Fl use-compress-program Ar program
728caf54c4fSMartin MatuskaPipe the input (in x or t mode) or the output (in c mode) through
729caf54c4fSMartin Matuska.Pa program
730caf54c4fSMartin Matuskainstead of using the builtin compression support.
731c5d360f8SMartin Matuska.It Fl v , Fl Fl verbose
732caf54c4fSMartin MatuskaProduce verbose output.
733caf54c4fSMartin MatuskaIn create and extract modes,
734caf54c4fSMartin Matuska.Nm
735caf54c4fSMartin Matuskawill list each file name as it is read from or written to
736caf54c4fSMartin Matuskathe archive.
737caf54c4fSMartin MatuskaIn list mode,
738caf54c4fSMartin Matuska.Nm
739caf54c4fSMartin Matuskawill produce output similar to that of
740caf54c4fSMartin Matuska.Xr ls 1 .
741*cdf63a70SMartin MatuskaAn additional
742caf54c4fSMartin Matuska.Fl v
743*cdf63a70SMartin Matuskaoption will also provide ls-like details in create and extract mode.
744c5d360f8SMartin Matuska.It Fl Fl version
745caf54c4fSMartin MatuskaPrint version of
746caf54c4fSMartin Matuska.Nm
747caf54c4fSMartin Matuskaand
748caf54c4fSMartin Matuska.Nm libarchive ,
749caf54c4fSMartin Matuskaand exit.
750c5d360f8SMartin Matuska.It Fl w , Fl Fl confirmation , Fl Fl interactive
751caf54c4fSMartin MatuskaAsk for confirmation for every action.
752c5d360f8SMartin Matuska.It Fl X Ar filename , Fl Fl exclude-from Ar filename
753caf54c4fSMartin MatuskaRead a list of exclusion patterns from the specified file.
754caf54c4fSMartin MatuskaSee
755c5d360f8SMartin Matuska.Fl Fl exclude
756caf54c4fSMartin Matuskafor more information about the handling of exclusions.
757caf54c4fSMartin Matuska.It Fl y
758caf54c4fSMartin Matuska(c mode only)
759caf54c4fSMartin MatuskaCompress the resulting archive with
760caf54c4fSMartin Matuska.Xr bzip2 1 .
761caf54c4fSMartin MatuskaIn extract or list modes, this option is ignored.
762caf54c4fSMartin MatuskaNote that, unlike other
763caf54c4fSMartin Matuska.Nm tar
764caf54c4fSMartin Matuskaimplementations, this implementation recognizes bzip2 compression
765caf54c4fSMartin Matuskaautomatically when reading archives.
766c5d360f8SMartin Matuska.It Fl Z , Fl Fl compress , Fl Fl uncompress
767caf54c4fSMartin Matuska(c mode only)
768caf54c4fSMartin MatuskaCompress the resulting archive with
769caf54c4fSMartin Matuska.Xr compress 1 .
770caf54c4fSMartin MatuskaIn extract or list modes, this option is ignored.
771caf54c4fSMartin MatuskaNote that, unlike other
772caf54c4fSMartin Matuska.Nm tar
773caf54c4fSMartin Matuskaimplementations, this implementation recognizes compress compression
774caf54c4fSMartin Matuskaautomatically when reading archives.
775c5d360f8SMartin Matuska.It Fl z , Fl Fl gunzip , Fl Fl gzip
776c5d360f8SMartin Matuska(c mode only)
777c5d360f8SMartin MatuskaCompress the resulting archive with
778c5d360f8SMartin Matuska.Xr gzip 1 .
779c5d360f8SMartin MatuskaIn extract or list modes, this option is ignored.
780c5d360f8SMartin MatuskaNote that, unlike other
781c5d360f8SMartin Matuska.Nm tar
782c5d360f8SMartin Matuskaimplementations, this implementation recognizes gzip compression
783c5d360f8SMartin Matuskaautomatically when reading archives.
784caf54c4fSMartin Matuska.El
785caf54c4fSMartin Matuska.Sh ENVIRONMENT
786caf54c4fSMartin MatuskaThe following environment variables affect the execution of
787caf54c4fSMartin Matuska.Nm :
788caf54c4fSMartin Matuska.Bl -tag -width ".Ev BLOCKSIZE"
789acc60b03SMartin Matuska.It Ev TAR_READER_OPTIONS
790acc60b03SMartin MatuskaThe default options for format readers and compression readers.
791acc60b03SMartin MatuskaThe
792acc60b03SMartin Matuska.Fl Fl options
793acc60b03SMartin Matuskaoption overrides this.
794acc60b03SMartin Matuska.It Ev TAR_WRITER_OPTIONS
795acc60b03SMartin MatuskaThe default options for format writers and compression writers.
796acc60b03SMartin MatuskaThe
797acc60b03SMartin Matuska.Fl Fl options
798acc60b03SMartin Matuskaoption overrides this.
799caf54c4fSMartin Matuska.It Ev LANG
800caf54c4fSMartin MatuskaThe locale to use.
801caf54c4fSMartin MatuskaSee
802caf54c4fSMartin Matuska.Xr environ 7
803caf54c4fSMartin Matuskafor more information.
804caf54c4fSMartin Matuska.It Ev TAPE
805c5d360f8SMartin MatuskaThe default device.
806caf54c4fSMartin MatuskaThe
807caf54c4fSMartin Matuska.Fl f
808caf54c4fSMartin Matuskaoption overrides this.
809c5d360f8SMartin MatuskaPlease see the description of the
810c5d360f8SMartin Matuska.Fl f
811c5d360f8SMartin Matuskaoption above for more details.
812caf54c4fSMartin Matuska.It Ev TZ
813caf54c4fSMartin MatuskaThe timezone to use when displaying dates.
814caf54c4fSMartin MatuskaSee
815caf54c4fSMartin Matuska.Xr environ 7
816caf54c4fSMartin Matuskafor more information.
817caf54c4fSMartin Matuska.El
818c5d360f8SMartin Matuska.Sh EXIT STATUS
819c5d360f8SMartin Matuska.Ex -std
820caf54c4fSMartin Matuska.Sh EXAMPLES
821caf54c4fSMartin MatuskaThe following creates a new archive
822caf54c4fSMartin Matuskacalled
823caf54c4fSMartin Matuska.Ar file.tar.gz
824caf54c4fSMartin Matuskathat contains two files
825caf54c4fSMartin Matuska.Ar source.c
826caf54c4fSMartin Matuskaand
827caf54c4fSMartin Matuska.Ar source.h :
828caf54c4fSMartin Matuska.Dl Nm Fl czf Pa file.tar.gz Pa source.c Pa source.h
829caf54c4fSMartin Matuska.Pp
830caf54c4fSMartin MatuskaTo view a detailed table of contents for this
831caf54c4fSMartin Matuskaarchive:
832caf54c4fSMartin Matuska.Dl Nm Fl tvf Pa file.tar.gz
833caf54c4fSMartin Matuska.Pp
834caf54c4fSMartin MatuskaTo extract all entries from the archive on
835caf54c4fSMartin Matuskathe default tape drive:
836caf54c4fSMartin Matuska.Dl Nm Fl x
837caf54c4fSMartin Matuska.Pp
838caf54c4fSMartin MatuskaTo examine the contents of an ISO 9660 cdrom image:
839caf54c4fSMartin Matuska.Dl Nm Fl tf Pa image.iso
840caf54c4fSMartin Matuska.Pp
841caf54c4fSMartin MatuskaTo move file hierarchies, invoke
842caf54c4fSMartin Matuska.Nm
843caf54c4fSMartin Matuskaas
844caf54c4fSMartin Matuska.Dl Nm Fl cf Pa - Fl C Pa srcdir\ . | Nm Fl xpf Pa - Fl C Pa destdir
845caf54c4fSMartin Matuskaor more traditionally
846caf54c4fSMartin Matuska.Dl cd srcdir \&; Nm Fl cf Pa -\ . | ( cd destdir \&; Nm Fl xpf Pa - )
847caf54c4fSMartin Matuska.Pp
848caf54c4fSMartin MatuskaIn create mode, the list of files and directories to be archived
849caf54c4fSMartin Matuskacan also include directory change instructions of the form
850caf54c4fSMartin Matuska.Cm -C Ns Pa foo/baz
851caf54c4fSMartin Matuskaand archive inclusions of the form
852caf54c4fSMartin Matuska.Cm @ Ns Pa archive-file .
853caf54c4fSMartin MatuskaFor example, the command line
854caf54c4fSMartin Matuska.Dl Nm Fl c Fl f Pa new.tar Pa foo1 Cm @ Ns Pa old.tgz Cm -C Ns Pa /tmp Pa foo2
855caf54c4fSMartin Matuskawill create a new archive
856caf54c4fSMartin Matuska.Pa new.tar .
857caf54c4fSMartin Matuska.Nm
858caf54c4fSMartin Matuskawill read the file
859caf54c4fSMartin Matuska.Pa foo1
860caf54c4fSMartin Matuskafrom the current directory and add it to the output archive.
861caf54c4fSMartin MatuskaIt will then read each entry from
862caf54c4fSMartin Matuska.Pa old.tgz
863caf54c4fSMartin Matuskaand add those entries to the output archive.
864caf54c4fSMartin MatuskaFinally, it will switch to the
865caf54c4fSMartin Matuska.Pa /tmp
866caf54c4fSMartin Matuskadirectory and add
867caf54c4fSMartin Matuska.Pa foo2
868caf54c4fSMartin Matuskato the output archive.
869caf54c4fSMartin Matuska.Pp
870caf54c4fSMartin MatuskaAn input file in
871caf54c4fSMartin Matuska.Xr mtree 5
872caf54c4fSMartin Matuskaformat can be used to create an output archive with arbitrary ownership,
873caf54c4fSMartin Matuskapermissions, or names that differ from existing data on disk:
874caf54c4fSMartin Matuska.Pp
875*cdf63a70SMartin Matuska.Bd -literal -offset indent
876*cdf63a70SMartin Matuska$ cat input.mtree
877*cdf63a70SMartin Matuska#mtree
878*cdf63a70SMartin Matuskausr/bin uid=0 gid=0 mode=0755 type=dir
879*cdf63a70SMartin Matuskausr/bin/ls uid=0 gid=0 mode=0755 type=file content=myls
880*cdf63a70SMartin Matuska$ tar -cvf output.tar @input.mtree
881*cdf63a70SMartin Matuska.Ed
882caf54c4fSMartin Matuska.Pp
883caf54c4fSMartin MatuskaThe
884c5d360f8SMartin Matuska.Fl Fl newer
885caf54c4fSMartin Matuskaand
886c5d360f8SMartin Matuska.Fl Fl newer-mtime
887caf54c4fSMartin Matuskaswitches accept a variety of common date and time specifications, including
888caf54c4fSMartin Matuska.Dq 12 Mar 2005 7:14:29pm ,
889caf54c4fSMartin Matuska.Dq 2005-03-12 19:14 ,
890caf54c4fSMartin Matuska.Dq 5 minutes ago ,
891caf54c4fSMartin Matuskaand
892caf54c4fSMartin Matuska.Dq 19:14 PST May 1 .
893caf54c4fSMartin Matuska.Pp
894caf54c4fSMartin MatuskaThe
895c5d360f8SMartin Matuska.Fl Fl options
896caf54c4fSMartin Matuskaargument can be used to control various details of archive generation
897caf54c4fSMartin Matuskaor reading.
898caf54c4fSMartin MatuskaFor example, you can generate mtree output which only contains
899caf54c4fSMartin Matuska.Cm type , Cm time ,
900caf54c4fSMartin Matuskaand
901caf54c4fSMartin Matuska.Cm uid
902caf54c4fSMartin Matuskakeywords:
903c5d360f8SMartin Matuska.Dl Nm Fl cf Pa file.tar Fl Fl format=mtree Fl Fl options='!all,type,time,uid' Pa dir
904caf54c4fSMartin Matuskaor you can set the compression level used by gzip or xz compression:
905c5d360f8SMartin Matuska.Dl Nm Fl czf Pa file.tar Fl Fl options='compression-level=9' .
906caf54c4fSMartin MatuskaFor more details, see the explanation of the
907caf54c4fSMartin Matuska.Fn archive_read_set_options
908caf54c4fSMartin Matuskaand
909caf54c4fSMartin Matuska.Fn archive_write_set_options
910caf54c4fSMartin MatuskaAPI calls that are described in
911caf54c4fSMartin Matuska.Xr archive_read 3
912caf54c4fSMartin Matuskaand
913caf54c4fSMartin Matuska.Xr archive_write 3 .
914caf54c4fSMartin Matuska.Sh COMPATIBILITY
915caf54c4fSMartin MatuskaThe bundled-arguments format is supported for compatibility
916caf54c4fSMartin Matuskawith historic implementations.
917caf54c4fSMartin MatuskaIt consists of an initial word (with no leading - character) in which
918caf54c4fSMartin Matuskaeach character indicates an option.
919caf54c4fSMartin MatuskaArguments follow as separate words.
920caf54c4fSMartin MatuskaThe order of the arguments must match the order
921caf54c4fSMartin Matuskaof the corresponding characters in the bundled command word.
922caf54c4fSMartin MatuskaFor example,
923caf54c4fSMartin Matuska.Dl Nm Cm tbf 32 Pa file.tar
924caf54c4fSMartin Matuskaspecifies three flags
925caf54c4fSMartin Matuska.Cm t ,
926caf54c4fSMartin Matuska.Cm b ,
927caf54c4fSMartin Matuskaand
928caf54c4fSMartin Matuska.Cm f .
929caf54c4fSMartin MatuskaThe
930caf54c4fSMartin Matuska.Cm b
931caf54c4fSMartin Matuskaand
932caf54c4fSMartin Matuska.Cm f
933caf54c4fSMartin Matuskaflags both require arguments,
934caf54c4fSMartin Matuskaso there must be two additional items
935caf54c4fSMartin Matuskaon the command line.
936caf54c4fSMartin MatuskaThe
937caf54c4fSMartin Matuska.Ar 32
938caf54c4fSMartin Matuskais the argument to the
939caf54c4fSMartin Matuska.Cm b
940caf54c4fSMartin Matuskaflag, and
941caf54c4fSMartin Matuska.Ar file.tar
942caf54c4fSMartin Matuskais the argument to the
943caf54c4fSMartin Matuska.Cm f
944caf54c4fSMartin Matuskaflag.
945caf54c4fSMartin Matuska.Pp
946caf54c4fSMartin MatuskaThe mode options c, r, t, u, and x and the options
947caf54c4fSMartin Matuskab, f, l, m, o, v, and w comply with SUSv2.
948caf54c4fSMartin Matuska.Pp
949caf54c4fSMartin MatuskaFor maximum portability, scripts that invoke
950caf54c4fSMartin Matuska.Nm tar
951caf54c4fSMartin Matuskashould use the bundled-argument format above, should limit
952caf54c4fSMartin Matuskathemselves to the
953caf54c4fSMartin Matuska.Cm c ,
954caf54c4fSMartin Matuska.Cm t ,
955caf54c4fSMartin Matuskaand
956caf54c4fSMartin Matuska.Cm x
957caf54c4fSMartin Matuskamodes, and the
958caf54c4fSMartin Matuska.Cm b ,
959caf54c4fSMartin Matuska.Cm f ,
960caf54c4fSMartin Matuska.Cm m ,
961caf54c4fSMartin Matuska.Cm v ,
962caf54c4fSMartin Matuskaand
963caf54c4fSMartin Matuska.Cm w
964caf54c4fSMartin Matuskaoptions.
965caf54c4fSMartin Matuska.Pp
966caf54c4fSMartin MatuskaAdditional long options are provided to improve compatibility with other
967caf54c4fSMartin Matuskatar implementations.
968caf54c4fSMartin Matuska.Sh SECURITY
969caf54c4fSMartin MatuskaCertain security issues are common to many archiving programs, including
970caf54c4fSMartin Matuska.Nm .
971caf54c4fSMartin MatuskaIn particular, carefully-crafted archives can request that
972caf54c4fSMartin Matuska.Nm
973caf54c4fSMartin Matuskaextract files to locations outside of the target directory.
974caf54c4fSMartin MatuskaThis can potentially be used to cause unwitting users to overwrite
975caf54c4fSMartin Matuskafiles they did not intend to overwrite.
976caf54c4fSMartin MatuskaIf the archive is being extracted by the superuser, any file
977caf54c4fSMartin Matuskaon the system can potentially be overwritten.
978caf54c4fSMartin MatuskaThere are three ways this can happen.
979caf54c4fSMartin MatuskaAlthough
980caf54c4fSMartin Matuska.Nm
981caf54c4fSMartin Matuskahas mechanisms to protect against each one,
982caf54c4fSMartin Matuskasavvy users should be aware of the implications:
983caf54c4fSMartin Matuska.Bl -bullet -width indent
984caf54c4fSMartin Matuska.It
985caf54c4fSMartin MatuskaArchive entries can have absolute pathnames.
986caf54c4fSMartin MatuskaBy default,
987caf54c4fSMartin Matuska.Nm
988caf54c4fSMartin Matuskaremoves the leading
989caf54c4fSMartin Matuska.Pa /
990caf54c4fSMartin Matuskacharacter from filenames before restoring them to guard against this problem.
991caf54c4fSMartin Matuska.It
992caf54c4fSMartin MatuskaArchive entries can have pathnames that include
993caf54c4fSMartin Matuska.Pa ..
994caf54c4fSMartin Matuskacomponents.
995caf54c4fSMartin MatuskaBy default,
996caf54c4fSMartin Matuska.Nm
997caf54c4fSMartin Matuskawill not extract files containing
998caf54c4fSMartin Matuska.Pa ..
999caf54c4fSMartin Matuskacomponents in their pathname.
1000caf54c4fSMartin Matuska.It
1001caf54c4fSMartin MatuskaArchive entries can exploit symbolic links to restore
1002caf54c4fSMartin Matuskafiles to other directories.
1003caf54c4fSMartin MatuskaAn archive can restore a symbolic link to another directory,
1004caf54c4fSMartin Matuskathen use that link to restore a file into that directory.
1005caf54c4fSMartin MatuskaTo guard against this,
1006caf54c4fSMartin Matuska.Nm
1007caf54c4fSMartin Matuskachecks each extracted path for symlinks.
1008caf54c4fSMartin MatuskaIf the final path element is a symlink, it will be removed
1009caf54c4fSMartin Matuskaand replaced with the archive entry.
1010caf54c4fSMartin MatuskaIf
1011caf54c4fSMartin Matuska.Fl U
1012caf54c4fSMartin Matuskais specified, any intermediate symlink will also be unconditionally removed.
1013caf54c4fSMartin MatuskaIf neither
1014caf54c4fSMartin Matuska.Fl U
1015caf54c4fSMartin Matuskanor
1016caf54c4fSMartin Matuska.Fl P
1017caf54c4fSMartin Matuskais specified,
1018caf54c4fSMartin Matuska.Nm
1019caf54c4fSMartin Matuskawill refuse to extract the entry.
1020caf54c4fSMartin Matuska.El
1021caf54c4fSMartin MatuskaTo protect yourself, you should be wary of any archives that
1022caf54c4fSMartin Matuskacome from untrusted sources.
1023caf54c4fSMartin MatuskaYou should examine the contents of an archive with
1024caf54c4fSMartin Matuska.Dl Nm Fl tf Pa filename
1025caf54c4fSMartin Matuskabefore extraction.
1026caf54c4fSMartin MatuskaYou should use the
1027caf54c4fSMartin Matuska.Fl k
1028caf54c4fSMartin Matuskaoption to ensure that
1029caf54c4fSMartin Matuska.Nm
1030caf54c4fSMartin Matuskawill not overwrite any existing files or the
1031caf54c4fSMartin Matuska.Fl U
1032caf54c4fSMartin Matuskaoption to remove any pre-existing files.
1033caf54c4fSMartin MatuskaYou should generally not extract archives while running with super-user
1034caf54c4fSMartin Matuskaprivileges.
1035caf54c4fSMartin MatuskaNote that the
1036caf54c4fSMartin Matuska.Fl P
1037caf54c4fSMartin Matuskaoption to
1038caf54c4fSMartin Matuska.Nm
1039caf54c4fSMartin Matuskadisables the security checks above and allows you to extract
1040caf54c4fSMartin Matuskaan archive while preserving any absolute pathnames,
1041caf54c4fSMartin Matuska.Pa ..
1042caf54c4fSMartin Matuskacomponents, or symlinks to other directories.
1043caf54c4fSMartin Matuska.Sh SEE ALSO
1044caf54c4fSMartin Matuska.Xr bzip2 1 ,
1045caf54c4fSMartin Matuska.Xr compress 1 ,
1046caf54c4fSMartin Matuska.Xr cpio 1 ,
1047caf54c4fSMartin Matuska.Xr gzip 1 ,
1048caf54c4fSMartin Matuska.Xr mt 1 ,
1049caf54c4fSMartin Matuska.Xr pax 1 ,
1050caf54c4fSMartin Matuska.Xr shar 1 ,
1051c5d360f8SMartin Matuska.Xr xz 1 ,
1052caf54c4fSMartin Matuska.Xr libarchive 3 ,
1053caf54c4fSMartin Matuska.Xr libarchive-formats 5 ,
1054caf54c4fSMartin Matuska.Xr tar 5
1055caf54c4fSMartin Matuska.Sh STANDARDS
1056caf54c4fSMartin MatuskaThere is no current POSIX standard for the tar command; it appeared
1057caf54c4fSMartin Matuskain
1058caf54c4fSMartin Matuska.St -p1003.1-96
1059caf54c4fSMartin Matuskabut was dropped from
1060caf54c4fSMartin Matuska.St -p1003.1-2001 .
1061c5d360f8SMartin MatuskaThe options supported by this implementation were developed by surveying a
1062caf54c4fSMartin Matuskanumber of existing tar implementations as well as the old POSIX specification
1063caf54c4fSMartin Matuskafor tar and the current POSIX specification for pax.
1064caf54c4fSMartin Matuska.Pp
1065caf54c4fSMartin MatuskaThe ustar and pax interchange file formats are defined by
1066caf54c4fSMartin Matuska.St -p1003.1-2001
1067caf54c4fSMartin Matuskafor the pax command.
1068caf54c4fSMartin Matuska.Sh HISTORY
1069caf54c4fSMartin MatuskaA
1070caf54c4fSMartin Matuska.Nm tar
1071caf54c4fSMartin Matuskacommand appeared in Seventh Edition Unix, which was released in January, 1979.
1072caf54c4fSMartin MatuskaThere have been numerous other implementations,
1073caf54c4fSMartin Matuskamany of which extended the file format.
1074caf54c4fSMartin MatuskaJohn Gilmore's
1075caf54c4fSMartin Matuska.Nm pdtar
1076caf54c4fSMartin Matuskapublic-domain implementation (circa November, 1987)
1077caf54c4fSMartin Matuskawas quite influential, and formed the basis of GNU tar.
1078caf54c4fSMartin MatuskaGNU tar was included as the standard system tar
1079caf54c4fSMartin Matuskain
1080caf54c4fSMartin Matuska.Fx
1081caf54c4fSMartin Matuskabeginning with
1082caf54c4fSMartin Matuska.Fx 1.0 .
1083caf54c4fSMartin Matuska.Pp
1084caf54c4fSMartin MatuskaThis is a complete re-implementation based on the
1085caf54c4fSMartin Matuska.Xr libarchive 3
1086caf54c4fSMartin Matuskalibrary.
1087c5d360f8SMartin MatuskaIt was first released with
1088c5d360f8SMartin Matuska.Fx 5.4
1089c5d360f8SMartin Matuskain May, 2005.
1090caf54c4fSMartin Matuska.Sh BUGS
1091caf54c4fSMartin MatuskaThis program follows
1092caf54c4fSMartin Matuska.St -p1003.1-96
1093caf54c4fSMartin Matuskafor the definition of the
1094caf54c4fSMartin Matuska.Fl l
1095caf54c4fSMartin Matuskaoption.
1096caf54c4fSMartin MatuskaNote that GNU tar prior to version 1.15 treated
1097caf54c4fSMartin Matuska.Fl l
1098caf54c4fSMartin Matuskaas a synonym for the
1099c5d360f8SMartin Matuska.Fl Fl one-file-system
1100caf54c4fSMartin Matuskaoption.
1101caf54c4fSMartin Matuska.Pp
1102caf54c4fSMartin MatuskaThe
1103caf54c4fSMartin Matuska.Fl C Pa dir
1104caf54c4fSMartin Matuskaoption may differ from historic implementations.
1105caf54c4fSMartin Matuska.Pp
1106caf54c4fSMartin MatuskaAll archive output is written in correctly-sized blocks, even
1107caf54c4fSMartin Matuskaif the output is being compressed.
1108caf54c4fSMartin MatuskaWhether or not the last output block is padded to a full
1109caf54c4fSMartin Matuskablock size varies depending on the format and the
1110caf54c4fSMartin Matuskaoutput device.
1111caf54c4fSMartin MatuskaFor tar and cpio formats, the last block of output is padded
1112caf54c4fSMartin Matuskato a full block size if the output is being
1113caf54c4fSMartin Matuskawritten to standard output or to a character or block device such as
1114caf54c4fSMartin Matuskaa tape drive.
1115caf54c4fSMartin MatuskaIf the output is being written to a regular file, the last block
1116caf54c4fSMartin Matuskawill not be padded.
1117caf54c4fSMartin MatuskaMany compressors, including
1118caf54c4fSMartin Matuska.Xr gzip 1
1119caf54c4fSMartin Matuskaand
1120caf54c4fSMartin Matuska.Xr bzip2 1 ,
1121caf54c4fSMartin Matuskacomplain about the null padding when decompressing an archive created by
1122caf54c4fSMartin Matuska.Nm ,
1123caf54c4fSMartin Matuskaalthough they still extract it correctly.
1124caf54c4fSMartin Matuska.Pp
1125caf54c4fSMartin MatuskaThe compression and decompression is implemented internally, so
1126caf54c4fSMartin Matuskathere may be insignificant differences between the compressed output
1127caf54c4fSMartin Matuskagenerated by
1128caf54c4fSMartin Matuska.Dl Nm Fl czf Pa - file
1129caf54c4fSMartin Matuskaand that generated by
1130caf54c4fSMartin Matuska.Dl Nm Fl cf Pa - file | Nm gzip
1131caf54c4fSMartin Matuska.Pp
1132caf54c4fSMartin MatuskaThe default should be to read and write archives to the standard I/O paths,
1133caf54c4fSMartin Matuskabut tradition (and POSIX) dictates otherwise.
1134caf54c4fSMartin Matuska.Pp
1135caf54c4fSMartin MatuskaThe
1136caf54c4fSMartin Matuska.Cm r
1137caf54c4fSMartin Matuskaand
1138caf54c4fSMartin Matuska.Cm u
1139caf54c4fSMartin Matuskamodes require that the archive be uncompressed
1140caf54c4fSMartin Matuskaand located in a regular file on disk.
1141caf54c4fSMartin MatuskaOther archives can be modified using
1142caf54c4fSMartin Matuska.Cm c
1143caf54c4fSMartin Matuskamode with the
1144caf54c4fSMartin Matuska.Pa @archive-file
1145caf54c4fSMartin Matuskaextension.
1146caf54c4fSMartin Matuska.Pp
1147caf54c4fSMartin MatuskaTo archive a file called
1148caf54c4fSMartin Matuska.Pa @foo
1149caf54c4fSMartin Matuskaor
1150caf54c4fSMartin Matuska.Pa -foo
1151caf54c4fSMartin Matuskayou must specify it as
1152caf54c4fSMartin Matuska.Pa ./@foo
1153caf54c4fSMartin Matuskaor
1154caf54c4fSMartin Matuska.Pa ./-foo ,
1155caf54c4fSMartin Matuskarespectively.
1156caf54c4fSMartin Matuska.Pp
1157caf54c4fSMartin MatuskaIn create mode, a leading
1158caf54c4fSMartin Matuska.Pa ./
1159caf54c4fSMartin Matuskais always removed.
1160caf54c4fSMartin MatuskaA leading
1161caf54c4fSMartin Matuska.Pa /
1162caf54c4fSMartin Matuskais stripped unless the
1163caf54c4fSMartin Matuska.Fl P
1164caf54c4fSMartin Matuskaoption is specified.
1165caf54c4fSMartin Matuska.Pp
1166caf54c4fSMartin MatuskaThere needs to be better support for file selection on both create
1167caf54c4fSMartin Matuskaand extract.
1168caf54c4fSMartin Matuska.Pp
1169*cdf63a70SMartin MatuskaThere is not yet any support for multi-volume archives.
1170caf54c4fSMartin Matuska.Pp
1171caf54c4fSMartin MatuskaConverting between dissimilar archive formats (such as tar and cpio) using the
1172caf54c4fSMartin Matuska.Cm @ Ns Pa -
1173caf54c4fSMartin Matuskaconvention can cause hard link information to be lost.
1174caf54c4fSMartin Matuska(This is a consequence of the incompatible ways that different archive
1175caf54c4fSMartin Matuskaformats store hardlink information.)
1176