RPi, Linux, fuse

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

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

За сим все.
  • 0

Комментарии (1)

комментарий был удален
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.