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