Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: мало байт на имена файлов с русскими символами  (Прочитано 3039 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн trablshuter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
  • Ubuntu Server 16.04
    • Просмотр профиля
Всем привет.
Уважаемые профи подскажите како-нибудь хитрое заклинание, как победить данную проблему:

Имею партишен с файловой системой EXT4.
При работе с файлами на этом разделе, многие программы ругаются на длинные имена файлов....
Например файл с длинным именем нормально работающий в винде, уже не виден и не может использовать на Линуксе...
Предполагаю проблема в:
1) в Винде ограничение на 255 символов в UTF-16
2) а в EXT4 ограничение на 255 байт, а каждый русский символ идет за ДВА байта (UTF-8)

Есть ли возможность где-то что-либо прописать и чтобы каждый русский символ принимался за 1 байт (ну или как-нибудь ещё, но чтобы хотя бы сравнять возможности с Виндой в данном направлении)? может при монтировании что-то прописать, или в каком другом конфиге....
А то это совсем не серьёзно, лью на этот линукс-комп бекап с виндовой файлопомойки, и получаю такие отлупы постоянно.

?

ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 10/04/2017). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июля 2019, 01:17:23 от zg_nico »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3032
    • Просмотр профиля
Можно, если отказаться от UTF-8 и вернуться на KOI8-R, это однобайтовая кодировка.
Но лучше переименовать файлы, а ещё лучше не использовать русские имена,
а если использовать, то разумные, т.е. покороче.
Пётр.

Оффлайн trablshuter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
  • Ubuntu Server 16.04
    • Просмотр профиля
Можно, если отказаться от UTF-8 и вернуться на KOI8-R, это однобайтовая кодировка.
Будь добр, подскажи, что для этого и как надо сделать...  я нуб в линуксе, только начинаю его "любить" (или он меня  :)  )
И главное чревато ли это какими-либо последствиями?

Но лучше переименовать файлы, а ещё лучше не использовать русские имена,
а если использовать, то разумные, т.е. покороче.
не реально это сделать, для сотни юзеров возрастом вплоть до пенсионного невозможно привить считать символы глазками/ручками и не приписывать лишних... (да и не дело это, если ещё 255 символов в названии - куда не шло, то ровно в два раза меньше - это уже и правда бред)   :(

Оффлайн www777

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2777
    • Просмотр профиля
Цитировать
лью на этот линукс-комп бекап с виндовой файлопомойки, и получаю такие отлупы постоянно
А ты запаковывай в архив, и тогда лей на этот линукс-комп. Есть софт который автоматически запаковывает в архивы бекап.

Оффлайн trablshuter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
  • Ubuntu Server 16.04
    • Просмотр профиля
Цитировать
лью на этот линукс-комп бекап с виндовой файлопомойки, и получаю такие отлупы постоянно
А ты запаковывай в архив, и тогда лей на этот линукс-комп. Есть софт который автоматически запаковывает в архивы бекап.
хоть не в этом суть вопроса топика, но всё же,: я отказался от архивов, так как когда нужно  достать какой-либо файл, за какое-либо число, (весь бэкап расшарен с ограниченными правми), так вот, чтобы достать нужный файл, ты сначала по сети будешь вынужден открыть весь этот, например,  СТОгигабайтный архив (это нереально :) ), и только потом из него вытаскиваешь файл...  Такой вариант для меня оказался не приемлемым, так как файл нужен сдесь и сейчас. Винтов хватает - это самое главное ;)



Вопрос про возможность уравнять шансы Винды и Линкса по количеству русских символов в имени файла пока остается открытым... 

Оффлайн www777

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2777
    • Просмотр профиля
trablshuter, Тогда единственное, что можно тебе посоветовать использовать Windows с NTFS, ибо уж слишком много ты хочешь, имея при этом всё же "кривые файлы". Изменять кодировку, как тебе предлагали, не рекомендуемый вариант. Потом придёшь на форум с новыми проблемами с кодировкой, и помогут ли тебе, если таким извращением скорей всего ни кто не занимается.

Оффлайн trablshuter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
  • Ubuntu Server 16.04
    • Просмотр профиля
ибо уж слишком много ты хочешь, имея при этом всё же "кривые файлы"
да как "много", и чем они "кривые", обычные файлы (*.pdf, *doc и прочие) нормально работающие даже под храмой виндой, но из-за названия (которое EXT4 не переваривает) нет возможности его хранить в Linux.
Представляешь, годами накопленная база файлов с такими длинными именами, которые все эти годы, позволяла создавать Windows. И куча юзеров которых не переделать.

Изменять кодировку, как тебе предлагали, не рекомендуемый вариант. Потом придёшь на форум с новыми проблемами с кодировкой, и помогут ли тебе, если таким извращением скорей всего ни кто не занимается.
ОК, принято.
« Последнее редактирование: 04 Июля 2016, 13:29:41 от trablshuter »

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
А какова длина имён файлов? Прям 120 русских символов?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Raf73

  • Активист
  • *
  • Сообщений: 740
    • Просмотр профиля
Есть неплохой (и не совсем идеальный) выход: подключить раздел с NTFS и проблема будет решена. Если документы находятся в домашней папке, то вместо папки с документами, создать символическую ссылку на папку с таким же именем, которая будет располагаться на нтфс.
« Последнее редактирование: 04 Июля 2016, 15:12:19 от Raf73 »

Оффлайн trablshuter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
  • Ubuntu Server 16.04
    • Просмотр профиля
А какова длина имён файлов? Прям 120 русских символов?
ну как сказать, на самой шаре с Виндой, там-то как раз символов в названии много (до 200)
один из примеров, много *.pdf-ников с законодательными снипами гостами остами и т.д. и т.п ну и для простоты поиска в них целиком подробно названия прописаны...
а вот уже на Линуксе - да, может "принять" только около 124-127...  ну и плюс точка и расширение файла (которые по английски и "берут" по 1 байту)  а более длинные обрубает ещё на этапе rsync 
« Последнее редактирование: 04 Июля 2016, 15:27:13 от trablshuter »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3032
    • Просмотр профиля
Ещё для переименования файлов есть утилита convmv. Переходить на KOI8-R,
разумеется, не надо, надо переименовать файлы так, чтобы имена были в UTF-8
и не слишком длинные, это надо делать скриптом, если файлов так много.
Скажем, просто обрезать длинные имена.
« Последнее редактирование: 04 Июля 2016, 15:21:08 от Peter_I »
Пётр.

Оффлайн trablshuter

  • Автор темы
  • Новичок
  • *
  • Сообщений: 33
  • Ubuntu Server 16.04
    • Просмотр профиля
Есть неплохой (и не совсем идеальный) выход: подключить раздел с NTFS и проблема будет решена. Если документы находятся в домашней папке, то вместо папки с документами, создать символическую ссылку на папку с таким же именем, которая будет располагаться на нтфс.
премного благодарен за вариант, но думаю для меня это  будет геморой ещё тот в обслуживании.
это самопальный сервак-бэкапа, в том числе и файлопомойки на Винде, хранит копии прошлых будней "глубиной в прошлое" до 10-20 дней :)
не вариант символьные ссылки лепить, файлов тысяча разбросанных по дереву директорий среди остальных файлов и директорий.

Пользователь добавил сообщение 04 Июля 2016, 15:21:09:
Ещё для переименования файлов есть утилита convmv. Переходить на KOI8-R,
разумеется, не надо, надо переименовать файлы так, чтобы имена были в UTF-8
и не слишком длинные, это надо длеать скриптом, если файлов так много.
Скажем, просто обрезать длинные имена.
чтобы обрезать файлы, накодить программку под Винду не долго...  ну или на крайний случай скриптом с этого сервака под Ubuntu на Виндовой шаре с соответствующим логином+паролем (благо, добрые люди тут на форуме, уже накидали в ранее созданной мной теме примеров). Но держу это как крайний вариант, хотелось бы изящества и совместимости  :(   Конечно при создании топика, я думал, нужно будет просто какой-то где-то параметр прописать и все заработет.  :)  но не тут то было...
« Последнее редактирование: 04 Июля 2016, 15:26:29 от trablshuter »

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
А какова длина имён файлов? Прям 120 русских символов?
ну как сказать, на самой шаре с Виндой, там-то как раз символов в названии много (до 200)
один из примеров, много *.pdf-ников с законодательными снипами гостами остами и т.д. и т.п ну и для простоты поиска в них целиком подробно названия прописаны...
а вот уже на Линуксе - да, может "принять" только около 124-127...  ну и плюс точка и расширение файла (которые по английски и "берут" по 1 байту)  а более длинные обрубает ещё на этапе rsync 
Тут конкретно про те символы, объём которых удваивается. Если их меньше 124(именно двухбайтных символов), то можно создать в корне папку с названием в 1 символ и ложить файлы туда. Точка, расширение - однобайтны.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн staso

  • Активист
  • *
  • Сообщений: 437
    • Просмотр профиля
...
1) в Винде ограничение на 255 символов в UTF-16
2) а в EXT4 ограничение на 255 байт, а каждый русский символ идет за ДВА байта (UTF-8)

Есть ли возможность где-то что-либо прописать и чтобы каждый русский символ принимался за 1 байт (ну или как-нибудь ещё, но чтобы хотя бы сравнять возможности с Виндой в данном направлении)? ...
UTF-16 - каждый символ кодируется 2-я байтами, полюбому.
Лажа какая то. ext гибче. тут хотябы гляньте - https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC#.D0.9E.D0.B3.D1.80.D0.B0.D0.BD.D0.B8.D1.87.D0.B5.D0.BD.D0.B8.D1.8F

Имена проблемных файлов покажи
« Последнее редактирование: 05 Июля 2016, 14:44:35 от staso »

Оффлайн Raf73

  • Активист
  • *
  • Сообщений: 740
    • Просмотр профиля
staso, почувствуй разницу:
1) в NTFS ограничение на 255 символов в UTF-16
2) а в EXT4 ограничение на 255 байт

 

Страница сгенерирована за 0.057 секунд. Запросов: 23.