summaryrefslogtreecommitdiff
path: root/archivers/libarchive/files/doc/html/libarchive-formats.5.html
diff options
context:
space:
mode:
Diffstat (limited to 'archivers/libarchive/files/doc/html/libarchive-formats.5.html')
-rw-r--r--archivers/libarchive/files/doc/html/libarchive-formats.5.html1401
1 files changed, 506 insertions, 895 deletions
diff --git a/archivers/libarchive/files/doc/html/libarchive-formats.5.html b/archivers/libarchive/files/doc/html/libarchive-formats.5.html
index be9a717b2a0..2298d6b446d 100644
--- a/archivers/libarchive/files/doc/html/libarchive-formats.5.html
+++ b/archivers/libarchive/files/doc/html/libarchive-formats.5.html
@@ -1,895 +1,506 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.19.2
-%%CreationDate: Wed Jun 30 11:55:53 2010
-%%DocumentNeededResources: font Times-Roman
-%%DocumentSuppliedResources: procset grops 1.19 2
-%%Pages: 61
-%%PageOrder: Ascend
-%%DocumentMedia: Default 612 792 0 () ()
-%%Orientation: Portrait
-%%EndComments
-%%BeginDefaults
-%%PageMedia: Default
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset grops 1.19 2
-%!PS-Adobe-3.0 Resource-ProcSet
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/MANUAL{
-statusdict begin/manualfeed true store end
-}bind def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/Fr{
-setrgbcolor fill
-}bind def
-/setcmykcolor where{
-pop
-/Fk{
-setcmykcolor fill
-}bind def
-}if
-/Fg{
-setgray fill
-}bind def
-/FL/fill load def
-/LW/setlinewidth load def
-/Cr/setrgbcolor load def
-/setcmykcolor where{
-pop
-/Ck/setcmykcolor load def
-}if
-/Cg/setgray load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne{def}{pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[]0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{}def
-/setpagedevice{}def
-}bind def
-/PEND{
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%EndProlog
-%%BeginSetup
-%%BeginFeature: *PageSize Default
-<< /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice
-%%EndFeature
-%%IncludeResource: font Times-Roman
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
-/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Roman@0 ENC0/Times-Roman RE
-%%EndSetup
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<html>)0 12 Q(<head>)0 24 Q(<title>)36 36 Q
-(December 27, 2009 libarchi)74.5 48 Q -.15(ve)-.25 G(-formats 5).15 E
-(</title>)36 72 Q 0 Cg EP
-%%Page: 2 2
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<style type="te)36 12 Q(xt/css">)-.15 E(<!--)36
-24 Q(body { mar)72 36 Q(gin-left:4%; })-.18 E(H1, H2, H3, H4, H5 {)72 48
-Q(color: maroon; padding: 4pt; mar)108 60 Q(gin-left: -4%;)-.18 E
-(border: solid; border)108 72 Q(-width: thin; width: 100%;)-.2 E 0 Cg EP
-%%Page: 3 3
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(background: r)108 12 Q(gb\(204,204,255\))-.18 E
-(})72 24 Q(-->)36 36 Q(</style>)36 48 Q(</head>)0 60 Q
-(<body bgcolor="#FFFFFF" te)0 72 Q(xt="#000000">)-.15 E 0 Cg EP
-%%Page: 4 4
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<h3 id="N)36 12 Q(AME">)-.35 E -.35(NA)36 24 S
-(ME).35 E(</h3>)36 36 Q(<b>libarchi)0 48 Q -.15(ve)-.25 G(-formats</b>)
-.15 E 2.5(-a)0 60 S(rchi)-2.5 E .3 -.15(ve f)-.25 H
-(ormats supported by the libarchi).15 E .3 -.15(ve l)-.25 H(ibrary).15 E
-(<h3 id="DESCRIPTION">)36 72 Q 0 Cg EP
-%%Page: 5 5
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(DESCRIPTION)36 12 Q(</h3>)36 24 Q(The)0 36 Q
-(<a href="../html3/libarchi)0 48 Q -.15(ve)-.25 G(.html">libarchi).15 E
--.15(ve)-.25 G(\(3\)</a>).15 E(library reads and writes a v)0 60 Q
-(ariety of streaming archi)-.25 E .3 -.15(ve f)-.25 H(ormats.).15 E
-(Generally speaking, all of these archi)0 72 Q .3 -.15(ve f)-.25 H
-(ormats consist of a series of).15 E 0 Cg EP
-%%Page: 6 6
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.74(``)0 12 S(entries').74 E('.)-.74 E(Each en\
-try stores a single \214le system object, such as a \214le, directory)0
-24 Q(,)-.65 E(or symbolic link.)0 36 Q(<p>)36 48 Q(The follo)0 60 Q
-(wing pro)-.25 E(vides a brief description of each format supported)-.15
-E(by libarchi)0 72 Q -.15(ve)-.25 G 2.5(,w).15 G
-(ith some information about recognized e)-2.5 E(xtensions or)-.15 E 0 Cg
-EP
-%%Page: 7 7
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(limitations of the current library support.)0 12
-Q(Note that just because a format is supported by libarchi)0 24 Q .3
--.15(ve d)-.25 H(oes not).15 E(imply that a program that uses libarchi)0
-36 Q .3 -.15(ve w)-.25 H(ill support that format.).15 E
-(Applications that use libarchi)0 48 Q .3 -.15(ve s)-.25 H
-(pecify which formats the).15 E 2.5(yw)-.15 G(ish)-2.5 E
-(to support, though man)0 60 Q 2.5(yp)-.15 G(rograms do use libarchi)
--2.5 E .3 -.15(ve c)-.25 H(on).15 E -.15(ve)-.4 G(nience).15 E
-(functions to enable all supported formats.)0 72 Q 0 Cg EP
-%%Page: 8 8
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<h4 id="T)36 12 Q(ar F)-.8 E(ormats">)-.15 E -.8
-(Ta)36 24 S 2.5(rF).8 G(ormats)-2.65 E(</h4>)36 36 Q(The)0 48 Q
-(<a href="../html3/libarchi)0 60 Q -.15(ve)-.25 G(.html">libarchi).15 E
--.15(ve)-.25 G(\(3\)</a>).15 E(library can read most tar archi)0 72 Q
--.15(ve)-.25 G(s.).15 E 0 Cg EP
-%%Page: 9 9
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(Ho)0 12 Q(we)-.25 E -.15(ve)-.25 G .8 -.4(r, i)
-.15 H 2.5(to).4 G(nly writes POSIX-standard)-2.5 E -.74(``)0 24 S
-(ustar').74 E(')-.74 E(and)0 36 Q -.74(``)0 48 S(pax interchange').74 E
-(')-.74 E(formats.)0 60 Q(<p>)36 72 Q 0 Cg EP
-%%Page: 10 10
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF
-(All tar formats store each entry in one or more 512-byte records.)0 12
-Q(The \214rst record is used for \214le metadata, including \214lename,)
-0 24 Q
-(timestamp, and mode information, and the \214le data is stored in)0 36
-Q(subsequent records.)0 48 Q(Later v)0 60 Q(ariants ha)-.25 E .3 -.15
-(ve ex)-.2 H(tended this by either appropriating unde\214ned).15 E
-(areas of the header record, e)0 72 Q
-(xtending the header to multiple records,)-.15 E 0 Cg EP
-%%Page: 11 11
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF
-(or by storing special entries that modify the interpretation of)0 12 Q
-(subsequent entries.)0 24 Q(<p>)36 36 Q(<dl compact>)0 48 Q
-(<p><dt><b></b><b>gnutar</b><dd>)0 60 Q(The)0 72 Q 0 Cg EP
-%%Page: 12 12
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<a href="../html3/libarchi)0 12 Q -.15(ve)-.25 G
-(.html">libarchi).15 E -.15(ve)-.25 G(\(3\)</a>).15 E
-(library can read GNU-format tar archi)0 24 Q -.15(ve)-.25 G(s.).15 E
-(It currently supports the most popular GNU e)0 36 Q
-(xtensions, including)-.15 E(modern long \214lename and linkname suppor\
-t, as well as atime and ctime data.)0 48 Q(The libarchi)0 60 Q .3 -.15
-(ve l)-.25 H(ibrary does not support multi-v).15 E(olume)-.2 E(archi)0
-72 Q -.15(ve)-.25 G(s, nor the old GNU long \214lename format.).15 E 0
-Cg EP
-%%Page: 13 13
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF
-(It can read GNU sparse \214le entries, including the ne)0 12 Q 2.5(wP)
--.25 G(OSIX-based)-2.5 E(formats, b)0 24 Q
-(ut cannot write GNU sparse \214le entries.)-.2 E
-(<p><dt><b></b><b>pax</b><dd>)0 36 Q(The)0 48 Q
-(<a href="../html3/libarchi)0 60 Q -.15(ve)-.25 G(.html">libarchi).15 E
--.15(ve)-.25 G(\(3\)</a>).15 E
-(library can read and write POSIX-compliant pax interchange format)0 72
-Q 0 Cg EP
-%%Page: 14 14
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(archi)0 12 Q -.15(ve)-.25 G(s.).15 E -.15(Pa)0
-24 S 2.5(xi).15 G(nterchange format archi)-2.5 E -.15(ve)-.25 G 2.5(sa)
-.15 G(re an e)-2.5 E(xtension of the older ustar)-.15 E
-(format that adds a separate entry with additional attrib)0 36 Q
-(utes stored)-.2 E(as k)0 48 Q -.15(ey)-.1 G(/v).15 E
-(alue pairs immediately before each re)-.25 E(gular entry)-.15 E(.)-.65
-E(The presence of these additional entries is the only dif)0 60 Q
-(ference between)-.25 E
-(pax interchange format and the older ustar format.)0 72 Q 0 Cg EP
-%%Page: 15 15
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(The e)0 12 Q(xtended attrib)-.15 E
-(utes are of unlimited length and are stored)-.2 E
-(as UTF-8 Unicode strings.)0 24 Q -2.15 -.25(Ke y)0 36 T -.1(wo).25 G
-(rds de\214ned in the standard are in all lo).1 E(wercase; v)-.25 E
-(endors are allo)-.15 E(wed)-.25 E(to de\214ne custom k)0 48 Q -.15(ey)
--.1 G 2.5(sb).15 G 2.5(yp)-2.5 G(receding them with the v)-2.5 E
-(endor name in all uppercase.)-.15 E(When writing pax archi)0 60 Q -.15
-(ve)-.25 G(s, libarchi).15 E .3 -.15(ve u)-.25 H(ses man).15 E 2.5(yo)
--.15 G 2.5(ft)-2.5 G(he SCHIL)-2.5 E 2.5(Yk)-1 G -.15(ey)-2.6 G(s).15 E
-(de\214ned by Joer)0 72 Q 2.5(gS)-.18 G(chilling')-2.5 E(s)-.55 E 0 Cg
-EP
-%%Page: 16 16
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.74(``)0 12 S(star').74 E(')-.74 E(archi)0 24 Q
--.15(ve)-.25 G 2.5(ra).15 G(nd a fe)-2.5 E 2.5(wL)-.25 G(IB)-2.5 E
-(ARCHIVE k)-.35 E -.15(ey)-.1 G(s.).15 E(The libarchi)0 36 Q .3 -.15
-(ve l)-.25 H(ibrary can read most of the SCHIL).15 E 2.5(Yk)-1 G -.15
-(ey)-2.6 G(s).15 E(and most of the GNU k)0 48 Q -.15(ey)-.1 G 2.5(si).15
-G(ntroduced by GNU tar)-2.5 E(.)-.55 E(It silently ignores an)0 60 Q 2.5
-(yk)-.15 G -.15(ey)-2.6 G -.1(wo).15 G(rds that it does not understand.)
-.1 E(<p><dt><b></b><b>restricted</b><b> pax</b><dd>)0 72 Q 0 Cg EP
-%%Page: 17 17
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(The libarchi)0 12 Q .3 -.15(ve l)-.25 H
-(ibrary can also write pax archi).15 E -.15(ve)-.25 G 2.5(si).15 G 2.5
-(nw)-2.5 G(hich it)-2.5 E(attempts to suppress the e)0 24 Q
-(xtended attrib)-.15 E(utes entry whene)-.2 E -.15(ve)-.25 G(r).15 E
-(possible.)0 36 Q(The result will be identical to a ustar archi)0 48 Q
-.3 -.15(ve u)-.25 H(nless the).15 E -.15(ex)0 60 S(tended attrib).15 E
-(utes entry is required to store a long \214le)-.2 E
-(name, long linkname, e)0 72 Q(xtended A)-.15 E
-(CL, \214le \215ags, or if an)-.4 E 2.5(yo)-.15 G 2.5(ft)-2.5 G
-(he standard)-2.5 E 0 Cg EP
-%%Page: 18 18
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF
-(ustar data \(user name, group name, UID, GID, etc\) cannot be fully)0
-12 Q(represented in the ustar header)0 24 Q(.)-.55 E
-(In all cases, the result can be dearchi)0 36 Q -.15(ve)-.25 G 2.5(db)
-.15 G 2.5(ya)-2.5 G .3 -.15(ny p)-2.5 H(rogram that).15 E
-(can read POSIX-compliant pax interchange format archi)0 48 Q -.15(ve)
--.25 G(s.).15 E(Programs that correctly read ustar format \(see belo)0
-60 Q(w\) will also be)-.25 E(able to read this format; an)0 72 Q 2.5(ye)
--.15 G(xtended attrib)-2.65 E(utes will be e)-.2 E(xtracted as)-.15 E 0
-Cg EP
-%%Page: 19 19
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(separate \214les stored in)0 12 Q
-(<code></code><code>P)0 24 Q(axHeader</code>)-.15 E(directories.)0 36 Q
-(<p><dt><b></b><b>ustar</b><dd>)0 48 Q(The libarchi)0 60 Q .3 -.15(ve l)
--.25 H(ibrary can both read and write this format.).15 E
-(This format has the follo)0 72 Q(wing limitations:)-.25 E 0 Cg EP
-%%Page: 20 20
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<ul>)0 12 Q(<li>)0 24 Q(De)0 36 Q
-(vice major and minor numbers are limited to 21 bits.)-.25 E
-(Nodes with lar)0 48 Q(ger numbers will not be added to the archi)-.18 E
--.15(ve)-.25 G(.).15 E(<li>)0 60 Q -.15(Pa)0 72 S(th names in the archi)
-.15 E .3 -.15(ve a)-.25 H(re limited to 255 bytes.).15 E 0 Cg EP
-%%Page: 21 21
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(\(Shorter if there is no / character in e)0 12 Q
-(xactly the right place.\))-.15 E(<li>)0 24 Q
-(Symbolic links and hard links are stored in the archi)0 36 Q .3 -.15
-(ve w)-.25 H(ith).15 E(the name of the referenced \214le.)0 48 Q
-(This name is limited to 100 bytes.)0 60 Q(<li>)0 72 Q 0 Cg EP
-%%Page: 22 22
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(Extended attrib)0 12 Q
-(utes, \214le \215ags, and other e)-.2 E(xtended)-.15 E
-(security information cannot be stored.)0 24 Q(<li>)0 36 Q(Archi)0 48 Q
-.3 -.15(ve e)-.25 H(ntries are limited to 8 gig).15 E(abytes in size.)
--.05 E(</ul>)0 60 Q
-(Note that the pax interchange format has none of these restrictions.)0
-72 Q 0 Cg EP
-%%Page: 23 23
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(</dl>)0 12 Q(<p>)36 24 Q(The libarchi)0 36 Q .3
--.15(ve l)-.25 H(ibrary also reads a v).15 E(ariety of commonly-used e)
--.25 E(xtensions to)-.15 E(the basic tar format.)0 48 Q(These e)0 60 Q
-(xtensions are recognized automatically whene)-.15 E -.15(ve)-.25 G 2.5
-(rt).15 G(he)-2.5 E 2.5(ya)-.15 G(ppear)-2.5 E(.)-.55 E(<dl compact>)0
-72 Q 0 Cg EP
-%%Page: 24 24
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<p><dt>Numeric e)0 12 Q(xtensions.<dd>)-.15 E
-(The POSIX standards require \214x)0 24 Q
-(ed-length numeric \214elds to be written with)-.15 E
-(some character position reserv)0 36 Q(ed for terminators.)-.15 E
-(Libarchi)0 48 Q .3 -.15(ve a)-.25 H(llo).15 E
-(ws these \214elds to be written without terminator characters.)-.25 E
-(This e)0 60 Q(xtends the allo)-.15 E -.1(wa)-.25 G
-(ble range; in particular).1 E 2.5(,u)-.4 G(star archi)-2.5 E -.15(ve)
--.25 G 2.5(sw).15 G(ith this)-2.5 E -.15(ex)0 72 S
-(tension can support entries up to 64 gig).15 E(abytes in size.)-.05 E 0
-Cg EP
-%%Page: 25 25
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(Libarchi)0 12 Q .3 -.15(ve a)-.25 H
-(lso recognizes base-256 v).15 E(alues in most numeric \214elds.)-.25 E
-(This essentially remo)0 24 Q -.15(ve)-.15 G 2.5(sa).15 G
-(ll limitations on \214le size, modi\214cation time,)-2.5 E(and de)0 36
-Q(vice numbers.)-.25 E(<p><dt>Solaris e)0 48 Q(xtensions<dd>)-.15 E
-(Libarchi)0 60 Q .3 -.15(ve r)-.25 H(ecognizes A).15 E(CL and e)-.4 E
-(xtended attrib)-.15 E(ute records written)-.2 E(by Solaris tar)0 72 Q
-(.)-.55 E 0 Cg EP
-%%Page: 26 26
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(Currently)0 12 Q 2.5(,l)-.65 G(ibarchi)-2.5 E .3
--.15(ve o)-.25 H(nly has support for old-style A).15 E(CLs; the)-.4 E
-(ne)0 24 Q(wer NFSv4 A)-.25 E(CLs are recognized b)-.4 E(ut discarded.)
--.2 E(</dl>)0 36 Q(<p>)36 48 Q(The \214rst tar program appeared in Se)0
-60 Q -.15(ve)-.25 G(nth Edition Unix in 1979.).15 E(The \214rst of)0 72
-Q(\214cial standard for the tar \214le format w)-.25 E(as the)-.1 E 0 Cg
-EP
-%%Page: 27 27
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.74(``)0 12 S(ustar').74 E(')-.74 E
-(\(Unix Standard T)0 24 Q(ar\) format de\214ned by POSIX in 1988.)-.8 E
-(POSIX.1-2001 e)0 36 Q(xtended the ustar format to create the)-.15 E
--.74(``)0 48 S(pax interchange').74 E(')-.74 E(format.)0 60 Q
-(<h4 id="Cpio F)36 72 Q(ormats">)-.15 E 0 Cg EP
-%%Page: 28 28
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(Cpio F)36 12 Q(ormats)-.15 E(</h4>)36 24 Q
-(The libarchi)0 36 Q .3 -.15(ve l)-.25 H
-(ibrary can read a number of common cpio v).15 E(ariants and can write)
--.25 E -.74(``)0 48 S(odc').74 E(')-.74 E(and)0 60 Q -.74(``)0 72 S(ne)
-.74 E(wc')-.25 E(')-.74 E 0 Cg EP
-%%Page: 29 29
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(format archi)0 12 Q -.15(ve)-.25 G(s.).15 E 2.5
-(Ac)0 24 S(pio archi)-2.5 E .3 -.15(ve s)-.25 H
-(tores each entry as a \214x).15 E(ed-size header follo)-.15 E(wed)-.25
-E(by a v)0 36 Q(ariable-length \214lename and v)-.25 E
-(ariable-length data.)-.25 E(Unlik)0 48 Q 2.5(et)-.1 G
-(he tar format, the cpio format does only minimal padding)-2.5 E
-(of the header or \214le data.)0 60 Q(There are se)0 72 Q -.15(ve)-.25 G
-(ral cpio v).15 E(ariants, which dif)-.25 E(fer primarily in)-.25 E 0 Cg
-EP
-%%Page: 30 30
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(ho)0 12 Q 2.5(wt)-.25 G(he)-2.5 E 2.5(ys)-.15 G
-(tore the initial header: some store the v)-2.5 E(alues as)-.25 E
-(octal or he)0 24 Q(xadecimal numbers in ASCII, others as binary v)-.15
-E(alues of)-.25 E -.25(va)0 36 S(rying byte order and length.).25 E
-(<dl compact>)0 48 Q(<p><dt><b></b><b>binary</b><dd>)0 60 Q
-(The libarchi)0 72 Q .3 -.15(ve l)-.25 H
-(ibrary transparently reads both big-endian and little-endian).15 E 0 Cg
-EP
-%%Page: 31 31
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.25(va)0 12 S
-(riants of the original binary cpio format.).25 E
-(This format used 32-bit binary v)0 24 Q
-(alues for \214le size and mtime,)-.25 E(and 16-bit binary v)0 36 Q
-(alues for the other \214elds.)-.25 E(<p><dt><b></b><b>odc</b><dd>)0 48
-Q(The libarchi)0 60 Q .3 -.15(ve l)-.25 H
-(ibrary can both read and write this).15 E
-(POSIX-standard format, which is of)0 72 Q(\214cially kno)-.25 E
-(wn as the)-.25 E 0 Cg EP
-%%Page: 32 32
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.74(``)0 12 S(cpio interchange format').74 E(')
--.74 E(or the)0 24 Q -.74(``)0 36 S(octet-oriented cpio archi).74 E .3
--.15(ve f)-.25 H(ormat').15 E(')-.74 E(and sometimes unof)0 48 Q
-(\214cially referred to as the)-.25 E -.74(``)0 60 S
-(old character format').74 E('.)-.74 E
-(This format stores the header contents as octal v)0 72 Q
-(alues in ASCII.)-.25 E 0 Cg EP
-%%Page: 33 33
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF
-(It is standard, portable, and immune from byte-order confusion.)0 12 Q
-(File sizes and mtime are limited to 33 bits \(8GB \214le size\),)0 24 Q
-(other \214elds are limited to 18 bits.)0 36 Q
-(<p><dt><b></b><b>SVR4</b><dd>)0 48 Q(The libarchi)0 60 Q .3 -.15(ve l)
--.25 H(ibrary can read both CRC and non-CRC v).15 E(ariants of)-.25 E
-(this format.)0 72 Q 0 Cg EP
-%%Page: 34 34
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(The SVR4 format uses eight-digit he)0 12 Q
-(xadecimal v)-.15 E(alues for)-.25 E(all header \214elds.)0 24 Q
-(This limits \214le size to 4GB, and also limits the mtime and)0 36 Q
-(other \214elds to 32 bits.)0 48 Q
-(The SVR4 format can optionally include a CRC of the \214le)0 60 Q
-(contents, although libarchi)0 72 Q .3 -.15(ve d)-.25 H
-(oes not currently v).15 E(erify this CRC.)-.15 E 0 Cg EP
-%%Page: 35 35
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(</dl>)0 12 Q(<p>)36 24 Q
-(Cpio \214rst appeared in PWB/UNIX 1.0, which w)0 36 Q
-(as released within)-.1 E -1.11(AT)0 48 S(&T in 1977.)1.11 E
-(PWB/UNIX 1.0 formed the basis of System III Unix, released outside)0 60
-Q(of A)0 72 Q(T&T in 1981.)-1.11 E 0 Cg EP
-%%Page: 36 36
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(This mak)0 12 Q(es cpio older than tar)-.1 E 2.5
-(,a)-.4 G(lthough cpio w)-2.5 E(as not included)-.1 E(in V)0 24 Q
-(ersion 7 A)-1.11 E(T&T Unix.)-1.11 E
-(As a result, the tar command became much better kno)0 36 Q(wn in uni)
--.25 E -.15(ve)-.25 G(rsities).15 E(and research groups that used V)0 48
-Q(ersion 7.)-1.11 E(The combination of the)0 60 Q(<b>\214nd</b>)0 72 Q 0
-Cg EP
-%%Page: 37 37
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(and)0 12 Q(<b>cpio</b>)0 24 Q(utilities pro)0 36
-Q(vided v)-.15 E(ery precise control o)-.15 E -.15(ve)-.15 G 2.5<728c>
-.15 G(le selection.)-2.5 E(Unfortunately)0 48 Q 2.5(,t)-.65 G
-(he format has man)-2.5 E 2.5(yl)-.15 G(imitations that mak)-2.5 E 2.5
-(ei)-.1 G 2.5(tu)-2.5 G(nsuitable)-2.5 E(for widespread use.)0 60 Q
-(Only the POSIX format permits \214les o)0 72 Q -.15(ve)-.15 G 2.5(r4)
-.15 G(GB, and its 18-bit)-2.5 E 0 Cg EP
-%%Page: 38 38
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(limit for most other \214elds mak)0 12 Q
-(es it unsuitable for modern systems.)-.1 E
-(In addition, cpio formats only store numeric UID/GID v)0 24 Q
-(alues \(not)-.25 E(usernames and group names\), which can mak)0 36 Q
-2.5(ei)-.1 G 2.5(tv)-2.5 G(ery dif)-2.65 E(\214cult to correctly)-.25 E
-(transfer archi)0 48 Q -.15(ve)-.25 G 2.5(sa).15 G
-(cross systems with dissimilar user numbering.)-2.5 E(<h4 id="Shar F)36
-60 Q(ormats">)-.15 E(Shar F)36 72 Q(ormats)-.15 E 0 Cg EP
-%%Page: 39 39
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(</h4>)36 12 Q(A)0 24 Q -.74(``)0 36 S
-(shell archi).74 E -.15(ve)-.25 G -.74('').15 G
-(is a shell script that, when e)0 48 Q -.15(xe)-.15 G
-(cuted on a POSIX-compliant).15 E
-(system, will recreate a collection of \214le system objects.)0 60 Q
-(The libarchi)0 72 Q .3 -.15(ve l)-.25 H(ibrary can write tw).15 E 2.5
-(od)-.1 G(if)-2.5 E(ferent kinds of shar archi)-.25 E -.15(ve)-.25 G(s:)
-.15 E 0 Cg EP
-%%Page: 40 40
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<dl compact>)0 12 Q
-(<p><dt><b></b><b>shar</b><dd>)0 24 Q
-(The traditional shar format uses a limited set of POSIX)0 36 Q
-(commands, including)0 48 Q(<a href="../html1/echo.html">echo\(1\)</a>,)
-0 60 Q(<a href="../html1/mkdir)0 72 Q(.html">mkdir\(1\)</a>,)-.55 E 0 Cg
-EP
-%%Page: 41 41
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(and)0 12 Q
-(<a href="../html1/sed.html">sed\(1\)</a>.)0 24 Q
-(It is suitable for portably archi)0 36 Q
-(ving small collections of plain te)-.25 E(xt \214les.)-.15 E(Ho)0 48 Q
-(we)-.25 E -.15(ve)-.25 G .8 -.4(r, i).15 H 2.5(ti).4 G 2.5(sn)-2.5 G
-(ot generally well-suited for lar)-2.5 E(ge archi)-.18 E -.15(ve)-.25 G
-(s).15 E(\(man)0 60 Q 2.5(yi)-.15 G(mplementations of)-2.5 E
-(<a href="../html1/sh.html">sh\(1\)</a>)0 72 Q 0 Cg EP
-%%Page: 42 42
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(ha)0 12 Q .3 -.15(ve l)-.2 H
-(imits on the size of a script\) nor should it be used with non-te).15 E
-(xt \214les.)-.15 E(<p><dt><b></b><b>shardump</b><dd>)0 24 Q
-(This format is similar to shar b)0 36 Q(ut encodes \214les using)-.2 E
-(<a href="../html1/uuencode.html">uuencode\(1\)</a>)0 48 Q
-(so that the result will be a plain te)0 60 Q(xt \214le re)-.15 E -.05
-(ga)-.15 G(rdless of the \214le contents.).05 E(It also includes additi\
-onal shell commands that attempt to reproduce as)0 72 Q 0 Cg EP
-%%Page: 43 43
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(man)0 12 Q 2.5<798c>-.15 G(le attrib)-2.5 E
-(utes as possible, including o)-.2 E(wner)-.25 E 2.5(,m)-.4 G
-(ode, and \215ags.)-2.5 E
-(The additional commands used to restore \214le attrib)0 24 Q(utes mak)
--.2 E(e)-.1 E(shardump archi)0 36 Q -.15(ve)-.25 G 2.5(sl).15 G
-(ess portable than plain shar archi)-2.5 E -.15(ve)-.25 G(s.).15 E
-(</dl>)0 48 Q(<h4 id="ISO9660 format">)36 60 Q(ISO9660 format)36 72 Q 0
-Cg EP
-%%Page: 44 44
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(</h4>)36 12 Q(Libarchi)0 24 Q .3 -.15(ve c)-.25
-H(an read and e).15 E(xtract from \214les containing ISO9660-compliant)
--.15 E(CDR)0 36 Q(OM images.)-.4 E(In man)0 48 Q 2.5(yc)-.15 G
-(ases, this can remo)-2.5 E .3 -.15(ve t)-.15 H(he need to b).15 E
-(urn a ph)-.2 E(ysical CDR)-.05 E(OM)-.4 E
-(just in order to read the \214les contained in an ISO9660 image.)0 60 Q
-(It also a)0 72 Q -.2(vo)-.2 G(ids security and comple).2 E
-(xity issues that come with)-.15 E 0 Cg EP
-%%Page: 45 45
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(virtual mounts and loopback de)0 12 Q(vices.)
--.25 E(Libarchi)0 24 Q .3 -.15(ve s)-.25 H
-(upports the most common Rockridge e).15 E(xtensions and has partial)
--.15 E(support for Joliet e)0 36 Q(xtensions.)-.15 E(If both e)0 48 Q
-(xtensions are present, the Joliet e)-.15 E(xtensions will be)-.15 E
-(used and the Rockridge e)0 60 Q(xtensions will be ignored.)-.15 E
-(In particular)0 72 Q 2.5(,t)-.4 G
-(his can create problems with hardlinks and symlinks,)-2.5 E 0 Cg EP
-%%Page: 46 46
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(which are supported by Rockridge b)0 12 Q
-(ut not by Joliet.)-.2 E(<h4 id="Zip format">)36 24 Q(Zip format)36 36 Q
-(</h4>)36 48 Q(Libarchi)0 60 Q .3 -.15(ve c)-.25 H
-(an read and write zip format archi).15 E -.15(ve)-.25 G 2.5(st).15 G
-(hat ha)-2.5 E -.15(ve)-.2 G
-(uncompressed entries and entries compressed with the)0 72 Q 0 Cg EP
-%%Page: 47 47
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.74(``)0 12 S(de\215ate').74 E(')-.74 E
-(algorithm.)0 24 Q(Older zip compression algorithms are not supported.)0
-36 Q(It can e)0 48 Q(xtract jar archi)-.15 E -.15(ve)-.25 G(s, archi).15
-E -.15(ve)-.25 G 2.5(st).15 G(hat use Zip64 e)-2.5 E(xtensions and man)
--.15 E(y)-.15 E(self-e)0 60 Q(xtracting zip archi)-.15 E -.15(ve)-.25 G
-(s.).15 E(Libarchi)0 72 Q .3 -.15(ve r)-.25 H(eads Zip archi).15 E -.15
-(ve)-.25 G 2.5(sa).15 G 2.5(st)-2.5 G(he)-2.5 E 2.5(ya)-.15 G
-(re being streamed,)-2.5 E 0 Cg EP
-%%Page: 48 48
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(which allo)0 12 Q(ws it to read archi)-.25 E
--.15(ve)-.25 G 2.5(so).15 G 2.5(fa)-2.5 G(rbitrary size.)-2.5 E
-(It currently does not use the central directory; this)0 24 Q
-(limits libarchi)0 36 Q -.15(ve)-.25 G 1.1 -.55('s a).15 H
-(bility to support some self-e).55 E(xtracting)-.15 E(archi)0 48 Q -.15
-(ve)-.25 G 2.5(sa).15 G(nd ones that ha)-2.5 E .3 -.15(ve b)-.2 H
-(een modi\214ed in certain w).15 E(ays.)-.1 E(<h4 id="Archi)36 60 Q .3
--.15(ve \()-.25 H(library\) \214le format">).15 E(Archi)36 72 Q .3 -.15
-(ve \()-.25 H(library\) \214le format).15 E 0 Cg EP
-%%Page: 49 49
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(</h4>)36 12 Q(The Unix archi)0 24 Q .3 -.15
-(ve f)-.25 H(ormat \(commonly created by the).15 E(<a href="../html1/ar)
-0 36 Q(.html">ar\(1\)</a>)-.55 E(archi)0 48 Q -.15(ve)-.25 G
-(r\) is a general-purpose format which is).15 E(used almost e)0 60 Q
-(xclusi)-.15 E -.15(ve)-.25 G(ly for object \214les to be).15 E
-(read by the link editor)0 72 Q 0 Cg EP
-%%Page: 50 50
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<a href="../html1/ld.html">ld\(1\)</a>.)0 12 Q
-(The ar format has ne)0 24 Q -.15(ve)-.25 G 2.5(rb).15 G
-(een standardised.)-2.5 E(There are tw)0 36 Q 2.5(oc)-.1 G(ommon v)-2.5
-E(ariants:)-.25 E(the GNU format deri)0 48 Q -.15(ve)-.25 G 2.5(df).15 G
-(rom SVR4,)-2.5 E(and the BSD format, which \214rst appeared in 4.4BSD.)
-0 60 Q(The tw)0 72 Q 2.5(od)-.1 G(if)-2.5 E
-(fer primarily in their handling of \214lenames)-.25 E 0 Cg EP
-%%Page: 51 51
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(longer than 15 characters:)0 12 Q
-(the GNU/SVR4 v)0 24 Q(ariant writes a \214lename table at the be)-.25 E
-(ginning of the archi)-.15 E -.15(ve)-.25 G(;).15 E
-(the BSD format stores each long \214lename in an e)0 36 Q(xtension)-.15
-E(area adjacent to the entry)0 48 Q(.)-.65 E(Libarchi)0 60 Q .3 -.15
-(ve c)-.25 H(an read both e).15 E(xtensions,)-.15 E(including archi)0 72
-Q -.15(ve)-.25 G 2.5(st).15 G
-(hat may include both types of long \214lenames.)-2.5 E 0 Cg EP
-%%Page: 52 52
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(Programs using libarchi)0 12 Q .3 -.15(ve c)-.25
-H(an write GNU/SVR4 format).15 E(if the)0 24 Q 2.5(yp)-.15 G(ro)-2.5 E
-(vide a \214lename table to be written into)-.15 E(the archi)0 36 Q .3
--.15(ve b)-.25 H(efore an).15 E 2.5(yo)-.15 G 2.5(ft)-2.5 G(he entries.)
--2.5 E(An)0 48 Q 2.5(ye)-.15 G
-(ntries whose names are not in the \214lename table)-2.5 E
-(will be written using BSD-style long \214lenames.)0 60 Q
-(This can cause problems for programs such as)0 72 Q 0 Cg EP
-%%Page: 53 53
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF
-(GNU ld that do not support the BSD-style long \214lenames.)0 12 Q
-(<h4 id="mtree">)36 24 Q(mtree)36 36 Q(</h4>)36 48 Q(Libarchi)0 60 Q .3
--.15(ve c)-.25 H(an read and write \214les in).15 E
-(<a href="../html5/mtree.html">mtree\(5\)</a>)0 72 Q 0 Cg EP
-%%Page: 54 54
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(format.)0 12 Q(This format is not a true archi)0
-24 Q .3 -.15(ve f)-.25 H(ormat, b).15 E(ut rather a te)-.2 E
-(xtual description)-.15 E(of a \214le hierarch)0 36 Q 2.5(yi)-.05 G 2.5
-(nw)-2.5 G(hich each line speci\214es the name of a \214le and)-2.5 E
-(pro)0 48 Q(vides speci\214c metadata about that \214le.)-.15 E
-(Libarchi)0 60 Q .3 -.15(ve c)-.25 H(an read all of the k).15 E -.15(ey)
--.1 G -.1(wo).15 G(rds supported by both).1 E(the NetBSD and FreeBSD v)0
-72 Q(ersions of)-.15 E 0 Cg EP
-%%Page: 55 55
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<a href="../html1/mtree.html">mtree\(1\)</a>,)0
-12 Q(although man)0 24 Q 2.5(yo)-.15 G 2.5(ft)-2.5 G(he k)-2.5 E -.15
-(ey)-.1 G -.1(wo).15 G(rds cannot currently be stored in an).1 E
-(<font size="-1"></font><font size="-1">archi)0 36 Q -.15(ve)-.25 G
-(_entry</font>).15 E(object.)0 48 Q(When writing, libarchi)0 60 Q .3
--.15(ve s)-.25 H(upports use of the).15 E(<a href="../html3/archi)0 72 Q
--.15(ve)-.25 G(_write_set_options.html">archi).15 E -.15(ve)-.25 G
-(_write_set_options\(3\)</a>).15 E 0 Cg EP
-%%Page: 56 56
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(interf)0 12 Q(ace to specify which k)-.1 E -.15
-(ey)-.1 G -.1(wo).15 G(rds should be included in the).1 E(output.)0 24 Q
-(If libarchi)0 36 Q .3 -.15(ve w)-.25 H
-(as compiled with access to suitable).05 E
-(cryptographic libraries \(such as the OpenSSL libraries\),)0 48 Q
-(it can compute hash entries such as)0 60 Q(<b></b><b>sha512</b>)0 72 Q
-0 Cg EP
-%%Page: 57 57
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(or)0 12 Q(<b></b><b>md5</b>)0 24 Q
-(from \214le data being written to the mtree writer)0 36 Q(.)-.55 E(<p>)
-36 48 Q(When reading an mtree \214le, libarchi)0 60 Q .3 -.15(ve w)-.25
-H(ill locate the corresponding).15 E(\214les on disk using the)0 72 Q 0
-Cg EP
-%%Page: 58 58
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<b></b><b>contents</b>)0 12 Q -.1(ke)0 24 S(yw)
--.05 E(ord if present or the re)-.1 E(gular \214lename.)-.15 E
-(If it can locate and open the \214le on disk, it will use that)0 36 Q
-(to \214ll in an)0 48 Q 2.5(ym)-.15 G
-(etadata that is missing from the mtree \214le)-2.5 E
-(and will read the \214le contents and return those to the program)0 60
-Q(using libarchi)0 72 Q -.15(ve)-.25 G(.).15 E 0 Cg EP
-%%Page: 59 59
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF
-(If it cannot locate and open the \214le on disk, libarchi)0 12 Q -.15
-(ve)-.25 G(will return an error for an)0 24 Q 2.5(ya)-.15 G
-(ttempt to read the entry)-2.5 E(body)0 36 Q(.)-.65 E
-(<h3 id="SEE ALSO">)36 48 Q(SEE ALSO)36 60 Q(</h3>)36 72 Q 0 Cg EP
-%%Page: 60 60
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<a href="../html1/ar)0 12 Q(.html">ar\(1\)</a>,)
--.55 E(<a href="../html1/cpio.html">cpio\(1\)</a>,)0 24 Q
-(<a href="../html1/mkisofs.html">mkisofs\(1\)</a>,)0 36 Q
-(<a href="../html1/shar)0 48 Q(.html">shar\(1\)</a>,)-.55 E
-(<a href="../html1/tar)0 60 Q(.html">tar\(1\)</a>,)-.55 E
-(<a href="../html1/zip.html">zip\(1\)</a>,)0 72 Q 0 Cg EP
-%%Page: 61 61
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(<a href="../html3/zlib)0 12 Q
-(.html">zlib\(3\)</a>,)-.4 E
-(<a href="../html5/cpio.html">cpio\(5\)</a>,)0 24 Q
-(<a href="../html5/mtree.html">mtree\(5\)</a>,)0 36 Q
-(<a href="../html5/tar)0 48 Q(.html">tar\(5\)</a>)-.55 E(</body>)0 60 Q
-(</html>)0 72 Q 0 Cg EP
-%%Trailer
-end
-%%EOF
+<!-- Creator : groff version 1.22.3 -->
+<!-- CreationDate: Sun Jun 19 19:54:09 2016 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta name="generator" content="groff -Thtml, see www.gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<meta name="Content-Style" content="text/css">
+<style type="text/css">
+ p { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ table { margin-top: 0; margin-bottom: 0; vertical-align: top }
+ h1 { text-align: center }
+</style>
+<title></title>
+</head>
+<body>
+
+<hr>
+
+
+<p>LIBARCHIVE-FORMATS(5) BSD File Formats Manual
+LIBARCHIVE-FORMATS(5)</p>
+
+<p style="margin-top: 1em"><b>NAME</b></p>
+
+<p style="margin-left:6%;"><b>libarchive-formats</b>
+&mdash; archive formats supported by the libarchive
+library</p>
+
+<p style="margin-top: 1em"><b>DESCRIPTION</b></p>
+
+<p style="margin-left:6%;">The libarchive(3) library reads
+and writes a variety of streaming archive formats. Generally
+speaking, all of these archive formats consist of a series
+of &rsquo;&rsquo;entries&rsquo;&rsquo;. Each entry stores a
+single file system object, such as a file, directory, or
+symbolic link.</p>
+
+<p style="margin-left:6%; margin-top: 1em">The following
+provides a brief description of each format supported by
+libarchive, with some information about recognized
+extensions or limitations of the current library support.
+Note that just because a format is supported by libarchive
+does not imply that a program that uses libarchive will
+support that format. Applications that use libarchive
+specify which formats they wish to support, though many
+programs do use libarchive convenience functions to enable
+all supported formats.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>Tar
+Formats</b> <br>
+The libarchive(3) library can read most tar archives. It can
+write POSIX-standard &rsquo;&rsquo;ustar&rsquo;&rsquo; and
+&rsquo;&rsquo;pax interchange&rsquo;&rsquo; formats as well
+as v7 tar format and a subset of the legacy GNU tar
+format.</p>
+
+<p style="margin-left:6%; margin-top: 1em">All tar formats
+store each entry in one or more 512-byte records. The first
+record is used for file metadata, including filename,
+timestamp, and mode information, and the file data is stored
+in subsequent records. Later variants have extended this by
+either appropriating undefined areas of the header record,
+extending the header to multiple records, or by storing
+special entries that modify the interpretation of subsequent
+entries.</p>
+
+<p style="margin-top: 1em"><b>gnutar</b></p>
+
+<p style="margin-left:17%; margin-top: 1em">The
+libarchive(3) library can read most GNU-format tar archives.
+It currently supports the most popular GNU extensions,
+including modern long filename and linkname support, as well
+as atime and ctime data. The libarchive library does not
+support multi-volume archives, nor the old GNU long filename
+format. It can read GNU sparse file entries, including the
+new POSIX-based formats.</p>
+
+<p style="margin-left:17%; margin-top: 1em">The
+libarchive(3) library can write GNU tar format, including
+long filename and linkname support, as well as atime and
+ctime data.</p>
+
+<p style="margin-top: 1em"><b>pax</b></p>
+
+<p style="margin-left:17%; margin-top: 1em">The
+libarchive(3) library can read and write POSIX-compliant pax
+interchange format archives. Pax interchange format archives
+are an extension of the older ustar format that adds a
+separate entry with additional attributes stored as
+key/value pairs immediately before each regular entry. The
+presence of these additional entries is the only difference
+between pax interchange format and the older ustar format.
+The extended attributes are of unlimited length and are
+stored as UTF-8 Unicode strings. Keywords defined in the
+standard are in all lowercase; vendors are allowed to define
+custom keys by preceding them with the vendor name in all
+uppercase. When writing pax archives, libarchive uses many
+of the SCHILY keys defined by Joerg Schilling&rsquo;s
+&rsquo;&rsquo;star&rsquo;&rsquo; archiver and a few
+LIBARCHIVE keys. The libarchive library can read most of the
+SCHILY keys and most of the GNU keys introduced by GNU tar.
+It silently ignores any keywords that it does not
+understand.</p>
+
+<p style="margin-left:17%; margin-top: 1em">The pax
+interchange format converts filenames to Unicode and stores
+them using the UTF-8 encoding. Prior to libarchive 3.0,
+libarchive erroneously assumed that the system
+wide-character routines natively supported Unicode. This
+caused it to mis-handle non-ASCII filenames on systems that
+did not satisfy this assumption.</p>
+
+<p style="margin-top: 1em"><b>restricted pax</b></p>
+
+<p style="margin-left:17%;">The libarchive library can also
+write pax archives in which it attempts to suppress the
+extended attributes entry whenever possible. The result will
+be identical to a ustar archive unless the extended
+attributes entry is required to store a long file name, long
+linkname, extended ACL, file flags, or if any of the
+standard ustar data (user name, group name, UID, GID, etc)
+cannot be fully represented in the ustar header. In all
+cases, the result can be dearchived by any program that can
+read POSIX-compliant pax interchange format archives.
+Programs that correctly read ustar format (see below) will
+also be able to read this format; any extended attributes
+will be extracted as separate files stored in
+<i>PaxHeader</i> directories.</p>
+
+<p style="margin-top: 1em"><b>ustar</b></p>
+
+<p style="margin-left:17%; margin-top: 1em">The libarchive
+library can both read and write this format. This format has
+the following limitations:</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Device major and minor numbers
+are limited to 21 bits. Nodes with larger numbers will not
+be added to the archive.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Path names in the archive are
+limited to 255 bytes. (Shorter if there is no / character in
+exactly the right place.)</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Symbolic links and hard links
+are stored in the archive with the name of the referenced
+file. This name is limited to 100 bytes.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Extended attributes, file
+flags, and other extended security information cannot be
+stored.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Archive entries are limited to
+8 gigabytes in size.</p>
+
+<p style="margin-left:17%;">Note that the pax interchange
+format has none of these restrictions. The ustar format is
+old and widely supported. It is recommended when
+compatibility is the primary concern.</p>
+
+<p style="margin-top: 1em"><b>v7</b></p>
+
+<p style="margin-left:17%; margin-top: 1em">The libarchive
+library can read and write the legacy v7 tar format. This
+format has the following limitations:</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Only regular files,
+directories, and symbolic links can be archived. Block and
+character device nodes, FIFOs, and sockets cannot be
+archived.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Path names in the archive are
+limited to 100 bytes.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Symbolic links and hard links
+are stored in the archive with the name of the referenced
+file. This name is limited to 100 bytes.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">User and group information are
+stored as numeric IDs; there is no provision for storing
+user or group names.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Extended attributes, file
+flags, and other extended security information cannot be
+stored.</p>
+
+<p><b>&bull;</b></p>
+
+<p style="margin-left:22%;">Archive entries are limited to
+8 gigabytes in size.</p>
+
+<p style="margin-left:17%;">Generally, users should prefer
+the ustar format for portability as the v7 tar format is
+both less useful and less portable.</p>
+
+<p style="margin-left:6%; margin-top: 1em">The libarchive
+library also reads a variety of commonly-used extensions to
+the basic tar format. These extensions are recognized
+automatically whenever they appear.</p>
+
+<p style="margin-top: 1em">Numeric extensions.</p>
+
+<p style="margin-left:17%;">The POSIX standards require
+fixed-length numeric fields to be written with some
+character position reserved for terminators. Libarchive
+allows these fields to be written without terminator
+characters. This extends the allowable range; in particular,
+ustar archives with this extension can support entries up to
+64 gigabytes in size. Libarchive also recognizes base-256
+values in most numeric fields. This essentially removes all
+limitations on file size, modification time, and device
+numbers.</p>
+
+<p style="margin-top: 1em">Solaris extensions</p>
+
+<p style="margin-left:17%;">Libarchive recognizes ACL and
+extended attribute records written by Solaris tar.
+Currently, libarchive only has support for old-style ACLs;
+the newer NFSv4 ACLs are recognized but discarded.</p>
+
+<p style="margin-left:6%; margin-top: 1em">The first tar
+program appeared in Seventh Edition Unix in 1979. The first
+official standard for the tar file format was the
+&rsquo;&rsquo;ustar&rsquo;&rsquo; (Unix Standard Tar) format
+defined by POSIX in 1988. POSIX.1-2001 extended the ustar
+format to create the &rsquo;&rsquo;pax
+interchange&rsquo;&rsquo; format.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>Cpio
+Formats</b> <br>
+The libarchive library can read a number of common cpio
+variants and can write &rsquo;&rsquo;odc&rsquo;&rsquo; and
+&rsquo;&rsquo;newc&rsquo;&rsquo; format archives. A cpio
+archive stores each entry as a fixed-size header followed by
+a variable-length filename and variable-length data. Unlike
+the tar format, the cpio format does only minimal padding of
+the header or file data. There are several cpio variants,
+which differ primarily in how they store the initial header:
+some store the values as octal or hexadecimal numbers in
+ASCII, others as binary values of varying byte order and
+length.</p>
+
+<p style="margin-top: 1em"><b>binary</b></p>
+
+<p style="margin-left:17%; margin-top: 1em">The libarchive
+library transparently reads both big-endian and
+little-endian variants of the original binary cpio format.
+This format used 32-bit binary values for file size and
+mtime, and 16-bit binary values for the other fields.</p>
+
+<p style="margin-top: 1em"><b>odc</b></p>
+
+<p style="margin-left:17%; margin-top: 1em">The libarchive
+library can both read and write this POSIX-standard format,
+which is officially known as the &rsquo;&rsquo;cpio
+interchange format&rsquo;&rsquo; or the
+&rsquo;&rsquo;octet-oriented cpio archive
+format&rsquo;&rsquo; and sometimes unofficially referred to
+as the &rsquo;&rsquo;old character format&rsquo;&rsquo;.
+This format stores the header contents as octal values in
+ASCII. It is standard, portable, and immune from byte-order
+confusion. File sizes and mtime are limited to 33 bits (8GB
+file size), other fields are limited to 18 bits.</p>
+
+<p style="margin-top: 1em"><b>SVR4/newc</b></p>
+
+<p style="margin-left:17%;">The libarchive library can read
+both CRC and non-CRC variants of this format. The SVR4
+format uses eight-digit hexadecimal values for all header
+fields. This limits file size to 4GB, and also limits the
+mtime and other fields to 32 bits. The SVR4 format can
+optionally include a CRC of the file contents, although
+libarchive does not currently verify this CRC.</p>
+
+<p style="margin-left:6%; margin-top: 1em">Cpio first
+appeared in PWB/UNIX 1.0, which was released within AT&amp;T
+in 1977. PWB/UNIX 1.0 formed the basis of System III Unix,
+released outside of AT&amp;T in 1981. This makes cpio older
+than tar, although cpio was not included in Version 7
+AT&amp;T Unix. As a result, the tar command became much
+better known in universities and research groups that used
+Version 7. The combination of the <b>find</b> and
+<b>cpio</b> utilities provided very precise control over
+file selection. Unfortunately, the format has many
+limitations that make it unsuitable for widespread use. Only
+the POSIX format permits files over 4GB, and its 18-bit
+limit for most other fields makes it unsuitable for modern
+systems. In addition, cpio formats only store numeric
+UID/GID values (not usernames and group names), which can
+make it very difficult to correctly transfer archives across
+systems with dissimilar user numbering.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>Shar
+Formats</b> <br>
+A &rsquo;&rsquo;shell archive&rsquo;&rsquo; is a shell
+script that, when executed on a POSIX-compliant system, will
+recreate a collection of file system objects. The libarchive
+library can write two different kinds of shar archives:</p>
+
+<p style="margin-top: 1em"><b>shar</b></p>
+
+<p style="margin-left:17%; margin-top: 1em">The traditional
+shar format uses a limited set of POSIX commands, including
+echo(1), mkdir(1), and sed(1). It is suitable for portably
+archiving small collections of plain text files. However, it
+is not generally well-suited for large archives (many
+implementations of sh(1) have limits on the size of a
+script) nor should it be used with non-text files.</p>
+
+<p style="margin-top: 1em"><b>shardump</b></p>
+
+<p style="margin-left:17%;">This format is similar to shar
+but encodes files using uuencode(1) so that the result will
+be a plain text file regardless of the file contents. It
+also includes additional shell commands that attempt to
+reproduce as many file attributes as possible, including
+owner, mode, and flags. The additional commands used to
+restore file attributes make shardump archives less portable
+than plain shar archives.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>ISO9660
+format</b> <br>
+Libarchive can read and extract from files containing
+ISO9660-compliant CDROM images. In many cases, this can
+remove the need to burn a physical CDROM just in order to
+read the files contained in an ISO9660 image. It also avoids
+security and complexity issues that come with virtual mounts
+and loopback devices. Libarchive supports the most common
+Rockridge extensions and has partial support for Joliet
+extensions. If both extensions are present, the Joliet
+extensions will be used and the Rockridge extensions will be
+ignored. In particular, this can create problems with
+hardlinks and symlinks, which are supported by Rockridge but
+not by Joliet.</p>
+
+<p style="margin-left:6%; margin-top: 1em">Libarchive reads
+ISO9660 images using a streaming strategy. This allows it to
+read compressed images directly (decompressing on the fly)
+and allows it to read images directly from network sockets,
+pipes, and other non-seekable data sources. This strategy
+works well for optimized ISO9660 images created by many
+popular programs. Such programs collect all directory
+information at the beginning of the ISO9660 image so it can
+be read from a physical disk with a minimum of seeking.
+However, not all ISO9660 images can be read in this
+fashion.</p>
+
+<p style="margin-left:6%; margin-top: 1em">Libarchive can
+also write ISO9660 images. Such images are fully optimized
+with the directory information preceding all file data. This
+is done by storing all file data to a temporary file while
+collecting directory information in memory. When the image
+is finished, libarchive writes out the directory structure
+followed by the file data. The location used for the
+temporary file can be changed by the usual environment
+variables.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>Zip
+format</b> <br>
+Libarchive can read and write zip format archives that have
+uncompressed entries and entries compressed with the
+&rsquo;&rsquo;deflate&rsquo;&rsquo; algorithm. Other zip
+compression algorithms are not supported. It can extract jar
+archives, archives that use Zip64 extensions and
+self-extracting zip archives. Libarchive can use either of
+two different strategies for reading Zip archives: a
+streaming strategy which is fast and can handle extremely
+large archives, and a seeking strategy which can correctly
+process self-extracting Zip archives and archives with
+deleted members or other in-place modifications.</p>
+
+<p style="margin-left:6%; margin-top: 1em">The streaming
+reader processes Zip archives as they are read. It can read
+archives of arbitrary size from tape or network sockets, and
+can decode Zip archives that have been separately compressed
+or encoded. However, self-extracting Zip archives and
+archives with certain types of modifications cannot be
+correctly handled. Such archives require that the reader
+first process the Central Directory, which is ordinarily
+located at the end of a Zip archive and is thus inaccessible
+to the streaming reader. If the program using libarchive has
+enabled seek support, then libarchive will use this to
+processes the central directory first.</p>
+
+<p style="margin-left:6%; margin-top: 1em">In particular,
+the seeking reader must be used to correctly handle
+self-extracting archives. Such archives consist of a program
+followed by a regular Zip archive. The streaming reader
+cannot parse the initial program portion, but the seeking
+reader starts by reading the Central Directory from the end
+of the archive. Similarly, Zip archives that have been
+modified in-place can have deleted entries or other garbage
+data that can only be accurately detected by first reading
+the Central Directory.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>Archive
+(library) file format</b> <br>
+The Unix archive format (commonly created by the ar(1)
+archiver) is a general-purpose format which is used almost
+exclusively for object files to be read by the link editor
+ld(1). The ar format has never been standardised. There are
+two common variants: the GNU format derived from SVR4, and
+the BSD format, which first appeared in 4.4BSD. The two
+differ primarily in their handling of filenames longer than
+15 characters: the GNU/SVR4 variant writes a filename table
+at the beginning of the archive; the BSD format stores each
+long filename in an extension area adjacent to the entry.
+Libarchive can read both extensions, including archives that
+may include both types of long filenames. Programs using
+libarchive can write GNU/SVR4 format if they provide an
+entry called <i>//</i> containing a filename table to be
+written into the archive before any of the entries. Any
+entries whose names are not in the filename table will be
+written using BSD-style long filenames. This can cause
+problems for programs such as GNU ld that do not support the
+BSD-style long filenames.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>mtree</b>
+<br>
+Libarchive can read and write files in mtree(5) format. This
+format is not a true archive format, but rather a textual
+description of a file hierarchy in which each line specifies
+the name of a file and provides specific metadata about that
+file. Libarchive can read all of the keywords supported by
+both the NetBSD and FreeBSD versions of mtree(8), although
+many of the keywords cannot currently be stored in an
+archive_entry object. When writing, libarchive supports use
+of the archive_write_set_options(3) interface to specify
+which keywords should be included in the output. If
+libarchive was compiled with access to suitable
+cryptographic libraries (such as the OpenSSL libraries), it
+can compute hash entries such as <b>sha512</b> or <b>md5</b>
+from file data being written to the mtree writer.</p>
+
+<p style="margin-left:6%; margin-top: 1em">When reading an
+mtree file, libarchive will locate the corresponding files
+on disk using the <b>contents</b> keyword if present or the
+regular filename. If it can locate and open the file on
+disk, it will use that to fill in any metadata that is
+missing from the mtree file and will read the file contents
+and return those to the program using libarchive. If it
+cannot locate and open the file on disk, libarchive will
+return an error for any attempt to read the entry body.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>7-Zip</b>
+<br>
+Libarchive can read and write 7-Zip format archives. TODO:
+Need more information</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>CAB</b> <br>
+Libarchive can read Microsoft Cabinet (
+&rsquo;&rsquo;CAB&rsquo;&rsquo;) format archives. TODO: Need
+more information.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>LHA</b> <br>
+TODO: Information about libarchive&rsquo;s LHA support</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>RAR</b> <br>
+Libarchive has limited support for reading RAR format
+archives. Currently, libarchive can read RARv3 format
+archives which have been either created uncompressed, or
+compressed using any of the compression methods supported by
+the RARv3 format. Libarchive can also read self-extracting
+RAR archives.</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>Warc</b> <br>
+Libarchive can read and write &rsquo;&rsquo;web
+archives&rsquo;&rsquo;. TODO: Need more information</p>
+
+<p style="margin-left:6%; margin-top: 1em"><b>XAR</b> <br>
+Libarchive can read and write the XAR format used by many
+Apple tools. TODO: Need more information</p>
+
+<p style="margin-top: 1em"><b>SEE ALSO</b></p>
+
+<p style="margin-left:6%;">ar(1), cpio(1), mkisofs(1),
+shar(1), tar(1), zip(1), zlib(3), cpio(5), mtree(5),
+tar(5)</p>
+
+<p style="margin-left:6%; margin-top: 1em">BSD
+March&nbsp;18, 2012 BSD</p>
+<hr>
+</body>
+</html>