File: AN-1.4

package info (click to toggle)
star 1.5a67-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 5,600 kB
  • ctags: 4,715
  • sloc: ansic: 37,601; sh: 3,198; makefile: 200
file content (865 lines) | stat: -rw-r--r-- 32,303 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
Newsgroups: comp.unix.admin,comp.unix.misc,alt.os.linux,alt.sys.sun,bln.comp.sun,bln.comp.unix,comp.os.linux.development.apps,comp.os.linux.misc,comp.sys.hp.apps,comp.sys.hp.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.misc,comp.sys.sun.admin,comp.sys.sun.apps,comp.sys.sun.misc,comp.unix.aix,comp.unix.bsd.freebsd.misc,comp.unix.bsd.netbsd.misc,comp.unix.solaris,de.comp.os.linux.misc,de.comp.os.unix,linux.dev.admin,linux.dev.apps,maus.os.linux,maus.os.linux68k,maus.os.unix,uk.comp.os.linux
Subject: Star-1.4 source has been released

***************
Please have a look at the German open Source Center BerliOS at www.berlios.de
BerliOS will continue to support free hosting of cryptography projects even
when US laws change and don't allow to host cryptography projects in the USA.
Also look at sourcewell.berlios.de, the first Open Source announcement service
that itself is implemented as Open Source project.
***************

Star is the fastest tar archiver for UNIX

Star has many improvements compared to other tar 
implementations (including gnu tar). See below for a short description
of the highlight of star.

Star is located on:

ftp://ftp.fokus.gmd.de/pub/unix/star

Changes since star-1.3.1:

-	Used lint on Solaris to clean up code.
	GCC does not help that much....

-	star now supports large files

	Files up to 8 GB are supported in a 100% POSIX compliant
	way. Files > 8 GB use a proprietary number format that I designed
	some years ago but I negotiated this format with the current
	GNU tar maintainer - GNU tar uses the same format.

-	rmt now is large file aware too.

-	rmt (both: this server and the client in star) 
	now also abstract from the lseek whence values.

		SEEK_SET is mapped to 0 on the wire
		SEEK_CUR is mapped to 1 on the wire
		SEEK_END is mapped to 2 on the wire

-	Changed POSIX USTAR limitation from 8 GB-2 to 8 GB-1.
	(note that the proprietary star method allows full
	64 bit filesize and will support up to 95 bits which
	will _never_ be reached as long as you cannot place
	storage space into a parallel universe ;-)
	This is from the estimation that each atom may only store
	approx 1 bit. With 95 bits you would need to use several
	tons of active storage mass.

-	Honor Volheader file size when extracting archives.

-	Clear fraction of 512 bytes past the end of a file.
	This was _no_ security problem as star never included any
	junk that was not already part of the archive earlier.
	It is done as it turns out that archives with lots of small
	files (ad the FreeDB CD database) will compress more then
	20 % more effective if this space is clreared.

-	Automatic recognition and adoption to tar archives with
	signed checkums. Signed checkums are needed to read tar archives
	created with old SunOS-3.x and SunOS-4.x tar programs.
	Note that the UNIX tar documentation always requested unsigned
	checksums but the BSD based tar used to ignore this fact.

-	Atomatic use of compression programs (if needed) if the archive
	is a plain file and thus seekable.

-	use non-interruptable write in remote tape handler.
	This makes star .... interruped by ^\  work corectly on non BSD
	systems. Note that interrupting star by ^\ causes star to
	write an intermediate statistic printout.

-	rmt now uses buffered readline code re-imported from rscsi.c
	to speed up rmt transfers.

-	increase the default FIFO from 1 MB to 8 MB for most OS.

-	Try to lock FIFO into memory in case star is run by root.
	This helps to make tape streaming more probable.

-	-h Option as alias to the old star Option -L

-	Make -F -FF ... behave more similar to BSD tar

-	Remote tape client code now checks if the RMT server returns
	more data with rmtread() or if rmtstatus() gets not the expected amount
	of bytes for struct mtget.

-	Call code to switch rmt server into the new abstract mode only of the
	open was successful. This avoids to clear the valid error code
	resulting in the unability to report open errors on previous versions.

-	New remote.c client code gives improved unique remote file name parsing
	To make a file local altough it looks "remote" prepend it
	with "/", "./" or "../"

	f=ntape@tapehost:/dev/rmt/0 is remote
	f=/ntape@tapehost:/dev/rmt/0 is local

-	Now star is again able to reject unsupported file types as it has been
	up to 1994 when the USTAR & GNU based archive types have been 
	introduced.

	The new method to check for unsupported file types is again table
	driven and thus fully configurable.

-	stat wrapper now fully classifies all file types

-	new table to print the name for all known file types

-	mt.c now uses the new remote file name parsing functions

-	NOTE: the new remote tape client code is also used by sdd-1.31 and
	newer. If you like to have a enhanced "dd" substitution, check:

		ftp://ftp.fokus.gmd.de/pub/unix/sdd/

	Now you can make any tar work remote (even GNU tar ;-) by calling e.g.:

		sdd if=ntape@tapehost:/dev/rmt/0cbn bs=63k | tar tvbf 126 -

-	Added a comment in star.h to clearify when/why GNUtar became
	non-standard

-	Fixed a bug with printing to stdout while the tar archive
	itself is stdout.

-	Faster zero'ing and copying of tar headers to speed up operation.
	Used to compensate slow down from Extended POSIX.1-2001 headers.

-	Fixed a integer overflow bug in tape length computation that made 
	it impossible to specify a tape length of e.g. 35 GB as needed
	for the Quantum DLT-7000.

-	append.c (used with -u/-r) now tries to use Nanoseconds from time
	stamps

-	list.c now tries to handle Nanoseconds with the -newest & -newest-file
	options

-	New archive format "pax" which is the extended "ustar" proposal
	from POSIX.1-2001. This format is based on "ustar" and adds
	extended headers that are infinite extensible. The headers are
	added only when the old header would overflow otherwise.

-	New archive format "exustar" which is the extended "xustar" format.
	This format is based on "xustar" and always adds extended headers.

-	New archive format "sunstar" which is an extended "ustar" format.
	This format based on "ustar" always adds extended headers.
	The extended headers are not 100% POSIX compliant:

	-	no atime/ctime

	-	typeflag is 'X' instead of 'x'

-	First support for extended tar headers from POSIX.1-2001.

-	Support for Caldera/SCO OpenUNIX has been added

-	New sum statistics for chmod() utimes() errors.

-	Fixed a bug that caused a FIFO (named pipe) to be created twice
	in extract mode. This resulted in a warning "File exists...".

-	Better support for True-64 aka. OFS-1

-	First support for POSIX ACL's with help from
	Andreas Gruenbacher <ag@bestbits.at>
	First support for Solaris ACL's (converted into POSIX strings).

	ACL support should work on Solaris, Linux, FreeBSD and True64.....


	Solaris ACL's are smilar enough to POSIX ACL's so I convert them to
	POSIX ACLs before archiving them. Unfortunately the function
	aclfromtext() from the Solaris library libsec is not usable
	(see **** Solaris BUG *** description below). This bug makes it
	impossible to do ACL backup/restores on passwd-less file servers.

	**** Solaris is unable to restore ACLs numerically (see description
	**** below).

	HP-UX ACLs are so different from POSIX.1e that it would take a 
	significant amount of time to code a translation module for star.
	For this reason, HP-UX is not supported at the moment.

	**** First tests on True64 show that the POSIX.1e function
	**** acl_from_text() does not work as expected. I have no idea how to
	**** work around this problem.
	**** It may be that True64 does not support the ACL 'masks' entry.
	**** This would force us to create syntetic 'mask' entries when in star
	**** create mode and to compute the effective mode when in extract
	**** mode. On True64 also the function acl_get_file() does not work
	**** properly if a file does not have ACLs. Note that the standard
	**** requests that in this case acl_get_file() should return a 3 entry
	**** ACL, but on True64 it returns NULL with 'errno' unchanged.
	**** Archiving and restoring ACLs from/to True64 will most likely work.
	**** If you like to transfer TAR archives from/to other platforms you
	**** will not be able to restore any ACL.
	****
	**** As a TAR archive with ACLs made on True64 is not usable on any
	**** other system, ACL support on True64 could be called broken.


	If you list a TAR archive that contains ACLs for certain files,
	those files are marked with a '+' sign past the UNIX permissions
	if you request a long listing:

	      0 -rw-r--r--  gruenbacher/assis Nov  4 04:43 2001 default/file
	      0 drwxrwxr-x+ gruenbacher/assis Nov  4 04:43 2001 default/dir2/
	      0 drwxr-xr-x+ gruenbacher/assis Nov  4 04:44 2001 default/dir3/
	      0 drwxrwxr-x+ gruenbacher/assis Nov  4 04:44 2001 default/

	If you like ACL test tar archives, have a look at:

		http://acl.bestbits.at/pre/

	and fetch the files acl*.tar

	If you are on Solaris, read the man pages: getfacl, setfacl, acl

	If you are on Linux, note that by default Linux does not yet support
	ACLs. You first need to install ACL support by installing a patch
	from: 
		http://acl.bestbits.at/

	This page also lists the man pages for the ACL support commands
	for Linux.

	If you are on FreeBSD current, you need to know that you need to
	activate ACLs in the kernel _and_ in each filesystem that should
	carry ACLs.

	If you are on True64, note that you first need to activate extended
	security features in order to use ACLs.
	The administratice command names to list or set ACLs are 'getacl' and
	'setacl'.

	Note: The ACL support code in star is alpha! Do not expect it to be
	stable in any part. I cannot even grant that the archive format
	will not change. However, if it turns out to be the right solution, I
	will mail the star ACL format to the POSIX.1e standard commitee.
	All changes have been made in a way that does not affec the behaviour
	of star in case no ACLs are present.

	The format for ACLs in the extended headers used by star looks like:

	SCHILY.acl.access=user::rwx,group::rwx,mask::rwx,other::rwx
	SCHILY.acl.default=user::rwx,group::rwx,mask::rwx,other::rwx

	This is a legal 'vendor unique' POSIX.1-2001 extension for extended
	tar headers.

	If the format gets accepted by the POSIX.1 and POSIX1e commitee, it
	would look like:

	security.acl...=user::rwx,group::rwx,mask::rwx,other::rwx

	As the text format specified by POSIX.1e is not sufficient for TAR, we
	added a numerical field for all names user and group fields.

	POSIX.1e named user entry:	'user:joe:rwx,'
	STAR named user entry:		'user:joe:rwx:1431,'

	When star extracts the ACL string, it first checks if user 'joe' is
	known if 'joe' is known, the numerical value is stripped off and a
	standard POSIX.1e ACL entry is created. If 'joe' is not known, the
	text 'joe' is replaced by the numerical value '1431' and a new
	POSIX.1e entry that looks like 'user:1431:rwx,' is created.

	**** Solaris BUG ***
	As the function aclfromtext() on Solaris is unable to recognise a
	numerical (all digit) user id, it is not possible to do ACL
	backup/restore on a Solaris fileserver that has no access to the same
	passwd data as it's NFS clients.

	Even worse, aclfromtext() changed the UID for each unknown user to
	NOBODY and the function aclfromtext() returns as if there was no error.
	This is a serious security problem as because if this behavior the file
	becomes (in addition to the other users in the ACL) accessible by
	"nobody" which definitely is intended.

	This is Sun bug 4426407 ;-)
	**** Solaris BUG ***


	To archive ACLs (star in create mode, you need to specify a TAR format
	that supports extended POSIX.1-2001 headers _and_ uses them by default.
	This may currently be achieved by calling "star -Hexustar ...".

	To extract ACLs you need to call "star -p ..."

	Note that the needed actions to archive ACLs or to extract ACLs may
	change in the near future.

-	For hints on the new Access Control List support read README.ACL

-	When remote protocol error happen (e.g. because the remote server
	proces dies) star now aborts faster and with better error message.

-	Check for HAVE_FORK to allow compilation (without FIFO) on strange
	platforms.

-	star now supports 'G' as "multiplyer" in fs= bs= ... options.

-	Support for MacOSX-10.1 (aka Darwin-1.4) now works smoothly

-	Restructured Schily portability include files for easier and cleaner
	portability

-	Better Linux support for the program 'mt'. It now prints the 
	file number and record number when calling 'mt status'.

-	Support for QNX Neutrino

-	Now we hopefully have floating point support for _all_ platforms
	even those without *cvt() and without __dtoa(). Thanks to a hint
	from Thomas Langer <Langer.Thomas@gmx.net> we now use strtod.c
	to gert a fallback __dtoa()

-	Added an autoconf test for rcmd() so cdrtools now should compile 
	again on BeOS and AmigaOS where no rcmd() is present.

-	New option -block-number
	This option has been inspired by gnutar, but with gnutar it is
	useless as it prints wrong numbers. With star -block-number is
	expected to print correct numbers. However star has a higly complex
	dataflow because of the FIFO. If you find that it prints wrong numbers
	with star, please report so I may check for the reason.

-	Do not try to "diff" Volume headers with star -diff.
	This is a pseudo file with no representation in the file system!

-	Better portability for QNX

-	Try to support recent BeOS

	-	(has no settimeofday() and some strange network woes)

	-	Does not have utimes() but wrong utimes() prototype in
		posix/sys/time.h

	-	add getpagesize() emulation for BeOS

	-	Workaround in libschily/comerr.c for the nonstandard 
		big negative errno values on BeOS

-	Try to support AmigaOS


-	Renamed a structure member from f_offset to f_contoffset to allow
	compilation on SCO OpenServer which has a macro of the same
	name in file.h.

-	First support for filesystem flags (see below)

-	New Option -nodump that implements support for the 'nodump' file
	flag on BSD-4.4 derivates and Linux.
	 On *BSD this works without performance degradation, on Linux the
	system time will increase by 10% if -nodump is used.

-	New option -o as alias for -nochown to complete POSIX compatibility.

-	New 'README' file STARvsGNUTAR that is intended to help people
	(currently using GNU tar) to use star.

-	Restructured the usage() functions to better deal with the fact that
	the usage listing for star has become quite long.
	Now every usage error will only result in a short info that gives
	a hint what star options may print the needed help information.

-	The option tsize=# now has an increased functionality.
	In former times, the argument was the size of a medium in multiples
	of TAR blocks. Now the syntax of the bs= option has been added.

		tsize=100	means 100 tape blocks (51200 bytes)
		tsize=100m	means 100MBytes
		tsize=10240.	means 10240 Bytes
	
-	The option maxsize=# now has an increased functionality.
	In former times, the argument was the size of a file in kBytes.
	Now the syntax of the bs= option has been added.

		maxsize=100	means 100 kBytes
		maxsize=100m	means 100MBytes
		maxsize=10240.	means 10240 Bytes
	


-	A lot of code and documentation has been changed as on Friday afternoon
	(7.12.2001) the new ieee POSIX-1003.1-2001 standard has been approved
	and star is the first TAR archiver that is POSIX-1003.1-2001 compliant
	and supports the POSIX-1003.1-2001 extended TAR headers. Old versions
	of star did refer the standard as POSIX-1003.1-200x as it was not
	100% clear whether it would be approved in 2001 or 2002.

-	Large File support for IRIX-6.2 (added autoconf test for -n32 cc
	option)

-	Large File support for IRIX-6.5 now everything works correctly if the
	OS supports Large Files by default in 32 bit mode
	(uses fseeko()/ftello() if present). This could only be done by
	massively changing the autoconf code stolen from GNUtar.

-	Support for SGI IRIX platform ip17-irix


-	Make hardlinks have size == 0 in the archive. This is a bug that
	has been present for a long time. It seems that it has been overseen
	sor a long time and was eported a few months ago.

-	New option -acl now needed to tell star to handle ACLs.

	This option has been introduced because it turns out that it is
	impossible to handle the extract case (when the filesystem does
	not support ACLs) in a decent way. Without -acl star would either
	be forced to suppress eror messages for ACL handling or people
	would see hundreds of ACL warnings.

	The intention for the -acl option was to make ACL handling easy
	to understand.

	Here is a description how -acl works:

	-	if -acl is not present in create mode, star does not
		archive ACLs

	-	if -acl is present in create mode and the header type
		is 'exustar' (selected by H=exustar), star will
		add ACL information to the archive.

	-	if -acl is not present in extract mode, star does not
		handle ACL information (i.e. if the FS does not handle
		ACLs, no error messages will occur, if the FS handles
		ACLs and there are default ACLs set up for the directory
		where star puts the extracted files the extracted files
		will have the inherited ACLs from the Default ACL od the
		directory regardless of the ACL information in the archive).

	-	if -acl is present in extract mode, star handles ACLs.
		If the tar archive does not include ACL information at all
		or if the archiv does not include ACL information for a 
		specific file, star will clear the ACL for this file.
		If the tar archive includes ACL information for the file,
		star will set up the ACL to be the same as the ACL information
		in the archive (i.e. if -acl is present in extract mode,
		no ACL information will be inherited from the ACL information
		that was present in the filesystem tree before the exrtact
		operation took place).

		If -acl is present in extract mode and the filesystem where
		the files are extracted to does not support ACLs, star will
		display an error message fo each file that is extracted.


-	Added better compatibility to the POSIX-1003.1 standard and allow
	star to handle the 'l' option as requested by the standard if
	the last pacth name compoent of av[0] is either tar or ustar.

	To get a version if star with this property, you need to compile
	star with:
			make COPTX=-DTAR_COMPAT

-	Make the default FIFO size on Linix 8 MB as with other architectures
	if the Linux version supports mmap() and thus is not tightly limited
	in shared memory size.


-	New supported architctures:
		s390-linux-cc.rul parisc-linux-cc.rul parisc64-linux-cc.rul

-	fixed a bug that could hang the FIFO at the end of a archive read
	operation if the archive file is much bigger than the archive
	seems to be from the logical EOF mark.

	This is done by introducing a long planned FIFO shut down operation.

-	fixed a bug with links names that are exactly 100 chars long.
	The bug caused the link name to be concatenated with the
	string 'ustar'.

-	-p option in create mode now is -dirmode to make the meaning of
	the flags easier to understand and to allow -acl to include -p

-	-acl option now includes -p in extract mode

-	When star is called as "tar" the default format is "xustar". This
	avoids problems with the pax program which does not compute checksums
	correctly and thus believes that the "xstar" format is not TAR.

-	blocks= and b= option now allow to specify multiplication factors 
	different from 512 (as with the bs= option).


-	Print the error statistics when star aborts due to a hard error.

-	New flag -xfflags allows to archive and restore extended file flags
	as found on *BSD and Linux. Archiving is done as extension to the
	POSIX.1-2001 extended file headers. The flags:

		sappnd		root settable append only
		schg 		root settable immutable
		nodump		no dump

	are found on both *BSD and Linux and thus are mapped vice versa

-	3rd stage and last of revision the man page
	OPTIONS section alphabetically ordered and revised

-	Fixed a bug that appeared with uids/gids in the range between
	65534 and 2097151. Star did mask uid/gid values with 0xFFFF
	before (as needed with historic UNIX implementations).
	Bigger values are not affected as they are handled by different
	methods.

	Now star correctly uses MAXOCTAL6 and MAXOCTAL7 as mask for the
	POSIX.1-1988 compliant uig/gid/ values.
	

-	New rule allows automatic fallback to GCC if the configured
	default compiler could not be found.

-	Fix for a bug that caused star to create broken archives when
	archiving files with negative time stamp ( < 1970) on 64 bit
	platforms using a 64 bit variant of star.

	Star now checks for octal digit overflows that did cause
	the time and the size field run together.

-	Check whether the OS uses the same st_mode definitions as
	the TAR archive format. If both definitions differ,
	convert the modes.

-	Introduced a loop around fsync() and code to check for
	EINTR & EINVAL

-	Support Win XP (NT-5.1 os-cygwin_nt-5.1.id)
	
-	Significant speed up for scanning sparse files for the files's hole
	list. star is now 3x faster than old star versions and 4x faster
	than GNUtar

-	Fix for a Linux ACL bug.
	Extracting files with 4 ACL entries did not work,
	The last entry has been repeated in the buffer.
	Thanks to Andreas Gruenbacher <ag@bestbits.at>

	Description:
/*--------------------------------------------------------------------------*/
$ getfacl e f
# file: e
# owner: root
# group: root
user::rw-
user:hofer:rw-
group::r--
mask::rw-
other::r--

# file: f
# owner: root
# group: root
user::rw-
group::---
mask::---
other::r--

$ star -c -acl H=exustar e f > ef.tar
star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).
$ rm e f
$ star -x -acl < ef.tar
star: Invalid argument. Cannot convert ACL 'user::rw-,group::---,mask::---,other::r--,rw-,other::r--,r--' to internal format for 'f'.
[...]
/*--------------------------------------------------------------------------*/


-	Fixed autoconf code to circumvent a bug in the Linux include files
	with fseeko()/ftello() which causes problems on 64 bit systems.

-	Allow file= and f= option to be used more than once (up to 100 times).

-	New option new-volume-script=script to call script at end of each
	tape in multi volume mode.

-	Set devmajor/devminor to 0 for all file types where it does
	not make sense. This make sure that on operating systems or file 
	systems that e.g. return -1 for the device number no extended
	header is generated.

-	Fixed a bug that caused star to print 'file changed size' with
	some sparse files. The bug has been introduced in star-1.4a19
	and caused broken sparse files if the warning is printed.

-	-v option changed from BOOL to inc type to allow more verbose
	create mode.

-	change 'file changed size' message so that is now reports either
	'file changed size (increased)' or 'file changed size (shrunk)'.

-	First implementation that is able to recursively remove non-empty
	directories.

-	Added links for ia64-linux to the Make RULES to allow users of GNUmake
	to compile cdrtools on IA64. Note that "smake" includes automake
	features and will auto-create the missing links.

-	New option -link-dirs tells star to look for hard linked directories.
	This makes star the first TAR implementation that allows to
	archive hard linked directories.

-	New transient option -dump.
	This option is to used to make testing of the new features for
	incremental dumps easier.

	It currently defaults to the 'exustar' archive format and activates
	the creation of more extended header fields that are needed to
	have more file metadata information on the archive.

-	In -dump mode (a preparation for incremental dumps) star now archives:

	"SCHILY.dev"		The field stat.st_dev	- the filesys indicator
	"SCHILY.ino"		The field stat.st_ino	- the file ID #
	"SCHILY.nlink"		The field stat.st_nlink	- the hard link count
	"SCHILY.filetype"	The real file type 	- this allows e.g.
							  socket/door

	These fields will in future allow star to archive and extract all
	information that is needed for incremental dumps.

	Star now includes ALL file metadata that is available. This allows a
	complete restauration of all file properties and a diff mode that
	checks for diffs in all file properties.

-	The new extended header field SCHILY.filetype now allows (again) to
	archive sockets. Star's pre-posix format did allow this in 1985 but
	the 'star' archive format is deprecated these days.

-	With -dump, DOOR files are archived as DOOR and extracted as plain file
	of size 0.

-	statdefs.h extended to include support for the BSD 'whiteout' file
	type.

-	List real file type instead of 'H' (Hard link) if this information
	is available.

-	man page for sparse files extended to help to understand possible
	problems.

-	New option -silent to supress informational messages like
	'xxx is sparse'.

-	New option -meta to tell star to archive only file metadate (from the
	inode) but no file content. This option is needed to allow future
	versions of star to support true incremental backups.

	If in extract mode, star will not attempt to create or overwrite
	files/specials.

	*********
	WARNING: Do not try to extract a star archive that includes meta files.
	Other tar implementations may clobber files on disk when reading such
	archives.

	Star tries to cause other tar implementations to abort when they read
	archives that contain meta files, but when other tar implementations
	start to support POSIX.1-2001 extended headers this will not work
	anymore.

	If I get support from other TAR/PAX implementors, there is a chance to
	integrate the needed features into POSIX-1-2005. Please help he to
	support this as meta files are needed to allow true incremental
	backups.
	*********

-	Better code to check if a file is 'the archive' because MacOS X
	has directories with ino # 0.

-	Compare filetype of hard links not only if the archive is the old
	1985 star format. The POSIX.1-2001 extended headers may also hold
	the real file type.

-	Better warning for the broken tar headers used by GNUtar when
	it adds volume headers.

/*--------------------------------------------------------------------------*/

	Hints for using extended POSIX.1-2001 headers:
		See README.posix-2001

/*--------------------------------------------------------------------------*/

*** Fixed problems with files that are close to the maximum file size:

-	better tarblock() macro that avoids off_t overflows

-	Try to avoid problems while reading files when off+amt < 0
	or off+amt > size.

-	Try to avoid problems with the Solaris ioctl _FIOAI when off+amt < 0
	or off+amt > size.

/*--------------------------------------------------------------------------*/
Late changes:

-	Cast pointerdiffs to int for printf() %.*s format and/or include
	workarounds for 64 bit problems in this area.
	
-	Use generic __malloc()/__realloc() if no memory would result in abort

-	Better autoconf test for not working mlock() on HP-UX-10.20

-	Better autocheck code for available C-compilers on HP-UX
	Now even a fallback from GCC to CC works.

-	Some changes to make compilation on 64 bit systems more correct

-	Added support for GNU Hurd to the Schily Makefilesystem

-	rmt.c changed because GNU Hurd has no MAXHOSTNAMELEN 


Revision history (short)

1982	First version on UNOS (extract only)
1985	Port to UNIX (fully functional version)
1985	Added pre Posix method of handling special files/devices
1986	First experiments with fifo as external process.
1993	Remote tape access
1993	diff option
1994	Fifo with shared memory integrated into star
1994	Very long filenames and sparse files
1994	Gnutar and Ustar(Posix.1-1988) handling added
1994	Xstar format (extended Posix.1-1988) defined and introduced
1995	Ported to many platforms
1999	Support for Win32 (Cygwin)
1999	base 256 support to overcome limitation with octal fields
2001	Large file support
2001	Support for POSIX.1-2001 extended headers
2001	Support for ACLs in POSIX.1-2001 extended headers
2002	Support for extended file flags in POSIX.1-2001 extended headers
2002	Support for extended inode meta data and meta files

Supported platforms:

Virtually any! Known to work:

SunOS 4.x, Solaris (SunOS 5.x), Linux,
HP-UX, DG/UX, IRIX, AIX, FreeBSD, NetBSD, OpenBSD,
OSF-1, True-64, QNX, BeOS, Apollo Domain/OS, Next-STep, 
OS/2, SCO-openserver, SCO-unixware, Caldera OpenUnix,
Cygwin (Win32), Sony NewsOS,  BSDi (BSD/OS), QNX,
Apple Rhapsody, MacOS X, AmigaOS, GNU Hurd

Joerg

-------------------------------------------------------------
Star is the fastest known implementation of a tar archiver.
Star is able to make backups with far more than 10MB/s if the
disk and tape drive support such a speed. This is more than
double the speed that ufsdump will get.
In 1996, Ampex got 13.5 MB/s with their DLT tape drive which is a
modified professional digital video tape drive and not related
to Quantum's DLT type drives.
Ufsdump got a maximum speed of about 6MB/s with the same hardware.

Star development started 1982, the first complete implementation has 
been done in 1985. I never did my backups with other tools than star.

Its main advantages over other tar implementations are:

	fifo			- keeps the tape streaming.
				  This gives you faster backups than
				  you can achieve with ufsdump, if the
				  size of the filesystem is > 1 GByte.

	remote tape support	- a fast RMT implementation that has no
				  probems to saturate a 100 Mb/s network.

	accurate sparse files	- star is able to reproduce holes in sparse
				  files accurately if the OS includes 
				  the needed support functions. This is
				  currently true for Solaris-2.3 to
				  Solaris-2.5.1

	pattern matcher		- for a convenient user interface
				  (see manual page for more details).
				  To archive/extract a subset of files.

	sophisticated diff	- user tailorable interface for comparing
				  tar archives against file trees
				  This is one of the most interesting parts
				  of the star implementation.

	no namelen limitation	- Pathnames up to 1024 Bytes may be archived.
				  (The same limitation applies to linknames)
				  This limit may be expanded in future
				  without changing the method to record
				  long names.

	deals with all 3 times	- stores/restores all 3 times of a file
				  (even creation time)
				  With POSIX.1-2001 the times are in nanosecond
				  granularity.
				  Star may reset access time after doing
				  backup. On Solaris this can be done without
				  changing the ctime.

	does not clobber files	- more recent copies on disk will not be 
				  clobbered from tape
				  This may be the main advantage over other
				  tar implementations. This allows
				  automatically repairing of corruptions
				  after a crash & fsck (Check for differences
				  after doing this with the diff option).

	automatic byte swap	- star automatically detects swapped archives
				  and transparently reads them the right way

	automatic format detect	- star automatically detects several common
				  archive formats and adopts to them.
				  Supported archive types are:
				  Old tar, gnu tar, ansi tar, star,
				  POSIX.1-2001 PAX, Sun's Solaris tar.


	automatic compression detect - star automatically detects whether the
				  archive is compressed. If it has been
				  compressed with a compression program that
				  is compatible to decompression with "gzip"
				  or "bzip2", star automatically activates
				  decompression.

	fully ansi compatible	- Star is fully ANSI/Posix 1003.1 compatible.
				  See README.otherbugs for a complete
				  description of bugs found in other tar
				  implementations. Star is the first tar
				  implementation that supports POSIX.1-2001.

	support for ACLs and file flags - star supports Access Control Lists
				  and extened file flags (as found on FreeBSD
				  and Linux). Support to archive and restore
				  other file properties may easily added.

	support for all inode metadata - star supports to put all inode
				  metadata on the archive. This allows future
				  versions of star to perform true
				  incremental dumps.

Have a look at the manual page, it is included in the distribution.

Author:

Joerg Schilling
Seestr. 110
D-13353 Berlin
Germany

Email: 	joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de
	schilling@fokus.gmd.de

Please mail bugs and suggestions to me.