Victor_VG
![](http://forum.ru-board.com/board/avatars/private/Victor_VG.gif)
Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору И вот, ещё на глаза попалось, и вспомнил. Явление скорее из серии "несовершенство решения": Что за зверь и с чем его едят? Когда мы создаём архивы тарбаллы (архивы tar), то часто, учитывая то, что сам тар ничего не сжимает, а создаёт контейнер в который помещает указанные ему объекты со сжатием 1:1 (это было сделано для резервирования данных на НМЛ т.к. tar это аббревиатура type archiver (UNIX man tar(1), man tar95)[BSD], man tar(8)), то для экономии места на носителях архивы tar сжимаются внешними архиваторами, чаще всего COMPRESS (.z), GZIP (.GZ), BzIP/Bzip2 (.bz/bz2), LZX (.lz), RZip (.rz), XZ (.xz), и обычные имена тарбаллов выглядят типа такого <архив>.tar.bz2, но UNIX, в частности семейство BSD допускает для архивов .tar.bz2 и иной синтаксис записи - без суффикса .tar - а в формате <имя>.<расширение>, например <архив>.tbz, (<архив>.tgz, <архив>.tz, <архив>.trz, <архив>.tlz, <архив>.txz. В частности именно в таких тарбаллах распространяются бинарные модули BSD UNIX, а исходные тесты в тарбаллах классического вида <имя>.tar.gz, <имя>.tar.bz, <имя>.tar.bz2. Перепутать их при такой системе именования невозможно. Сам tar? 7-Zip, Rar открывают тарбаллы записанные в любой из этих форм правильно, как кстати, и отправленный принудительно на пенсию 7Zip Alt, НО!!!, тут arclite чудить начинает - если расширение архива .tgz - не вопрос, видит вложенный тарбалл, входит в него, работаем. А вот коли это .tbz.... Вот тогда ВОЗДУХ! -вложенный контейнер отобразится только как файл без расширения, войти в него по ENTER не возможно - arclite не распознаёт его как тарбал, но через Ctrl+PgDown - пожалуйста. Скриншот именно это и показывает - исходный тарбалл один, просто имена разные. А раз так, то значит у arclite сидит недоработка в детекторе - он не ожидает встретить имя архива с расширением .tbz, и в таком случае не проверяет вложенный файл на то, что это тарбалл, а просто выводит его имя, а так как он его не отдетектировал, то и войти в него как в архив по Enter не получается, а вот по Ctrl+PgDown мы принуждаем его проанализировать тарбалл, и тогда он в него входит, но не меняет тип его отображения на панели и продолжает скрывать расширение. Видимо, алгоритм ошибочно считает, что файлы .tbz/.trz/txz это одноуровневые контейнеры, и считав заголовок для скорости не повторяет анализ. И судя по всему, этот недостаток сидит прежде всего в самой 7z.dll, и как один из способов его исправления можно заставить плагин в таких случаях давать на библиотеку команду принудительного повторного детекта содержимого контейнера. Чего-то типа подобной идеи, но тут надо подумать раз, и Павлова я уж этим багом порадую - привить его прежде всего ему придётся.![](http://forum.ru-board.com/board/s/smile.gif)
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
|