вторник, 1 мая 2012 г.

Ubuntu, File Roller и крякозяблы в именах файлов

В Ubuntu для работы с RAR-архивами традиционно используются две программы: rar и unrar. Обе поддерживаются стандартным гномовским менеджером архивов - File Roller-ом. Первая, rar, предназначена для создания и распаковывания rar-архивов, но, к сожалению, не всегда справляется должным образом со второй задачей. В частности проблемы возникают при распаковке архивов созданных в Windows, где имена файлов/папок содержат русские буквы. Также, судя по постам в интернете, проблемы возникают и с зашифрованными архивами. Поэтому для распаковки, лучше всего воспользоваться программой unrar, вторым коммерческим продуктом создателя формата. Эта утилита прекрасно распаковывает rar-архивы, но, как следует из ее названия не предназначена для их создания. Для любителей всего свободного существует другая, но также несколько ограниченная версия распаковщика - unrar-free. Под свободной здесь понимается то, что проприетарный формат RAR и его основной закрытый функционал был исследован и реализован при помощи реверс-инжиниринга.


Для тех, кто, как я, предпочитает пользоваться графическим интерфейсом, в частности менеджером File Roller одновременное использование rar для упаковки и unrar для распаковки не представляется возможным. Если в системе установлен rar, наличие unrar просто игнорируется. Я даже глянул в исходники File Roller-а, чтобы убедиться в этом. Во всех местах, связанных с извлечением данных присутствует такой код:

if (have_rar ())
       fr_process_begin_command (comm->process, "rar");
else
       fr_process_begin_command (comm->process, "unrar");


Итог: Для приемлемой работы с RAR-архивами можно воспользоваться полумерой: установить unrar и удалить rar. Нужно лишь отказаться от создания RAR-архивов (в мире Linux это чуждый формат), в пользу другого, например zip.


2 комментария:

Evgeniy Lukoyanov комментирует...

Не могу согласиться с автором: мой Синаптик сообщает, что This is the RAR archiver from Eugene Roshal. It supports multiple volume
archives and damage protection. It can also create SFX-archives. There are
versions which run on DOS, Windows (3.1x,95,NT), FreeBSD, BSDI.

Эта программа имеет ограничение по сроку использования и должна быть
зарегистрирована после 40 дней использования.

SeLo комментирует...

Спасибо Евгений за указание ошибки. Честно говоря, сам не понимаю как такое произошло, что я rar назвал свободным продуктом. Такое ощущение, что не хватает части текста, может быть я случайно блок текста выделил и затер его. В любом случае - подправил.