Категории

bzip2

bzip2 – безплатна програма с отворен код за компресиране на данни от команден ред, реализация на алгоритъма на Бъроуз-Уилър.

Помощната програма bzip2 е разработена и публикувана за първи път от Джулиан Сюард (на английски: Julian Seward ) през юли 1996 г. (версия 0.15). Стабилността и популярността на компресора нараснаха през годините и в края на 2000 г. беше публикувана версия 1.0.

В съответствие с традициите на програмирането UNIX, bzip2 изпълнява само една функция в даден момент: компресиране или декомпресиране на един файл. При това името на файла по подразбиране се допълва с.bz2. За да се опаковат няколко файла, те обикновено първо се архивират в един файл с помощта на tar и след това се компресират с помощта на bzip2.. Такива архиви обикновено имат разширение.tar.bz2.

bzip2 компресира повечето файлове по-ефективно, но по-бавно от по-традиционните gzip или ZIP.. В това отношение той е подобен на други съвременни алгоритми за компресиране.

bzip2 не е подходящ за ежедневна работа като редовен архиватор на резервни копия за сървърна система с денонощно търсене. Препоръчва се главно за еднократни процедури за ефективно пакетиране на голямо количество данни, когато времето за изпълнение и натоварването на CPU. не са критични Операциите по пакетиране bzip2 извършва със значително натоварване на CPU (което се дължи на неговия математически апарат), така че за доста дълго време (10 GB се пакетират за 3-4 часа) централният процесор ще бъде зает главно от процеса bzip2 (архивиране на данни) и няма да може да обслужва своевременно другите процеси на системата, което може да бъде причина за отказ на услугата.

В някои случаи bzip2 губи от архиваторите 7-Zip (LZMA) и RAR по абсолютна ефективност на компресиране. Според автора bzip2 губи от 10 до 15 % от най-добрия клас известни в момента алгоритми за компресиране на данни (PPM), но е два пъти по-бърз при компресиране и 6 пъти по-бърз при декомпресиране.

bzip2 използва трансформацията на Бъроуз-Уилър, за да превърне последователности от многократно преплитащи се символи в низове от идентични символи, след това прилага трансформацията на MTF и накрая кодирането на Хъфман. Блоковете в bzip2 имат същия размер в некомпресирания поток. Размерът на блока може да се избере с помощта на аргумент от командния ред и той се отбелязва в компресирания текст с произволно избрана последователност от битове, представляваща числото π.

Предшественикът на bzip2, програмата bzip, използва аритметично кодиране след сортиране на блоковете. Тя беше изоставена поради патентни ограничения.

bzip2 може да се използва в комбинация с tar, или поотделно: bzip2 file за компресиране и bzip2 -d file.bz2 за декомпресиране (вместо bzip2 -d можете да използвате алтернативното име bunzip2).

Аргументите на командния ред на bzip2 са по принцип същите като тези на gzip. Така, за да декомпресирате архива tar, компресиран от bzip2:

bzip2 -cd име на архива.tar.bz2 | tar -xvf –

За създаване на компресиран архив bzip2 tar:

tar -cvf – файлове | bzip2 -9 > име на архива.tar.bz2

Версията на GNU tar поддържа флага -j, който позволява създаването и разопаковането на tar.bz2 файлове, без да се използват I/O пренасочвания ( pipeline):

tar -cvjf име на архива.tar.bz2 списък на файловете

Извличане на tar-архив, компресиран bzip2 с помощта на GNU tar:

tar -xvjf име на архива.tar.bz2

Съвременните версии на GNU tar имат функцията за автоматично разпознаване на типа на архива и така можете да напишете:

tar -xvf име на архив.tar.bz2

Освен това има набор от помощни програми затърсене, извеждане, извличане и сравняване на данни във формат bzip2: bzcat, bzdiff, bzfgrep, bzless, bzcmp, bzegrep, bzgrep, bzip2recover,bzmore.

Категории: Архиватори, Дискове и файлове, Друго

Реклама