[Comm] Архивирование и русские имена файлов

Dolgov OV =?iso-8859-1?q?dov_=CE=C1_media-link=2Einfo?=
Ср Апр 7 14:43:19 MSD 2004


On Wed, 7 Apr 2004 12:10:30 +0300
Alexander Bokovoy <a.bokovoy на sam-solutions.net> wrote:
> Проблема в том, что распространенные архиваторы вообще не имеют
> понятия о кодировках в именах файлов и внутри архива хранят их как
> есть, в 8-битными. Так что надо искать что-то, что о кодировках знает
> (сие мне неизвестно). Проблема усугубляется тем, что в POSIX понятие
> кодировки имени файлы неопределено -- имя файла это просто поток байт,
> не содержащий определенных символов и заканчивающийся определенным
> образом.
> 

Стоит ли понимать Ваши слова так, что tar _не_распространенный_
архиватор? :-) Я уже было думал, что tar все нормально проделывает
только из-за того, что имя архива задается латиницей. Ведь он сначала
создает как бы обычную копию данных, а уж потом этот _один_ получившийся
файл сжимает. Ведь как результат просмотра/распаковки tar'овских архивов
WinRAR'ом наблюдается архив в архиве. Ну тоесть открываем архив *.tgz
видим в содержимом *.tar и аж потом, в результате просмотра
предварительно распакованного *.tar видим свои данные.

Провел эксперимент. В /home/user (! раздел ext3, локаль СР1251) лежит к
примеру папка Бланки. WinRAR запущен под win4lin + Win98. Пакую:

$ tar -czf бланки.tgz Бланки

Полученный бланки.tgz просматриваю WinRAR'ом, все ОК. В содержимом вижу
бланки.tar и т.д.

$ zip -r бланки.zip Бланки

И в результате в содержимом вижу папку (дословно) +ырэъш содержимое
которой также выглядит подобным образом.

В чем тогда разница в работе tar и _распространенных_ архиваторов?
Почему в результате его работы имена в архиве Win понимает, а после остальных нет?

-- 
С наилучшими,
Олег Долгов
<dov AT media-link DOT info>
Registered Linux user #315454



Подробная информация о списке рассылки community