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

Смотреть в хорошем качестве hd видео

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

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

21.03.11 01:58 ZED

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 лет припасено (ц) Кузьмич.



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

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

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

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

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 161)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 3337 из 237 городов)
            Топ пользователей Топ блогов

            Новенькие: fna, vasya, Gibson, aum, prekrati
            welinux.ru

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

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


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

            Online video HD

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

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

            Full HD video online

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

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

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