Видео ролики бесплатно онлайн

Смотреть измена видео

Официальный сайт filipoc 24/7/365

Смотреть видео бесплатно

ZED 21.03.2011 01:58

Tips & tricksДлинные имена файлов в торрентах

Торренты, созданные в Windows имеют ограничение на длину файла с кириллическим названием 255 символов, а в линуксе ограничение такого файла 128 символов. Из-за этого любой торрент-клиент при записи файла напишет, что имя файла слишком длинное и остановит закачку с ошибкой. И это к сожалению красиво не побороть. Как я понял это из-за того в линуксе ограничение на длину файла идет не на символы, а на байты. И этот атавизм присущ всем nix-системам, включая фряху. В винде используется utf16 и каждый символ занимает 2 байта, в никсах же по-умолчанию используется utf-8, латиница занимает 1 байт, европейские языки, включая кириллицу 2 байта, а арабские символы и иероглифы 4 байта. Но ограничение идет уже на байты, а не символы, поэтому для латиницы разницы не будет, а для остальных языков будет.

Единственный способ это обойти - использовать отличную от utf8 локаль. Создаем например cp1251 (если ее нет):
localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

Проверяем список установленных локалей:
locale -a

После чего запускаем торрент-клиент:
LC_ALL=ru_RU.CP1251 azureus
или
LANG=ru_RU.CP1251 azureus

Но проблема возникает еще и в том, что большинство клиентов все равно пишут файлы в utf8 независимо от локали. По крайней мере этим точно страдает transmission и rtorrent. Vuze (azureus) пишет имена в кодировке используемой локали. Про остальные клиенты не в курсе.

Так же можно использовать uTorrent через wine:
LANG=ru_RU.cp1251 wine utorrent.exe

После закачки файлы выглядят "крякозябрами", но читаются и могут быть переименованы как надо. Для этого сначала проверяем какие файлы не могут быть переименованы автоматом (если в раздаче только часть файлов с длинными именами):
convmv -f CP1251 -t UTF-8 * -r

После чего переименовываем руками косячные файлы и конвертируем остальные файлы из раздачи:
convmv -f CP1251 -t UTF-8 * -r --notest

Поскольку vuze я не люблю из-за жабы, подобные корявые торренты попадаются редко (но среди книжек бывает чаще), а uTorrent отлично работает под вайном и не требует установки, я предпочел последний вариант.
Пост написан не только для решения проблемы, которое в целом довольно банальное, но и для объяснения причин данной проблемы, чтобы никто на красивое решение не надеялся. Пенять на винду не совсем корректно, поскольку в данном вопросе она предстает более прогрессивной. Торренты специально для заблудшего линуксоида тоже никто переделывать не будет, урезая имена файлов, вы их или скачиваете через костыли или не скачиваете вовсе. Дураков на Руси на 100 лет припасено (ц) Кузьмич.


Тэги: cp1251 locale torrent utf8
+ 3 -
Похожие Поделиться

thoughtful_fox 21.03.2011 10:06 #
+ 0 -
Отличный пример использования бага для установки костыля)
На самом деле, насколько я понимаю, это проблема файловых систем, а не ядра. Скажем, и в стане виндовз-систем не все так радужно, потому что джульет и удф файловые системы работают, соответственно, с 64 символа и 255 байт максимум.

Зато райзерФс4 поддерживает 3976 байт. Сам не тестил не знаю, только в доке читал, хехе)
ZED 21.03.2011 13:39 #
+ -1 -
насколько я понимаю, это проблема файловых систем, а не ядра...Зато райзерФс4 поддерживает 3976 байт

В том то и дело, что на уровне файловых систем ограничений нет, а вот в ядре где-то на уровне библиотек C оно есть.
DOOMer 21.03.2011 11:32 #
+ 1 -
почти 3 года использую торренты в различных Linux-дистрибутивах, и ни разу не попадались торрент-файлы со сверх-длинными именами. неужели кому-то может не хватить 128 символов для "обызвания" файла? Не обязательно жетуда впихивать краткое описание раздачи.
ZED 21.03.2011 13:42 #
+ -1 -
ни разу не попадались торрент-файлы со сверх-длинными именами

Такие имена часто попадаются в раздачах книг и живописи. Названия книг и картин бывают очень длинными. Я сам с этим столкнулся сравнительно недавно.
bmw 21.03.2011 11:37 #
+ 0 -
https://bbs.archlinux.org/viewtopic.php?id=89174 Вот тут не хватило, например.
А вообще стыдно в 21 веке такие ограничения иметь, у NTFS и то больше буковок влазит.
proDOOMman 22.03.2011 14:17 #
+ 3 -
Костыли плодятся и размножаются.
Никогда не видел такой баги, но тестовый торрент файл выдал ошибку. Нехорошо, решил я, и запостил проблему на багтрекер. Через два часа в svn уже был фикс.
http://qbittorrent.svn.sourceforge.net/viewvc/qbittorrent?revision=5355&view=revision
А вы какой-то фигней занимаетесь. Нет бы достучаться до разрабов или самим код поправить
ZED 22.03.2011 16:18 #
+ -1 -
Во-первых, я привел ссылку, где показано, что это не проблемы торрент-клиентов, а проблема всех POSIX систем. Если проблемы исправляют разработчики клиентов, будьте спокойны, они засовывают такие же костыли внутрь. Рано или поздно это приведет к тому что сейчас мы наблюдаем в X11.
Во-вторых, проверьте фикс, он работает? Потому что в Deluge это фиксят уже давно и все никак не отфиксят.
proDOOMman 22.03.2011 17:33 #
+ 3 -
Данный фикс всего лишь обрезает название файла, что вполне согласуется со стандартами POSIX.
И да, он вполне работает
DW 23.03.2011 17:29 #
+ 0 -
Подтверждаю, работает и всего лишь режет имя файла.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн