tar bzip2, pipe, error ?

Dusan Zatkovsky msk_conf na atlas.cz
Středa Září 14 14:06:46 CEST 2005


DD.

Upravujem svoj backup script, aby pouzival gpg sifrovanie na zalohy a narazil 
som na nasledovny problem. Mozete mi prosim niekto vysvetlit, co robim zle? 
Nech sa akokolvek snazim, na nic neprichadzam.


Vytvorim jeden a ten isty archiv 4mi sposobmi:

	A	[msk na localhost d]$ ls
	A	data/
	A	[msk na localhost d]$ tar cjvf normal.tar.bz2 data
	A	data/
	A	data/file
	A	[msk na localhost d]$ ls
	A	data/  normal.tar.bz2


	B	[msk na localhost d]$ tar cjvf - data > pipe.tar.bz2
	B	data/
	B	data/file
	B	[msk na localhost d]$ ls
	B	data/  normal.tar.bz2  pipe.tar.bz2


	C	[msk na localhost d]$ mkfifo fifo
	C	[msk na localhost d]$ tar cjvf fifo data &
	C	data/
	C	data/file
	C	[1] 22581
	C	[msk na localhost d]$ cat fifo > fifo.tar.bz2
	C	ls
	C	[1]+  Done                    tar cjvf fifo data
	C	[msk na localhost d]$ ls
	C	data/  fifo|  fifo.tar.bz2  normal.tar.bz2  pipe.tar.bz2


	D	[msk na localhost d]$ tar cj data > pipe-nonverbose.tar.bz2
	D	[msk na localhost d]$ ls
	D	data/  fifo|  fifo.tar.bz2  normal.tar.bz2  pipe-nonverbose.tar.bz2
	D	pipe.tar.bz2

Co mi vzniklo:

	[msk na localhost d]$ ls -la
	total 27144
	drwxr-xr-x   3 msk msk    4096 zář 14 13:52 ./
	drwx------  33 msk msk    4096 zář 14 11:52 ../
	drwxr-xr-x   2 msk msk    4096 zář 14 13:47 data/
	prw-r--r--   1 msk msk       0 zář 14 13:50 fifo|
	-rw-r--r--   1 msk msk 6932480 zář 14 13:50 fifo.tar.bz2
	-rw-r--r--   1 msk msk 6927642 zář 14 13:48 normal.tar.bz2
	-rw-r--r--   1 msk msk 6932480 zář 14 13:53 pipe-nonverbose.tar.bz2
	-rw-r--r--   1 msk msk 6932480 zář 14 13:49 pipe.tar.bz2



Spravim md5sum:

	[msk na localhost d]$ md5sum *.tar.bz2
	2618b8f47625c8cbcc14ef0f89107ca9  fifo.tar.bz2
	70e16b7379030665926ff8675c43d285  normal.tar.bz2
	2618b8f47625c8cbcc14ef0f89107ca9  pipe-nonverbose.tar.bz2
	2618b8f47625c8cbcc14ef0f89107ca9  pipe.tar.bz2



Skusim otestovat vzniknute archivy:

	A	[msk na localhost d]$ tar tjvf normal.tar.bz2
	A	drwxr-xr-x msk/msk           0 2005-09-14 13:47:18 data/
	A	-rwxr-xr-x msk/msk     6976776 2004-02-23 12:51:00 data/file


	B	[msk na localhost d]$ tar tjvf pipe.tar.bz2
	B	drwxr-xr-x msk/msk           0 2005-09-14 13:47:18 data/
	B	-rwxr-xr-x msk/msk     6976776 2004-02-23 12:51:00 data/file
	B	bzip2: (stdin): trailing garbage after EOF ignored

	C	[msk na localhost d]$ tar tjvf fifo.tar.bz2
	C	drwxr-xr-x msk/msk           0 2005-09-14 13:47:18 data/
	C	-rwxr-xr-x msk/msk     6976776 2004-02-23 12:51:00 data/file
	C	bzip2: (stdin): trailing garbage after EOF ignored


	D	[msk na localhost d]$ tar tjvf pipe-nonverbose.tar.bz2
	D	drwxr-xr-x msk/msk           0 2005-09-14 13:47:18 data/
	D	-rwxr-xr-x msk/msk     6976776 2004-02-23 12:51:00 data/file
	D	bzip2: (stdin): trailing garbage after EOF ignored


Co moze sposobovat to, ze vsetky archivy, ktore vznikli za pouzitia pipe, su 
vadne (resp. obsahuju 38 bajtov nul navyse a bzip2 to znervoznuje)?


PS. Overene aj na mandrake 10.1


Dik

-- 

S pozravom,
Dusan Zatkovsky



Další informace o konferenci Linux