Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
  1. Главная
  2. Блоги сообщества Raspberry Pi
  3. RPi, Linux, fuse

RPi, Linux, fuse

Запланировано Прикреплена Закрыта Перенесена Блоги сообщества Raspberry Pi
1 Сообщения 1 Posters 33 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • piP Не в сети
    piP Не в сети
    pi
    написал в отредактировано pi
    #1

    И снова здравствуйте!

    И снова велосипед, который написал, скорее, для своего удобства. Понадобилось писать скриптик для одного девайса, заливать на девайс и запускать там на исполнение. Заливать по ssh надоело и решил я это исправить. У меня уже есть один лисапед, который называется ferro_remote, который я описывал тут. Собссно решил накидать fuse клиента, чтоб беспрепятственно монтировать устройство типа малины в локальную систему. Про всякие sshfs я тоже вкурсе, но это ж не наш метод ...

    Собссно ничего сверх сложного нет. Просто еще один клиент, который использует протокол ferro_remote и монтирует удаленую FS в локальную директорию. Называл его fuse_client (тада! внезапно). Исходники, как обычно лежат тут. Собранные бинарник агента (серверная часть) и клиента для Rpi можно взять тут. Могу собрать для ubuntu x64 и то и другое, если кому надо будет.

    Клиент поддерживает большинство необходимых операций для работы с файлами и каталогами и может работать практически (исключение - это character devices) с любым удаленным файлом, как с локальным.

    Подразумевая, что агент у нас запущен на девайсе с адресом 192.168.1.11 и портом 12345, можно замапить это устройство локально (можно соединить так же 2 малины, или 2 любых линукса).

    • не следует, однако, мапить устройство само на себя, чревато дедлоками 🙂
    > ./frfuse_client -s 192.168.1.11:12345 -m /home/data/fuse/ -f -d 
    FUSE library version: 2.9.4
    nullpath_ok: 0
    

    .....
    тут

    -m /home/data/fuse/ - локальный путь, куда нужно мапить устройсто. Директория должна быть пустой.

    -f- оставаться в foreground и не уходить в демона. Остановить клиента можно будет по Ctrl+C. Без этого параметра клиент станет демоном и остановить его можно будет командой

    fusermount -u /home/data/fuse/
    -d - писать лог в консоль. Без параметра -f не имеет смысла.

    Все.

    Теперь в директории /home/data/fuse у нас корень устройства. Можно даже можно слушать музыку и менять теги в файлах.

    Можно скопировать туда что-нить

    b556a5b7-b031-4a46-a6b8-1a2165c7bb27-image.png

    Или получить доступ к sysfs
    848713a0-bbd7-4215-ab69-8238b2a613f4-image.png

    Еще есть поддержка базовой аутентификации (ключ --key у агента и клиента)

    За сим все.

    1 ответ Последний ответ
    0

    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Login or register to search.
    • Первое сообщение
      Последнее сообщение
    0
    • Категории
    • Главная
    • Документация
    • Последние
    • Пользователи