BDFS 基于百度网盘的虚拟文件系统
由于百度网盘长时间没有Linux版本,刚没多久发布的Linux版本客户端Bug也很多,登录一次之后再也无法登录。我个人日常会有一些文档需要在家和公司来回倒腾很不方便,所以干脆就实现了这个文件系统,相当于本地多了块好几个T的云硬盘。在实现文件系统的各种功能中对逻辑和速度有一些取舍,而且百度的接口是HTTP的,所以大家对速度不要有太多的幻想,当然会员也会快很多。
/apps (/我的应用)
之外创建文件(创建文件实际上由上传接口抽象过来的,该接口无法上传至根目录),但是你可以操作移动,创建文件夹等操作, apps目录下会有其它的一些应用生成的文件夹,为了整洁的目录结构,我已将权限限制至 /apps/bdfs/
你在这个目录下拥有bdfs的所有权限。enum.py
中修改默认值。~/.bdfs
默认临时文件目录是 /tmp/.bdfs
读取过一次的文件和文件拷贝会在临时文件目录缓存或中转,重启后自动丢失。git clone https://github.com/smallcham/bdfs.git
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
参数 -i 指定为清华的源,因为国内连pypi实在太慢了sudo ln -s /项目路径/mnt.py /usr/bin/bdfs && sudo chmod +x /usr/bin/bdfs
bdfs mount 挂载路径
例如: bdfs mount ~/baidupan执行这些安装命令的时候可能会提示找不到libfuse.so库,遇到了不要紧张,使用命令
whereis libfuse
找到编译好的so
文件 如:libfuse3.so
,将其链接到提示找不到的目录就好了。
Q: 如何后台启动?
A: nohup bdfs mount 挂载路径 &
Q: 如何取消挂载?
A: bdfs umount 挂载路径
读、写、删除、重命名、移动、复制、创建文件夹、创建文件
权限(目前权限默认是755)
软链接(你可以从bdfs外部与bdfs建立软链接,内部软链接暂未实现)
1. 文件修改后回写正常,但是读取内容有问题,重新挂载后为正常修改后的值。
> 这个问题是由于百度网盘上传文件后文件的唯一标识会改变,与当前文件系统的整体的设计稍有冲突,该问题尚待解决。