利用FUSE编写自定义的文件系统
FUSE--用户空间文件系统(Filesystem in Userspace),具体可以度娘,反正是简化了自定义文件系统的复杂度,可以更方便地利用自定义文件系统做一些事情。
一、使用 Python 编写一个 FUSE 文件系统
https://www.oschina.net/translate/python-fuse-filesystem
感觉用Python写一个FUSE文件系统挺简单的。
1.安装fuse的python库
pip3 install fusepy
2.编写后发现python的fuse性能过低,且文件打开还可能存在编码问题,实际可用度低。且python实现的fuse和overlay配合(fuse上面套overlay)有问题,具体原因不明。
二、C++版本fuse
1.下载libfuse-master源码,里面带了一个简易fuse模板passthrough,后面可以基于它进行修改。
链接:https://github.com/libfuse/libfuse
2.编译环境搭建
pip3 install meson
apt-get install ninja-build
3.编译
meson builder
cd builder
ninja
4.使用方式
./passthrough --src=/root/dzqabc/org /root/dzq/new 自定义的参数 -o ro -d
-d参数可以保持程序前台进行调试打印,-o ro可以限定挂在后访问方式,这样也省掉了实现写操作相关接口。