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

 

начало

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

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

семинари ...

документи

как да ...

 

 

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

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


  • Subject: Re: lug-bg: влияние на размера на блока
  • From: Romeo Ninov <rninov@xxxxxxxxxx>
  • Date: Tue, 24 Aug 2004 16:46:54 +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 значи tape archiver) изискват
четенето и записа да се прави на блокове с определен размер.

Доколкото имам спомени невинаги е така. Май в AIX по подразбиране блоковете на лентите бяха с променливи размери, та се налагаше като свалям от лента, правена на Solaris силом да му задавам размера.
С други думи, какъвто и размер да избереш, tar няма да вмъква никаква
контролна информация "по средата" на съдържанието на архивираните
файлове.  Единственото, за което размерът има значение, е колко байта с
нули ще има на края на всеки файл - хм, сега като се замисля, това
наистина би могло да има значение, ако архивираш голям брой файлове,
всеки от които е с размер доста по-малък от 10KB (10KB е размерът на
блок по подразбиране) - тогава може да се окажеш в ситуация, в която
архивът съдържа доста повече нули, отколкото истински файлове.  Но
мисля, че bzip2 със стандартния си размер на блок от малко по-малко от
900KB няма да се шашне изобщо от това - ще си компресира нулите съвсем
спокойно и все още ще може да използва контекст/речник/whatever, за да
използва съдържанието на предишните файлове за компресия на следващите.

Разбира се, ако на някого му се намира време и желание за едно истинско
изследване (компресия на няколко вида данни с няколко различни размери
на блокове за tar и няколко различни размера на блокове за bzip2), това
ще бъде интересно и може да покаже какви глупости съм наговорил :)

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


--
<><><><><><><><><><><><><><><><><><><><><><><><>
		Regards: Romeo Ninov
		    IIS sysadmin
<><><><><><><><><><><><><><><><><><><><><><><><>
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================



 

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

 

линукс за българи
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.