IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [144]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [512]
    Видеорегистраторы [188]
    Гаджеты для спорта и здоровья... [191]
    Гаджеты, аксессуары... [627]
    Измерительная техника, инструменты [446]
    Накопители данных [233]
    Нетбуки, Ноутбуки, Ультрабуки [691]
    Мультиварки, блендеры и не только... [164]
    Планшеты [764]
    Радар-детекторы [26]
    Роботы-пылесосы [40]
    Своими руками [366]
    Сети, сетевые технологии, оборудование... [273]
    Смартфоны [4963]
    Фотокамеры, объективы, искусство фотографии.. [541]
    Умный дом [53]
    Электронные книги [102]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [109]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3983]
    mini computers и не только... [412]
    News IT, Это интересно, ликбез... [1121]
    Smart TV, UltraHD, приставки, проекторы... [416]
    Smart Watch [269]
    Sound: наушники, плееры, усилители... [619]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 180
    Гостей: 180
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2015 » Ноябрь » 15 » Samba и запрещенные символы
    11:10
    Samba и запрещенные символы

    Samba и запрещенные символы

    Samba (самба) под Linux. Этот удивительный софт подарил линуксоидам возможность связи с миром Windows.
    Помню то дивное чувство, когда в локальной сети появился мой первый самба-сервер. Эх, было время!

    Но пост не об этом. Не по наслышке знаю, что многих раздражает ограниченная поддержка спец.символов в Windows. Но ведь это не повод отказываться от них, не так ли?

    image

    Подробности моих злоключений и (почти) счастливый финал под катом. Приступим!

    Я увлекаюсь коллекционированием фильмов. Вначале они помещались на один диск и это было просто. Потом дисков стало больше, помогали бумажки и Excel. Но всему хорошему приходит конец и пришлось задуматься о создании полноценной базы данных. Одним из следствий такой разработки появились виртуальные папки/списки фильмов.

    Позволю себе лирическое отступление. У самбы есть одна прекрасная фишка — работа с симлинками. И если эти симлинки не ведут на доступный ресурс, то они не видны. Это позволяет иметь директорию (и не одну), в которой каждая позиция, это симлинк на конкретное хранилище. Если диск подключен, то симлинк отображается как доступная директория. Если нет — то директория не отображается вовсе. По этой причине (а также по иным, не имеющим отношения к теме) уже много лет используется самба и подобные папки (видны как в плеерах, Windows, так и на линукс клиентах).

    Однако эту идиллию разрушает то, что наличие, например, двоеточия, превращает прекрасную папку вида (здесь я намеренно вставил двоеточие, позже объясню почему выбран именно этот фильм): 2008 — Вавилон Н.Э. — Babylon: A.D. в такую: 2NIQRO~7
     

    Что же делать?


    Вначале я ошибочно смотрел в сторону опции монтирования mapchars. Но она на самом деле ничего не решала, причем она дополнительно могла приводить к странным именам файлов.

    Я понимал что нужно искать что-то, что сможет заменять названия файлов на лету. Значит нужна автоподстановка. Но таких модулей все никак не находилось, либо они работали не так, как хотелось бы. За время поисков третья версия самбы стала стабильной. А в ней появились т.н. Stackable VFS modules, т.е. модули виртуальной файловой системы. Это было то, что я искал!

    Однако нужного мне модуля все не находилось. Версия самбы из третьей превратилась в четвертую и я был близок к тому чтобы попытаться написать модуль самому (хотя знаком с системным программированием только отдаленно). Но непрекращающиеся поиски привели меня к модулю vfs_catia, который был создан для решения проблем с Catia CAD, также создающей названия с запрещенными символами, но делал именно то, что и требовалось. Полная его функциональность раскрывается с версии самбы 3.5.0 и далее. Я тестировал на версиях 4.1.x довольно продолжительное время.

    Дальнейшее было делом техники. Используемая мной система — Debian — уже имеет пакет samba-vfs-modules, содержащий данный плагин. Он был установлен и настроена замена нелегальных символов их аналогами (конфиг файл: /etc/samba/smb.conf, секция [global]):
     

    # 002: maps illegal symbols
    # vfs_catia, removed default translations: 0x20:0xb1
    # vfs_catia, list of special characters:
    # Unix & replacement chars:
    # 0x22: " 0xa8: ¨
    # 0x2a: * 0xa4: ¤
    # 0x2f: / 0xf8: ø (forbidden range, should never exists in names)
    # 0x3a: : 0xf7: ÷
    # 0x3c: < 0xab: «
    # 0x3e: > 0xbb: »
    # 0x3f: ? 0xbf: ¿
    # 0x5c: \ 0xff: ÿ (forbidden range)
    # 0x7c: | 0xa6: ¦
    # 0x20: 0xb1: ±
    vfs objects = catia
    catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
    



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

    Счастливый финал


    После добавления кода перегружаем демона самбы и магия в действии:
    2015 — Терминатор÷ Генезис — Terminator Genisys

    Стоит отметить что замены работают в обоих направлениях, т.е. работа с одним и тем же файлом идет прозрачно и без порчи оригинального имени в системе. Хотя если постараться, то можно, меняя, символ на один из обычных. Но в моем примере такого нет.

    Теперь напомню почему в качестве первого примера я выбрал фильм Вавилон Н.Э… Дело в том, что точка в конце названия файла или директории в файловой системе Windows недопустима. Поэтому-то 2008 — Вавилон Н.Э. — Babylon A.D. все равно показывается как 2XJW59~H
    Это и есть та самая ложка дёгтя, в большой бочке мёда. Пока я не знаю как заменить точку в конце, а не все точки подряд и буду благодарен всем, кто откликнется и поможет закрыть последний элемент мозаики.

    Спасибо за внимание и да пребудет с вами Сила!

    http://habrahabr.ru/post/270877/

    Категория: Linux и не только | Просмотров: 573 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024