LINUX.ORG.RU

Архиватор RAR 5.50 с новым форматом RAR5 по умолчанию

 ,


1

2

Состоялся релиз архиватора RAR 5.50, представленного для Unix платформ в виде приложения с интерфейсом для работы из командной строки. Список изменений между версиями RAR 5.50 и 5.40:

  • По умолчанию используется формат RAR5, для сжатия в формате RAR4 можно использовать ключ -ma4
  • Поддержка временных атрибутов файлов с точностью до 1 наносекунды.
  • Список файлов может использовать кодировку UTF-8 (необходимо добавить букву f к ключу -sc).
  • Команды lt и vt показывают время с точностью до 1 наносекунды для формата RAR5 (для файлов, созданных в Windows, точность 100нс).
  • Если введен неправильный пароль для зашифрованного архива RAR5, приложение предложит ввести новый пароль (вместо прерывания).
  • Исправлены ошибки (проблемы при распаковке битых архивов и при отсутствии заданного владельца папки).

Также обновлён распаковщик с открытым кодом UnRAR до версии 5.5.8 (бинарные сборки не актуализированы). Лицензия UnRAR не позволяет использовать код программы в разработке архиваторов (для создания RAR-архивов).

>>> Подробности

★★★

Проверено: leave ()
Ответ на: комментарий от greenman

В чём кривизна заключается?

В поддержке современного стандарта zip, в котором предполагается кодировка UTF-8 для имён файлов. Даже в Windows 10 всё ещё встроенный zip архивирует в устаревшей кодировке.

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

Там ограничения в заголовке — поле uncompressed size имеет длину 4 байта (32 бита)

Но оно не хранит размер исходного файла минимум с 1996. Кроме того, для распаковки файла корректное значение этого поля не требуется, с абсолютно произвольным значением файл успешно распакуется, просто выдаст предупреждение.

ISIZE (Input SIZE)
This contains the size of the original (uncompressed) input data modulo 2^32.

© RFC1952

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

Повреждать не хочется никому, случается при высылке почты.

софт имеется и для этого

У адресата нет такого софта, они другое делают. А узнавать что случилось, высылать второй раз, времени может не будет.

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

Но оно не хранит размер исходного файла минимум с 1996. Кроме того, для распаковки файла корректное значение этого поля не требуется, с абсолютно произвольным значением файл успешно распакуется, просто выдаст предупреждение.

И как ты определишь, сколько места нужно в каталоге назначения, что бы распаковать tarbomb.tar.gz ?

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

Какие же ты там увидел ограничения?

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

Для gzip, как уже 100 раз тут упомянуто, - непонятно сколько занимают несжатые данные. С этим тоже можно смириться, но это оооочень странно, и когда «выстреливает», жутко бесит.

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

Судя по тому, что написано здесь http://www.nongnu.org/lzip/xz_inadequate.html, pixz (xz) можно на помоечку.

Очень хороший эпиграф там в статье

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.

 — C.A.R. Hoare

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

Честно говоря, я не уверен, что это так уж хорошо. Вообще просто lzip — это просто другой контейнер для lzma, где большая часть параметров сжатия захардкожена. Его даже можно распаковать через xz, если задать определенные ключи и скомбинировать с другими утилитами.

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

Вообще просто lzip — это просто другой контейнер для lzma, где большая часть параметров сжатия захардкожена. Его даже можно распаковать через xz, если задать определенные ключи и скомбинировать с другими утилитами.

Совместимость - вообще хорошая штука. Иногда для этого достаточно пары-тройки битов в формате. Для версии! Пожалуй, самое главное достоинство сабжа (чуть не забыл, что мы в теме про rar).

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

Совместимости между xz и lzip нет, я просто вручную парсил заголовок и использовал фичу xz который умеет распаковывать сырые lzma-потоки, если попросить.

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

Ну вот, вы сами дальше и ответили.

Даже в Windows 10 всё ещё встроенный zip архивирует в устаревшей кодировке.

Зачем париться с zip и его кодировками, если на той же шинде нормально и без головной боли можно пользоваться 7zip? Скажете, проблемы у линуксоидов, который не пишут/используют архиватор с автоопределением кодировок? Ну вот как-то так у нас, работать через задницу нам как-то непривычно.

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

Проблемы с кодировками, отличными от ascii. Zip пакует список файлов в локальной кодировке (на Windows - cp1251 для РФ), а в GNU/Linux ожидают распаковку в UTF-8. И наоборот тоже проблема.

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

По официальному стандарту zip должна быть UTF-8 кодировка в новосоздаваемых файлах и есть специальный флаг который индицирует что имена файлов заданы в UTF-8.

Так что поведение Windows в данном случае некорректно.

Xenius ★★★★★ ()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Xenius

По официальному стандарту zip должна быть UTF-8 кодировка в новосоздаваемых файлах и есть специальный флаг который индицирует что имена файлов заданы в UTF-8.

Можно цитату про должно?

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

Пожалуйста:

4.4.4 general purpose bit flag: (2 bytes) Bit 11: Language encoding flag (EFS). If this bit is set, the filename and comment fields for this file MUST be encoded using UTF-8. (see APPENDIX D)

И собственно Appendix D:

D.1 The ZIP format has historically supported only the original IBM PC character encoding set, commonly referred to as IBM Code Page 437. This limits storing file name characters to only those within the original MS-DOS range of values and does not properly support file names in other character encodings, or languages. To address this limitation, this specification will support the following change.

D.2 If general purpose bit 11 is unset, the file name and comment should conform to the original ZIP character encoding. If general purpose bit 11 is set, the filename and comment must support The Unicode Standard, Version 4.1.0 or greater using the character encoding form defined by the UTF-8 storage specification. The Unicode Standard is published by the The Unicode Consortium (http://www.unicode.org). UTF-8 encoded data stored within ZIP files is expected to not include a byte order mark (BOM).

То есть в корректных zip-файлах кодировка должна быть CP437 или UTF-8 в зависимости от флага в бите 11. А хранение имён файлов в cp1251 (хотя я подозреваю что там всё же cp866) некорректно. Причём поддержка CP437 оставлена только для совместимости с древним софтом.

Xenius ★★★★★ ()
Последнее исправление: Xenius (всего исправлений: 3)
Ответ на: комментарий от Xenius

И где?

По официальному стандарту zip должна быть UTF-8 кодировка в новосоздаваемых файлах и есть специальный флаг который индицирует что имена файлов заданы в UTF-8.

Где обязательность использования при создании архива?

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

Вот только этот Ваш zip при обычном брутфорс взломе, взламывается быстрей. На быстрой машине, можно несколько сотень тысячь паролей подбирать за секунду. С RAR архивами дело по другому обстоит, подбор паролей длиться гораздо дольше.

maslakovvi ()