Собираем
информацию
по крупицам

RSS подписка

Подпишитесь на новости сайта по RSS

Статьи - Компьютерное

Linux: как перестать удивляться, и начать работать

Как распаковать RAR-архив в Linux с именами файлов в кодировке Windows
06-05-2012
08:53:03

В мире операционных систем для рабочего стола и офиса царствует Windows. С этим приходится считаться пользователям Linux. Часто возникающая задача - распаковать rar-архив, созданный в Windows.

 

При распаковке rar-архива часто возникает проблема. Если имена файлов содержат русские буквы, то распаковываемые файлы получат нечитаемые имена в сбитой кодировке. Давайте разбираться, как же распаковывать такие архивы.

 

В дистрибутивах Linux есть два вида rar-архиватора. Назовем их "старый" и "новый". Я, к сожалению, не могу точно сказать, начиная с какой версии можно считать rar "старым", а после какой - "новым". Различия в них в том, что опции, работающие в "старой" версии не работают в "новой".

 

 

"Старый" rar

 

Чтобы распоковать rar-архив с правильными именами файлов, нужно воспользоваться опцией -sc. Вот что про нее написано в помощи:

 

sc<chr>[obj] Specify the character set

 

Больше ничего. Как обозначаются кодировки, и какие кодировки поддерживаются, в помощи, в man и в документации написать забыли. Делюсь с вами сакральными знаниями:

  • u - Unicode (UTF-8)
  • a - ANSI Windows (CP1251)
  • o - OEM DOS (CP866)

 

Таким образом, чтобы распаковать rar-архив с файлами, имена которых имеют кодировку CP1251, нужно дать команду:

 

rar x -sca archive.rar

 

По всей видимости, данная опция работает в версии Rar вплоть до 2.8. В более поздних версиях эта опция присутсвует, но, по факту, при распаковке игнорируется.

 

 

"Новый" rar

 

Как было сказано ранее, в новых версия rar опция -sc не работает. Как же распаковывать проблемные архивы? Ответ: воспользоваться программой unrar версии примерно 3.9x. Эта программа каким-то волшебным образом автоопределяет кодировку имен файлов, и распаковывает с правильными именами.

 

Пример команды распаковки через unrar:

 

unrar x archive.rar

 

В дистрибутивах Linux программы rar и unrar располагаются в одноименных пакетах. Программы обычно имеют одну и ту же версию - например, в текущем Debian Stable и rar и unrar имеют номер версии 3.93. При этом rar не может правильно распаковать архив с русскоязычными файлами, а unrar может.

 

Какой же выход? Выход банален: пропагандировать пользоваться передовыми открытыми архиваторами типа 7z. В них кодировка имен файлов записывается в заголовочную информацию архива, и распаковка всегда происходит правильно.

 



К списку "Компьютерное"

Поделиться этой страницей



Внимание!


На этом сайте разрабатывается программа MyTetra и её родственные проекты. Доступны к просмотру следующие базы знаний:

 

База Xintrea (стр. 1)

База Rarrugas (стр. 1)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean (стр. 1)

База Аrmagedec

База SorokinRed

База Deadelf79

База Adgaver (стр. 1)

База Pipitos1983

База Silenn (стр. 1)

База Shlyapnikova - херомантия и ригидность

База Velonski (стр. 1)

База BrokeRU (стр. 1)

База Mcold (стр. 1)

База Alensav (стр. 1)

База Alensav2 (стр. 1)

База Consp11 (стр. 1)

База Kozlov-AE (стр. 1)

База Wwwlir (стр. 1)

База Duwaz (стр. 1)

 

Требуют доработки:

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База RuDennn (Bunny-Hop)

База Manakaden

База Vitvrn

База Fanrok

База Grimar

База_Juryak

База Nicolasomsk

База Azatserikbaev

База Shut913

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик