如何创建一个 "fake filesystem" 将系统调用转发到我的程序?
How to create a "fake filesystem" that forwards system calls to my program?
我想写一个工具,可以用来将 tar、tgz、zip、7z 等存档文件挂载到某个目录,只要它是 运行,例如然后我可以用我想要的任何文件管理器打开它。
为此,我需要以某种方式制作一个假文件系统,将打开和读取文件等系统调用转发到我的程序。我该怎么做?我是否必须制作自己的文件系统驱动程序,或者是否已经存在相应的库?
原则上,FUSE 就是您要查找的内容。您正在寻找的存档安装的一种实现 is/was archive mount
,但我不确定它的维护情况如何。
你的问题很笼统。我假设您想使用 Python 编写程序,因为我会这样做。
选择语言,现在我们需要寻找某人做类似事情的例子。 Github 可以解决问题:
N.B。 Wikifs 至少是实验性的,但脚本很短,服务器也很完美。
对于 python 最流行的库是 fuse-python.
祝黑客愉快
您想编写一个 FUSE 文件系统。这篇文章中有解释,python中有一个例子:https://thepythoncorner.com/dev/writing-a-fuse-filesystem-in-python/
不需要称这个为“假文件系统”,因为对于linux一切都可以是一个文件,所以你只写一个“文件系统”。
我想写一个工具,可以用来将 tar、tgz、zip、7z 等存档文件挂载到某个目录,只要它是 运行,例如然后我可以用我想要的任何文件管理器打开它。
为此,我需要以某种方式制作一个假文件系统,将打开和读取文件等系统调用转发到我的程序。我该怎么做?我是否必须制作自己的文件系统驱动程序,或者是否已经存在相应的库?
FUSE 就是您要查找的内容。您正在寻找的存档安装的一种实现 is/was archive mount
,但我不确定它的维护情况如何。
你的问题很笼统。我假设您想使用 Python 编写程序,因为我会这样做。
选择语言,现在我们需要寻找某人做类似事情的例子。 Github 可以解决问题:
N.B。 Wikifs 至少是实验性的,但脚本很短,服务器也很完美。
对于 python 最流行的库是 fuse-python.
祝黑客愉快
您想编写一个 FUSE 文件系统。这篇文章中有解释,python中有一个例子:https://thepythoncorner.com/dev/writing-a-fuse-filesystem-in-python/
不需要称这个为“假文件系统”,因为对于linux一切都可以是一个文件,所以你只写一个“文件系统”。