Неожиданные трудности взаимодействия между Windows и Linux в части сетевых папок

Неожиданные трудности взаимодействия между Windows и Linux в части сетевых папок Windows, Полезное, Помощник, Программное обеспечение, Linux, Поиск файлов, Скриншот

Как-то понадобилось мне скопировать терабайтную папку на 500 000 файлов на сервер-хранилку. Из них около 100 файлов наотрез отказались копироваться — оказалось, Linux не нравится, что имя файла длинное. А с виду так и не скажешь. А дело вот в чем.

В отличии от Linux, лимитирующей длину имен файлов и папок 255-ю байтами (файловая система ext4 и подобные), Windows в своей файловой системе NTFS ограничивает имена 255-ю двухбайтовыми символами в кодировке UTF-16. Набранные кириллицей имена в Windows могут быть длиной до 255 знаков, что невозможно в Linux, так как каждый символ кириллицы тоже будет занимать по два байта (в этой ОС обычно применяется кодировка UTF-8), быстро исчерпывая лимит.

Делюсь с вами написанной мною программой FindLongFilenamesLinux, которая и предназначена для поиска и переименования таких файлов и папок с именами, превышающими лимит, которые невозможно скопировать из Windows на NAS на основе Linux (с файловой системой ext4 и подобными). Мне это оказалось удобнее, чем каждый раз пробегаться по некопируемым файлам через Total Commander. Хотя тут кому как, лично мне не жаль было потратить на написание программы пару часов, зная, что подобная задачка с файлами встрянет еще не раз)

Для запуска программы требуется компонент .NET Framework 4.8+ (в актуальных билдах Win10/11 стоит по умолчанию, в Win7/8 устанавливается автоматически вместе с обновлениями).

Программа (Assets->FindLongFilenamesLinux.zip): https://github.com/carpediem-av/FindLongFilenamesLinux/releases

Исходный код (C#): https://github.com/carpediem-av/FindLongFilenamesLinux

Сайт автора: http://carpediem.0fees.us

Программы и Браузеры

484 поста5K подписчик

Добавить пост

Правила сообщества

-Ставьте наши теги, если Ваш пост о программе, приложении или браузере(в том числе о расширениях, дополнениях в нему), его недоработке, баге, обновлении. Это может быть пост - обзор или отзыв.

-При возникновении споров относитесь с уважением друг к другу, а так же приводите аргументы.

Разрешено всё, что не запрещено правилами Пикабу.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

*Открывает в тотал командере в левой панели виндовую машину с длинными именами.  В правой линуксовый сервер. Нажимает сделать архив из файлов в левой панели в правой панели. Наблюдает, как архив заливается на сервер со скоростью сети. Заходит в созданный архив тоталом. Видит все. Работает как с папкой.*


Коменты, прежде, чем написать, почитал.

раскрыть ветку (5)
Автор поста оценил этот комментарий

Для себя можно. У меня еще и юзеры были. Они хотят просто файлы без архивов. Их хотелки более чем обоснованы, мы - админы - работаем на юзеров, а не наоборот. Ну и потом, я уже ловил баг на сетевушке е1000 - архив побился и много файлов не пожелали распаковаться. Но это к слову, так-то очень редко все-таки бывает.

раскрыть ветку (4)
Автор поста оценил этот комментарий

Так для них и делается. Если у них дефолтово убраны расширения в винде, они даже не увидят, что это архив. Бьются архивы чаще всего на одиночных дисках. Поэтому делаются с информацией для восстановления.

раскрыть ветку (3)
Автор поста оценил этот комментарий

Им еще и писать надо, файлы туда-сюда перетаскивать. Как быстро Тотал на лету перепаковывает терабайтные архивы? Я уже молчу, сколько открывается архив с таким кол-вом файлов, что в нем, что в винраре)

раскрыть ветку (2)
Автор поста оценил этот комментарий

Если писать, то да, не вариант. Но это немного странный бэкап получается.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я не говорил, что это бэкап. Обычный рабочий набор данных, который был на внешнем харде, но понадобился множественный доступ, пришлось мигрировать на NAS.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку