概述
afuse 是一個用户態文件系統,它使用 FUSE(Filesystem in Userspace)框架來實現自動化掛載。FUSE 允許用户態程序提供文件系統的功能,而不需要修改內核代碼。afuse 特別適用於實現自動化掛載器,它可以在用户訪問特定的虛擬目錄時自動掛載遠程文件系統。afuse 完全在用户態運行,這意味着它可以利用用户的安全和環境設置,例如使用 ssh-agent 進行無密碼 SSH 連接,afuse 可以自動掛載用户定義的遠程文件系統。當用户嘗試訪問一個特定的掛載點時,afuse 會根據預設的模板自動執行掛載命令。通過使用 mount_template 和 unmount_template 選項,用户可以定義掛載和卸載遠程文件系統的命令模板。這些模板支持佔位符,如 %r(遠程路徑)和 %m(本地掛載點路徑),afuse 會自動替換這些佔位符。安裝準備
- 操作系統環境
版本信息:KeyarchOS 5.8sp2
硬件平台:AArch
- afuse版本
版本號:afuse-0.4.1-3
GitHub地址:https://github.com/pcarrier/afuse 廠商名稱:開源項目 - sshfs版本
版本號:sshfs-2.8-7.0.1.kos5
來源:KOS源
- 安裝
- 安裝sshfs
直接yum源安裝即可
yum install sshfs
- 安裝afuse-0.4.1-3
- 下載源碼包
下載地址:阿里雲鏡像源地址:
- 上傳至服務器並安裝
安裝依賴yum install -y fuse-devel
使用rpm命令安裝src.rpm包
rpm -i afuse-0.4.1-3.el7.src.rpm
進入SPECS目錄
cd /root/rpmbuild/SPECS/
編譯源代碼
rpmbuild -bb afuse.spec
安裝編譯後的軟件
rpm -ivh /root/rpmbuild/RPMS/aarch64/afuse-0.4.1-3.kos5.aarch64.rpm
- 查詢afuse版本
查看afuse版本
afuse -V ---輸出fuse框架版本
- 驗證afuse-0.4.1-3
- 創建掛載點
mkdir -p /local/mount/point
2、使用afuse配置自動掛載和卸載模板
afuse -o mount_template="sshfs %r:/ %m" \ -o unmount_template="fusermount -u -z %m" \ /local/mount/point/
%r 和 %m 的值是在 afuse 嘗試掛載遠程文件系統時動態生成的。當嘗試訪問 /local/mount/point/ 目錄下的某個路徑時,afuse 會根據該路徑自動填充 %r 和 %m 的值
- 使用訪問模式通過掛載點訪問遠程服務器上的目錄
例如,如果嘗試訪問 /local/mount/point/root@ip/,afuse 會將 %r 替換為 root@ip,將 %m 替換為 /local/mount/point/root@ip/,並執行相應的 sshfs 命令來掛載遠程文件系統
ls /local/mount/point/root@ip/
- 卸載不需要掛載的文件系統
fusermount -u -z /local/mount/point/
ls /local/mount/point/root@ip/home/tester/hdj
卸載後再查看遠程服務器上的目錄無返回結果無法查看