Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: влияние на размера на блока


  • Subject: Re: lug-bg: влияние на размера на блока
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Wed, 25 Aug 2004 13:27:52 +0300

On Tue, Aug 24, 2004 at 02:48:30PM +0300, Peter Pentchev wrote:
> On Tue, Aug 24, 2004 at 01:57:22PM +0300, Romeo Ninov wrote:
> > Имам следната ситуация:
> > изшълнявам следната команда tar cf - <files>|bzip2 -9
> > Интересува ме има ли някой идея какво е влиянието на размера на блока, 
> > дефиниран от tar :  --block-size=N върху степента и скоростта на 
> > компресия  на bzip2
> 
> Според мен не би трябвало да има никакво значение.  От това, което чета
> за формата на tar архиви в manual page tar(5) във FreeBSD 5.x (след като
> Тим Кинцле създаде bsdtar и документира файловите формати), тази опция
> управлява единствено това колко запълване да има на края на всеки файл.

Олеле.  Олелееееее... кой не може да чете :(((

Всъщност, като прочетох пак tar(5) manual page (може и на
http://www.freebsd.org/cgi/man.cgi?query=tar&sektion=5&manpath=FreeBSD%205.2-current -
мда, sektion, не section, Волфрам Шнайдер е бил немскоговорящ, като е
писал CGI скрипта ;), там пише...

   General Format
     A tar archive consists of a series of 512-byte records.  Each filesystem
     object requires a header record which stores basic metadata (pathname,
     owner, permissions, etc.) and zero or more records containing any file
     data.  The end of the archive is indicated by two records consisting
     entirely of zero bytes.

     For compatibility with tape drives that use fixed block sizes, programs
     that read or write tar files always read or write a fixed number of
     records with each I/O operation.  These ``blocks'' are always a multiple
     of the record size.  The most common block size--and the maximum sup-
     ported by historic implementations--is 10240 bytes or 20 records.

И сега ако някой успее да ми обясни как точно успях в това да прочета,
че *всеки* файл бива допълнен до размера на блока :((  Това, което
всъщност пише, е, че всеки файл бива допълнен до размера на *записа* от
512 байта, и че само на края на архива може да се наложи допълване до
размера на блока.  Гррррррр.

[snip]
> С други думи, какъвто и размер да избереш, tar няма да вмъква никаква
> контролна информация "по средата" на съдържанието на архивираните
> файлове.  Единственото, за което размерът има значение, е колко байта с
> нули ще има на края на всеки файл - хм, сега като се замисля, това
> наистина би могло да има значение, ако архивираш голям брой файлове,
> всеки от които е с размер доста по-малък от 10KB (10KB е размерът на
> блок по подразбиране) - тогава може да се окажеш в ситуация, в която
> архивът съдържа доста повече нули, отколкото истински файлове.

Мда, това, което искам да кажа, е, че тази част просто не е вярна:
колкото и голям размер на блок да избереш, tar винаги ще допълва
*отделните файлове* до 512 байта, а само *целия архив* накрая до размера
на блока.  При това положение спокойно можеш да слагаш какъвто искаш
размер, на никого не му пука ;)

Поздрави,
Петър

-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
Nostalgia ain't what it used to be.

Attachment: pgpHsSfn_WtxL.pgp
Description: PGP signature



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.