source: MondoRescue/branches/stable/mindi-busybox/docs/tar_pax.txt @ 1770

Last change on this file since 1770 was 1770, checked in by Bruno Cornec, 12 years ago
  • Better output for mindi-busybox revision
  • Remove dummy file created on NFS - report from Arnaud Tiger <arnaud.tiger_at_hp.com>
  • strace useful for debug
  • fix new versions for pb (2.0.0 for mindi and 1.7.2 for mindi-busybox)
  • fix build process for mindi-busybox + options used in that version (dd for label-partitions-as-necessary)
  • fix typo in label-partitions-as-necessary which doesn't seem to work
  • Update to busybox 1.7.2
  • perl is now required at restore time to support uuid swap partitions (and will be used for many other thigs

in the future for sure)

  • next mindi version will be 2.0.0 due to all the changes made in it (udev may break working distros)
  • small optimization in mindi on keyboard handling (one single find instead of multiple)
  • better interaction for USB device when launching mindi manually
  • attempt to automatically guess block disk size for ramdisk
  • fix typos in bkphw
  • Fix the remaining problem with UUID support for swap partitions
  • Updates mondoarchive man page for USB support
  • Adds preliminary Hardware support to mindi (Proliant SSSTK)
  • Tries to add udev support also for rhel4
  • Fix UUID support which was still broken.
  • Be conservative in test for the start-nfs script
  • Update config file for mindi-busybox for 1.7.2 migration
  • Try to run around a busybox bug (1.2.2 pb on inexistant links)
  • Add build content for mindi-busybox in pb
  • Remove distributions content for mindi-busybox
  • Fix a warning on inexistant raidtab
  • Solve problem on tmpfs in restore init (Problem of inexistant symlink and busybox)
  • Create MONDO_CACHE and use it everywhere + creation at start
  • Really never try to eject a USB device
  • Fix a issue with &> usage (replaced with 1> and 2>)
  • Adds magic file to depllist in order to have file working + ldd which helps for debugging issues
  • tty modes correct to avoid sh error messages
  • Use ext3 normally and not ext2 instead
  • USB device should be corrected after reading (take 1st part)
  • Adds a mount_USB_here function derived from mount_CDROM_here
  • usb detection place before /dev detection in device name at restore time
  • Fix when restoring from USB: media is asked in interactive mode
  • Adds USB support for mondorestore
  • mount_cdrom => mount_media
  • elilo.efi is now searched throughout /boot/efi and not in a fixed place as there is no standard
  • untar-and-softlink => untar (+ interface change)
  • suppress useless softlinks creation/removal in boot process
  • avoids udevd messages on groups
  • Increase # of disks to 99 as in mindi at restore time (should be a conf file parameter)
  • skip existing big file creation
  • seems to work correctly for USB mindi boot
  • Adds group and tty link to udev conf
  • Always load usb-torage (even 2.6) to initiate USB bus discovery
  • Better printing of messages
  • Attempt to fix a bug in supporting OpenSusE 10.3 kernel for initramfs (mindi may now use multiple regex for kernel initrd detection)
  • Links were not correctly done as non relative for modules in mindi
  • exclusion of modules denied now works
  • Also create modules in their ordinary place, so that classical modprobe works + copy modules.dep
  • Fix bugs for DENY_MODS handling
  • Add device /dev/console for udev
  • ide-generic should now really be excluded
  • Fix a bug in major number for tty
  • If udev then adds modprobe/insmod to rootfs
  • tty0 is also cretaed with udev
  • ide-generic put rather in DENY_MODS
  • udevd remove from deplist s handled in mindi directly
  • better default for mindi when using --usb
  • Handles dynamically linked busybox (in case we want to use it soon ;-)
  • Adds fixed devices to create for udev
  • ide-generic should not be part of the initrd when using libata v2
  • support a dynamically linked udev (case on Ubuntu 7.10 and Mandriva 2008.0 so should be quite generic) This will give incitation to move to dyn. linked binaries in the initrd which will help for other tasks (ia6 4)
  • Improvement in udev support (do not use cl options not available in busybox)
  • Udev in mindi
    • auto creation of the right links at boot time with udev-links.conf(from Mandriva 2008.0)
    • rework startup of udev as current makes kernel crash (from Mandriva 2008.0)
    • add support for 64 bits udev
  • Try to render MyInsmod? silent at boot time
  • Adds udev support (mandatory for newest distributions to avoid remapping of devices in a different way as on the original system)
  • We also need vaft format support for USB boot
  • Adds libusual support (Ubuntu 7.10 needs it for USB)
  • Improve Ubuntu/Debian? keyboard detection and support
  • pbinit adapted to new pb (0.8.10). Filtering of docs done in it
  • Suppress some mondo warnings and errors on USB again
  • Tries to fix lack of files in deb mindi package
  • Verify should now work for USB devices
  • More log/mesages improvement for USB support
  • - Supress g_erase_tmpdir_and_scratchdir
  • Improve some log messages for USB support
  • Try to improve install in mindi to avoid issues with isolinux.cfg not installed vene if in the pkg :-(
  • Improve mindi-busybox build
  • In conformity with pb 0.8.9
  • Add support for Ubuntu 7.10 in build process
  • Add USB Key button to Menu UI (CD streamer removed)
  • Attempt to fix error messages on tmp/scratch files at the end by removing those dir at the latest possible.
  • Fix a bug linked to the size of the -E param which could be used (Arnaud Tiger/René? Ribaud).
  • Integrate ~/.pbrc content into mondorescue.pb (required project-builder >= 0.8.7)
  • Put mondorescue in conformity with new pb filtering rules
  • Add USB support at restore time (no test done yet). New start-usb script PB varibale added where useful
  • Unmounting USB device before removal of temporary scratchdir
  • Stil refining USB copy back to mondo (one command was not executed)
  • No need to have the image subdor in the csratchdir when USB.
  • umount the USB partition before attempting to use it
  • Remove useless copy from mindi to mondo at end of USB handling

(risky merge, we are raising the limits of 2 diverging branches. The status of stable is not completely sure as such. Will need lots of tests, but it's not yet done :-()
(merge -r1692:1769 $SVN_M/branches/2.2.5)

  • Property svn:eol-style set to native
File size: 11.5 KB
Line 
1'pax headers' is POSIX 2003 (iirc) addition designed to fix
2tar format limitations - older tar format has fixed fields
3for everything (filename, uid, filesize etc) which can overflow.
4
5pax Header Block
6
7The pax header block shall be identical to the ustar header block
8described in ustar Interchange Format, except that two additional
9typeflag values are defined:
10
11x
12    Represents extended header records for the following file in
13the archive (which shall have its own ustar header block).
14
15g
16    Represents global extended header records for the following
17files in the archive. Each value shall affect all subsequent files
18that do not override that value in their own extended header
19record and until another global extended header record is reached
20that provides another value for the same field. The typeflag g
21global headers should not be used with interchange media that
22could suffer partial data loss in transporting the archive.
23
24For both of these types, the size field shall be the size of the
25extended header records in octets. The other fields in the header
26block are not meaningful to this version of the pax utility.
27However, if this archive is read by a pax utility conforming to
28the ISO POSIX-2:1993 standard, the header block fields are used to
29create a regular file that contains the extended header records as
30data. Therefore, header block field values should be selected to
31provide reasonable file access to this regular file.
32
33A further difference from the ustar header block is that data
34blocks for files of typeflag 1 (the digit one) (hard link) may be
35included, which means that the size field may be greater than
36zero.
37
38pax Extended Header
39
40An extended header shall consist of one or more records, each
41constructed as follows:
42
43"%d %s=%s\n", <length>, <keyword>, <value>
44
45The <length> field shall be the decimal length of the extended
46header record in octets, including length string itself and the
47trailing <newline>.
48
49[skip]
50
51atime
52    The file access time for the following file(s), equivalent to
53the value of the st_atime member of the stat structure for a file,
54as described by the stat() function. The access time shall be
55restored if the process has the appropriate privilege required to
56do so. The format of the <value> shall be as described in pax
57Extended Header File Times.
58
59charset
60    The name of the character set used to encode the data in the
61following file(s).
62
63    The encoding is included in an extended header for information
64only; when pax is used as described in IEEE Std 1003.1-2001, it
65shall not translate the file data into any other encoding. The
66BINARY entry indicates unencoded binary data.
67
68    When used in write or copy mode, it is implementation-defined
69whether pax includes a charset extended header record for a file.
70
71comment
72    A series of characters used as a comment. All characters in
73the <value> field shall be ignored by pax.
74
75gid
76    The group ID of the group that owns the file, expressed as a
77decimal number using digits from the ISO/IEC 646:1991 standard.
78This record shall override the gid field in the following header
79block(s). When used in write or copy mode, pax shall include a gid
80extended header record for each file whose group ID is greater
81than 2097151 (octal 7777777).
82
83gname
84    The group of the file(s), formatted as a group name in the
85group database. This record shall override the gid and gname
86fields in the following header block(s), and any gid extended
87header record. When used in read, copy, or list mode, pax shall
88translate the name from the UTF-8 encoding in the header record to
89the character set appropriate for the group database on the
90receiving system. If any of the UTF-8 characters cannot be
91translated, and if the -o invalid= UTF-8 option is not specified,
92the results are implementation-defined. When used in write or copy
93mode, pax shall include a gname extended header record for each
94file whose group name cannot be represented entirely with the
95letters and digits of the portable character set.
96
97linkpath
98    The pathname of a link being created to another file, of any
99type, previously archived. This record shall override the linkname
100field in the following ustar header block(s). The following ustar
101header block shall determine the type of link created. If typeflag
102of the following header block is 1, it shall be a hard link. If
103typeflag is 2, it shall be a symbolic link and the linkpath value
104shall be the contents of the symbolic link. The pax utility shall
105translate the name of the link (contents of the symbolic link)
106from the UTF-8 encoding to the character set appropriate for the
107local file system. When used in write or copy mode, pax shall
108include a linkpath extended header record for each link whose
109pathname cannot be represented entirely with the members of the
110portable character set other than NUL.
111
112mtime
113    The file modification time of the following file(s),
114equivalent to the value of the st_mtime member of the stat
115structure for a file, as described in the stat() function. This
116record shall override the mtime field in the following header
117block(s). The modification time shall be restored if the process
118has the appropriate privilege required to do so. The format of the
119<value> shall be as described in pax Extended Header File Times.
120
121path
122    The pathname of the following file(s). This record shall
123override the name and prefix fields in the following header
124block(s). The pax utility shall translate the pathname of the file
125from the UTF-8 encoding to the character set appropriate for the
126local file system.
127
128    When used in write or copy mode, pax shall include a path
129extended header record for each file whose pathname cannot be
130represented entirely with the members of the portable character
131set other than NUL.
132
133realtime.any
134    The keywords prefixed by "realtime." are reserved for future
135standardization.
136
137security.any
138    The keywords prefixed by "security." are reserved for future
139standardization.
140
141size
142    The size of the file in octets, expressed as a decimal number
143using digits from the ISO/IEC 646:1991 standard. This record shall
144override the size field in the following header block(s). When
145used in write or copy mode, pax shall include a size extended
146header record for each file with a size value greater than
1478589934591 (octal 77777777777).
148
149uid
150    The user ID of the file owner, expressed as a decimal number
151using digits from the ISO/IEC 646:1991 standard. This record shall
152override the uid field in the following header block(s). When used
153in write or copy mode, pax shall include a uid extended header
154record for each file whose owner ID is greater than 2097151 (octal
1557777777).
156
157uname
158    The owner of the following file(s), formatted as a user name
159in the user database. This record shall override the uid and uname
160fields in the following header block(s), and any uid extended
161header record. When used in read, copy, or list mode, pax shall
162translate the name from the UTF-8 encoding in the header record to
163the character set appropriate for the user database on the
164receiving system. If any of the UTF-8 characters cannot be
165translated, and if the -o invalid= UTF-8 option is not specified,
166the results are implementation-defined. When used in write or copy
167mode, pax shall include a uname extended header record for each
168file whose user name cannot be represented entirely with the
169letters and digits of the portable character set.
170
171If the <value> field is zero length, it shall delete any header
172block field, previously entered extended header value, or global
173extended header value of the same name.
174
175If a keyword in an extended header record (or in a -o
176option-argument) overrides or deletes a corresponding field in the
177ustar header block, pax shall ignore the contents of that header
178block field.
179
180Unlike the ustar header block fields, NULs shall not delimit
181<value>s; all characters within the <value> field shall be
182considered data for the field. None of the length limitations of
183the ustar header block fields in ustar Header Block shall apply to
184the extended header records.
185
186pax Extended Header File Times
187
188Time records shall be formatted as a decimal representation of the
189time in seconds since the Epoch. If a period ( '.' ) decimal point
190character is present, the digits to the right of the point shall
191represent the units of a subsecond timing granularity. In read or
192copy mode, the pax utility shall truncate the time of a file to
193the greatest value that is not greater than the input header
194file time. In write or copy mode, the pax utility shall output a
195time exactly if it can be represented exactly as a decimal number,
196and otherwise shall generate only enough digits so that the same
197time shall be recovered if the file is extracted on a system whose
198underlying implementation supports the same time granularity.
199
200Example from Linux kernel archive tarball:
201
20200000000  70 61 78 5f 67 6c 6f 62  61 6c 5f 68 65 61 64 65  |pax_global_heade|
20300000010  72 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |r...............|
20400000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
20500000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
20600000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
20700000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
20800000060  00 00 00 00 30 30 30 30  36 36 36 00 30 30 30 30  |....0000666.0000|
20900000070  30 30 30 00 30 30 30 30  30 30 30 00 30 30 30 30  |000.0000000.0000|
21000000080  30 30 30 30 30 36 34 00  30 30 30 30 30 30 30 30  |0000064.00000000|
21100000090  30 30 30 00 30 30 31 34  30 35 33 00 67 00 00 00  |000.0014053.g...|
212000000a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
213000000b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
214000000c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
215000000d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
216000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
217000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
21800000100  00 75 73 74 61 72 00 30  30 67 69 74 00 00 00 00  |.ustar.00git....|
21900000110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
22000000120  00 00 00 00 00 00 00 00  00 67 69 74 00 00 00 00  |.........git....|
22100000130  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
22200000140  00 00 00 00 00 00 00 00  00 30 30 30 30 30 30 30  |.........0000000|
22300000150  00 30 30 30 30 30 30 30  00 00 00 00 00 00 00 00  |.0000000........|
22400000160  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
22500000170  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
22600000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
22700000190  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
228000001a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
229000001b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
230000001c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
231000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
232000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
233000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
23400000200  35 32 20 63 6f 6d 6d 65  6e 74 3d 62 31 30 35 30  |52 comment=b1050|
23500000210  32 62 32 32 61 31 32 30  39 64 36 62 34 37 36 33  |2b22a1209d6b4763|
23600000220  39 64 38 38 62 38 31 32  62 32 31 66 62 35 39 34  |9d88b812b21fb594|
23700000230  39 65 34 0a 00 00 00 00  00 00 00 00 00 00 00 00  |9e4.............|
23800000240  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
239...
Note: See TracBrowser for help on using the repository browser.