FUSE--使用者空間檔案系統(Filesystem in Userspace),具體可以度娘,反正是簡化了自定義檔案系統的複雜度,可以更友善地利用自定義檔案系統做一些事情。
一、使用 Python 編寫一個 FUSE 檔案系統
感覺用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可以限定挂在後通路方式,這樣也省掉了實作寫操作相關接口。