LINUX.ORG.RU

Релиз xz-utils 5.0.0

 , , , ,


0

0

Спустя длительный период разработки и тестирования увидел свет выпуск 5.0.0 утилит и библиотек для компрессии xz-utils. Несмотря на номер версии 5, это первый стабильный выпуск xz-utils с этим названием (старое название — lzma-utils), xz-utils полностью совместимы с форматом lzma (как в сжатии в старом формате, так и в его распаковке).

Компрессия базируется на известном (в частности по 7-zip) формате LZMA, код LZMA распространяется по условиям лицензии Public Domain, остальной код xz-utils — по LGPL, GPL.
xz-utils уже были включены в состав многих дистрибутивов, а также активно используются для распространения tarball-ов исходного кода многими разработчиками, начиная с версии 13.0 .txz является форматом пакетов по умолчанию в дистрибутиве Slackware.

xz-utils поддерживаются на множестве платформ, включая Haiku, OS/2, QNX, OpenVMS, DOS, Windows, и, естественно, самые разнообразные *nix.
Новый формат данных xz по сравнению со старым (lzma) включает возможность использования в потоке контрольных данных (например, crc32/64 или sha-256), возможность использования дополнительных фильтров и цепочек фильтров, в том числе и заданных пользователем, для достижения лучшей компрессии отдельных данных (технические подробности по формату xz).

>>> Сайт проекта

★★★★★

Проверено: maxcom ()
Последнее исправление: MuZHiK-2 (всего исправлений: 3)

Блин, только закончил... аааа, нет, не закончил, сжимать предыдущей версией из lenny. Что же оно, блин, тормозит то так? 5.0 быстрее 4.9999(9)?

И почему новость без списков, одним потоком? Читать неудобно.

debian6
()

Ну, кстати, xz уже много где используется для сжатия пакетов, проще назвать немёртвые дистрибутивы, которые на него не перешли.

dn2010 ★★★★★
()

Продолжаем использовать p7zip для 7z, он хоть как-то утилизирует многоядерный процессор...

Andru ★★★★
()

> Спустя длительный период разработки и тестирования увидел свет выпуск 5.0

В чем отличия от 4.99?

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Only the most important changes compared to 4.999.9beta are listed
here. One change is especially important:

* The memory usage limit is now disabled by default. Some scripts
written before this change may have used --memory=max on xz command
line or in XZ_OPT. THESE USES OF --memory=max SHOULD BE REMOVED
NOW, because they interfere with user's ability to set the memory
usage limit himself. If user-specified limit causes problems to
your script, blame the user.

Other significant changes:

* Added support for XZ_DEFAULTS environment variable. This variable
allows users to set default options for xz, e.g. default memory
usage limit or default compression level. Scripts that use xz
must never set or unset XZ_DEFAULTS. Scripts should use XZ_OPT
instead if they need a way to pass options to xz via an
environment variable.

* The compression settings associated with the preset levels
-0 ... -9 have been changed. --extreme was changed a little too.
It is now less likely to make compression worse, but with some
files the new --extreme may compress slightly worse than the old
--extreme.

* If a preset level (-0 ... -9) is specified after a custom filter
chain options have been used (e.g. --lzma2), the custom filter
chain will be forgotten. Earlier the preset options were
completely ignored after custom filter chain options had been
seen.

* xz will create sparse files when decompressing if the uncompressed
data contains long sequences of binary zeros. This is done even
when writing to standard output that is connected to a regular
file and certain additional conditions are met to make it safe.

* Support for «xz --list» was added. Combine with --verbose or
--verbose --verbose (-vv) for detailed output.

* I had hoped that liblzma API would have been stable after
4.999.9beta, but there have been a couple of changes in the
advanced features, which don't affect most applications:

- Index handling code was revised. If you were using the old
API, you will get a compiler error (so it's easy to notice).

- A subtle but important change was made to the Block handling
API. lzma_block.version has to be initialized even for
lzma_block_header_decode(). Code that doesn't do it will work
for now, but might break in the future, which makes this API
change easy to miss.

* The major soname has been bumped to 5.0.0. liblzma API and ABI
are now stable, so the need to recompile programs linking against
liblzma shouldn't arise soon.

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

lzma2!=xz

lzma как и lzma2 является методом сжатия

xz - формат архива использующий данный метод

gzip  deflate

bzip2 bwt

xz    lzma2

LZMA2 is modified version of LZMA. it provides the following advantages over LZMA:

Better compression ratio for data than can't be compressed. LZMA2 can store such blocks of data in uncompressed form. Also it decompresses such data faster.

Better multithreading support. If you compress big file, LZMA2 can split that file to chunks and compress these chunks in multiple threads.

LZMA2 also supports all LZMA parameters, but lp+lc cannot be larger than 4.

anonymous
()
Ответ на: комментарий от Sylvia

>lzma2 (xz) по сути тот же формат + то что написала (контрольные данные, фильтры)

Скорее, lzma2 - это компрессор, используемый в xz-контейнере

Led ★★★☆☆
()
Ответ на: комментарий от Led

читаешь такие обсуждения, и начинаешь задумываться - нахрина было плодить столько сущностей? ) Порой начнешь создавать архив, кликаешь по списку форматов в поиске какого-нить zip'а для хомячков, а тут тебе список из десятка-другого формата и их комбинаций...

Andru ★★★★
()
Ответ на: комментарий от Lighting

Не вижу ни логики ни связи. Во-первых, 12309 это скорее миф, вызванный некоторыми крутыми самодельными сборками не зная чего не зная как, чем подтверждённый факт, а во-вторых, причём тут вообще это, в третьих в откуда он в Lenny, и в-четвёртых, почему он тогда gzip не трогает?

xz медленный, и никакие байки из склепа виндузятников к этому отношения не имеют.

debian6
()

Вот бы еще документацию нормальную по liblzma...

Deleted
()

>код LZMA распространяется по условиям лицензии Public Domain

Поясните он не легален в этой стране?

anonymous
()
Ответ на: комментарий от debian6

>12309 это скорее миф, вызванный некоторыми крутыми самодельными сборками не зная чего не зная как, чем подтверждённый факт

скорее отсутствие 12309 это миф

anonymous
()
Ответ на: комментарий от anonymous

>> код LZMA распространяется по условиям лицензии Public Domain

Поясните он не легален в этой стране?

По идее, ты можешь просто выдать код за свой, с любой лицензией, т.к. он является публичным достоянием. Если непосредственно формулировка «общественное достояние» у нас не имеет юридической силы, то и запретить использовать этот код нет никаких законных обоснований (т.к. нет держателя авторских прав). Это моё имхо после поверхностного столкновения с этим вопросом (sqlite).

boo32
()
Ответ на: комментарий от boo32

Авторство неотчуждаемо.

По идее, ты можешь просто выдать код за свой,

Не можешь. Авторство неотчуждаемо. Но использовать общественное достояние можно как угодно, распространять на любых условиях, менять, показывать исходники, не показывать исходники, включать в состав любого другого ПО, упоминать что используется код из общественного достояния или не делать этого. Но заявлять об авторстве чужого кода нельзя.

Camel ★★★★★
()

Это всё конечно очень хорошо, но… В несколько потоков оно так и не научилось жать?

Psych218 ★★★★★
()
Ответ на: комментарий от Psych218

само не научилось пока, выше я давала ссылку на pxz
оно работает используя библиотеку liblzma (в составе xz-utils), а также openmp (gomp)

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

$pxz --version
Parallel PXZ 5.0.0 (build 20101025)
xz (XZ Utils) 5.0.0
liblzma 5.0.0

Sylvia ★★★★★
() автор топика

ну и что? Достаточно бзипа, гзипа и винрара. Все эти супер пупер новые пакеты и оптимизации среднему хомячку в зад не впились.

anonymous
()
Ответ на: комментарий от debian6

>Во-первых, 12309 это скорее миф

Дальше не читал, удачливый ты наш.

Lighting ★★★★★
()
Ответ на: комментарий от anonymous

Достаточно вообще фирефокса, порносайтов и гимпа, чтобы нужное подрисовывать. Зачем вообще нужны бзипа, гзипа и винрара, если есть фирефокс, гимп и порносайты?

debian6
()
Ответ на: комментарий от debian6

>xz медленный, и никакие байки из склепа виндузятников к этому отношения не имеют.

xz в 5 раз быстрее чем bzip2 при распаковке

Led ★★★☆☆
()
Ответ на: комментарий от anonymous

>Все эти супер пупер новые пакеты и оптимизации среднему хомячку в зад не впились.

Анонимные хомячки в винраром идут на х^Wвинфак

Led ★★★☆☆
()
Ответ на: комментарий от turbanoff

Нее, 5.0 - это сразу 5.0, и точка. А 4.9999(9) воооон какое длинное, по дороге успевает обрасти патчами и обновлениями, прежде чем станет 5.0. Но стало ли оно быстрее - мы узнаем, только когда этот пакет попадёт в Squeeze/Sid/Experimental. Стей тюнд.

debian6
()
Ответ на: комментарий от debian6

>При распаковке он очень быстр, это да. Но при запаковке...

Он для этого и предназначен: один раз запаковал - много раз распаковываешь (в 5 раз быстрее, чем bzip2): vmlinuz, initrd.img при загрузке ядра; rpm и deb пакеты - мейнтейнер упаковывает один раз, пользуюся over9000; и т.п.

Led ★★★☆☆
()
Ответ на: комментарий от debian6

>Ну они как артиллеристы и неопытные женихи - пока куда надо попадёшь...

Ты точно знаешь о чём говоришь? или сказок начитался?

Led ★★★☆☆
()
Ответ на: комментарий от Led

Я точно не начитался сказок. И вообще, см. сообщение №1.

debian6
()

хорошая новость Арч держится на них

muzlocker
()
Ответ на: комментарий от turbanoff

нет.

от релиза 4.999.beta9 прошло больше года

было выложено более 5 промежуточных версий -git рекомендованных для замены 4.999.beta9

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

пока они не показали внятный график зависимости степени компресии от взодного файла - pxz является непонятно чем, ибо он не отличается от bzip2.

Тот график, что у них - фуфло, ибо не понятно, что было входным файлом.

Надо протестировать на файлах с разным контентом, и протестировать разные размеры блоков. Мой выбор пока --- xz

dikiy ★★☆☆☆
()
Ответ на: комментарий от debian6

xz -1
lzma -1

быстрее bzip2 -9
и жмет практически не хуже


Sylvia ★★★★★
() автор топика
Ответ на: комментарий от dikiy

pxz
15365308 projectM-complete-2.0.0-Source.tar.xz
xz
15364744 projectM-complete-2.0.0-Source.tar.xz

отличия не сильно значительны, выигрыш во времени от компрессии на нескольких ядрах очевиден, хотя утилита экспериментальна )

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от debian6

чой-то у вас с кешей браузера...

Пакет: xz-utils (5.0.0-1 и другие)
amd64    5.0.0-1    199,8 Кб   460 Кб    [список файлов]
armel    5.0.0-1    200,9 Кб   452 Кб    [список файлов]
Исходный код xz-utils:
* [xz-utils_5.0.0-1.dsc]
* [xz-utils_5.0.0.orig.tar.gz]
* [xz-utils_5.0.0-1.debian.tar.gz]

для остальных архитектур пока не представили.

Sylvia ★★★★★
() автор топика
Ответ на: комментарий от Sylvia

Признаюсь, я не могу это рационально объяснить.

user@sid:~$ elinks -dump http://packages.debian.org/experimental/xz-utils | grep Пакет
   >> [8]Debian >> [9]Пакеты >> [10]experimental >> [11]utils >> xz-utils
                    Пакет: xz-utils (4.999.9beta+20100927-1)
   Пакет устанавливает инструменты командной строки, работающие с форматом
  15. Пакет исходного кода для сборки этого пакета
user@sid:~$ elinks -dump http://packages.debian.org/experimental/xz-utils | grep 5.0.0-1
                       Пакет: xz-utils (5.0.0-1 и другие)
     * [23][xz-utils_5.0.0-1.dsc]
     * [25][xz-utils_5.0.0-1.debian.tar.gz]
       [58]amd64      5.0.0-1                199,8 Кб 460 Кб        [[59]список
       [60]armel      5.0.0-1                200,9 Кб 452 Кб        [[61]список
  19. http://packages.debian.org/changelogs/pool/main/x/xz-utils/xz-utils_5.0.0-1/changelog
  20. http://packages.debian.org/changelogs/pool/main/x/xz-utils/xz-utils_5.0.0-1/xz-utils.copyright
  21. http://patch-tracker.debian.org/package/xz-utils/5.0.0-1
  23. http://ftp.de.debian.org/debian/pool/main/x/xz-utils/xz-utils_5.0.0-1.dsc
  25. http://ftp.de.debian.org/debian/pool/main/x/xz-utils/xz-utils_5.0.0-1.debian.tar.gz
  42. http://packages.debian.org/changelogs/pool/main/x/xz-utils/xz-utils_5.0.0-1/changelog
debian6
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.