Присоединяйтесь!
Авторизация

RPi, Linux, fuse

15 July 2016 - Автор nwnclv

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

И снова велосипед, который написал, скорее, для своего удобства. Понадобилось писать скриптик для одного девайса, заливать на девайс и запускать там на исполнение. Заливать по 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 у нас корень устройства. Можно даже можно слушать музыку и менять теги в файлах.

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

Или получить доступ к sysfs

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

За сим все.

15 July 2016
nwnclv
автор статьи

Комментариев: 1

  1. Ferilde

    12 August 2016 - Ответить

    Спасибо за информацию

Отправить комментарий

Авторизуйтесь для отправки комментария

Присоединяйтесь
Новые сообщения