FUSE#
FUSE это модуль ядра, который позволяет создавать в юзерспейсе файловые системы.
Ссылки:
FUSE (модуль ядра) (Вики)
FUSE (другая русскоязычная статья)
SSHFS#
Ссылки:
Очень удобная ФС, позволяет монтировать удалённую ФС без всякого вмешательства на удалённый сервер. При этом работает весьма шустро. На самом деле операции с файлами делаются поверх SFTP. Пример монтирования ФС:
sudo sshfs root@opipc.localdomain:/mnt /mnt/storage -o allow_other,default_permissions,IdentityFile=/home/gd/.ssh/opipc_rsa -o uid=1000 -o gid=1000
Размонтировать можно через fusermount:
fusermount -u /mnt/storage
umount /mnt/storage
тоже ок, но в некоторых случаях не сработает:
https://askubuntu.com/a/1046832
S3FS#
ФС позволяет примонтировать бакет S3-совместимого хранилища как каталог. Скорость работы невысокая, может тормозить листинг файлов.
Вот хорошая статья про s3fs с упоминанием его ограничений: https://www.scaleway.com/en/docs/tutorials/object-storage-s3fs/ (копия).
Для начала работы создаём файл с реквизитами в формате
access_key:secret_key
, например, ~/.passwd-s3fs (имя неважно) и
запрещаем его читать всем, кроме владельца. Далее монтируем:
s3fs bucket /mnt -o url=https://s3.nl-ams.scw.cloud/,dbglevel=info,curldbg=body -o passwd_file=${HOME}/.passwd-s3fs-scw
Или в /etc/fstab:
s3fs#bucket /mnt/s3 fuse _netdev,allow_other,url=https://s3.nl-ams.scw.cloud,passwd_file=/root/.passwd-s3fs 0 0
Здесь bucket заменить на имя бакета. Если хранилище не поддерживает
virtual-hosted style адресации бакетов, то нужно добавить опцию
use_path_request_style
.
Сборка s3fs из исходных кодов на Ubuntu 20.04:
apt install build-essential automake libcurl4-openssl-dev libxml2-dev pkg-config libssl-dev libfuse-dev git
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-fuse
./autogen.sh
./configure
make
make install
GOOFS#
Это ещё одна реализация файловой системы для S3-совместимых хранилищ — https://github.com/kahing/goofys
ФС написана на Golang. Документации нет, но должны работать общие конвенции для ФС FUSE. Если по каким-то причинам с s3fs совсем ничего не получается, то можно прибегнуть к этой реализации.
DAVFS#
WebDAV. По скорости работы сравним с s3fs.
Ссылки:
На сервер надо доставить непосредственно сам пакет davfs2, после чего поковыряться в нескольких конфигах.
Если мы работаем с Mail.ru, то надо поправить в /etc/davfs2/davfs2.conf:
use_locks 0
/etc/davfs2/secrets:
# Тут даные для авторизации в формате: <[schema]://host[:port]/[path]> <user> <password>
https://webdav.mail.ru xxxxxxxx@mail.ru 8wATE1q48BQk0TRGB6vJ
Если опять таки работаем с Mail.ru, то он просит добавить специальный пароль для «стороннего приложения» по ссылке https://e.mail.ru/settings/2-step-auth (документация: https://help.mail.ru/mail/security/protection/external). Этот специальный пароль и нужно здесь указывать.
/etc/fstab:
https://webdav.mail.ru /mnt/webdav davfs uid=1000,gid=1000,user,rw,noauto 0 0
После этого монтировать можно просто командой mount /mnt/webdav
.
CurlFtpFS#
По названию можно догадаться, что эта ФС позволяет монтировать FTP-хранилища и работает через libcurl. На практике пока использовать не приходилось, но выглядит интересно. Поддерживается подключение через SOCKS-прокси и SSL.