%!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()0 12 Q()0 24 Q()36 36 Q (December 27, 2009 libarchi)74.5 48 Q -.15(ve)-.25 G(-formats 5).15 E ()36 72 Q 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF()36 48 Q()0 60 Q ()-.15 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)-.35 E -.35(NA)36 24 S (ME).35 E(

)36 36 Q(libarchi)0 48 Q -.15(ve)-.25 G(-formats) .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 (

)36 72 Q 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(DESCRIPTION)36 12 Q(

)36 24 Q(The)0 36 Q (libarchi).15 E -.15(ve)-.25 G(\(3\)).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(

)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(

)-.15 E -.8 (Ta)36 24 S 2.5(rF).8 G(ormats)-2.65 E(

)36 36 Q(The)0 48 Q (libarchi).15 E -.15(ve)-.25 G(\(3\)).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(

)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(

)36 36 Q(

)0 48 Q (

gnutar
)0 60 Q(The)0 72 Q 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(libarchi).15 E -.15(ve)-.25 G(\(3\)).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 (

pax
)0 36 Q(The)0 48 Q (libarchi).15 E -.15(ve)-.25 G(\(3\)).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(

restricted pax
)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 (P)0 24 Q(axHeader)-.15 E(directories.)0 36 Q (

ustar
)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()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(
)0 12 Q(

)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(

)0 72 Q 0 Cg EP %%Page: 24 24 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

Numeric e)0 12 Q(xtensions.
)-.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(

Solaris e)0 48 Q(xtensions
)-.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(
)0 36 Q(

)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 (

)-.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(

)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 (
)0 48 Q(

binary
)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(

odc
)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 (

SVR4
)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(
)0 12 Q(

)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(\214nd)0 72 Q 0 Cg EP %%Page: 37 37 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(and)0 12 Q(cpio)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(

)-.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(

)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(
)0 12 Q (

shar
)0 24 Q (The traditional shar format uses a limited set of POSIX)0 36 Q (commands, including)0 48 Q(echo\(1\),) 0 60 Q(mkdir\(1\),)-.55 E 0 Cg EP %%Page: 41 41 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(and)0 12 Q (sed\(1\).)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 (sh\(1\))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(

shardump
)0 24 Q (This format is similar to shar b)0 36 Q(ut encodes \214les using)-.2 E (uuencode\(1\))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 (
)0 48 Q(

)36 60 Q(ISO9660 format)36 72 Q 0 Cg EP %%Page: 44 44 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(

)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(

)36 24 Q(Zip format)36 36 Q (

)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(

).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(

)36 12 Q(The Unix archi)0 24 Q .3 -.15 (ve f)-.25 H(ormat \(commonly created by the).15 E(ar\(1\))-.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(ld\(1\).)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 (

)36 24 Q(mtree)36 36 Q(

)36 48 Q(Libarchi)0 60 Q .3 -.15(ve c)-.25 H(an read and write \214les in).15 E (mtree\(5\))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(mtree\(1\),)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 (archi)0 36 Q -.15(ve)-.25 G (_entry).15 E(object.)0 48 Q(When writing, libarchi)0 60 Q .3 -.15(ve s)-.25 H(upports use of the).15 E(archi).15 E -.15(ve)-.25 G (_write_set_options\(3\)).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(sha512)0 72 Q 0 Cg EP %%Page: 57 57 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(or)0 12 Q(md5)0 24 Q (from \214le data being written to the mtree writer)0 36 Q(.)-.55 E(

) 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(contents)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 (

)36 48 Q(SEE ALSO)36 60 Q(

)36 72 Q 0 Cg EP %%Page: 60 60 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(ar\(1\),) -.55 E(cpio\(1\),)0 24 Q (mkisofs\(1\),)0 36 Q (shar\(1\),)-.55 E (tar\(1\),)-.55 E (zip\(1\),)0 72 Q 0 Cg EP %%Page: 61 61 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(zlib\(3\),)-.4 E (cpio\(5\),)0 24 Q (mtree\(5\),)0 36 Q (tar\(5\))-.55 E()0 60 Q ()0 72 Q 0 Cg EP %%Trailer end %%EOF