![将存档安装为只读目录的内核模块是个好主意吗?](https://linux22.com/image/188146/%E5%B0%86%E5%AD%98%E6%A1%A3%E5%AE%89%E8%A3%85%E4%B8%BA%E5%8F%AA%E8%AF%BB%E7%9B%AE%E5%BD%95%E7%9A%84%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97%E6%98%AF%E4%B8%AA%E5%A5%BD%E4%B8%BB%E6%84%8F%E5%90%97%EF%BC%9F.png)
最近我想知道为什么Linux系统上安装的程序只是在系统路径内提取的档案,而不只是作为只读入口点安装的档案。
据我了解,Android apk 文件是打开应用程序时实时安装的档案,那么为什么在其他基于 Linux 的系统(例如桌面或服务器操作系统)下没有类似的内容呢?
最近我参加了一个 Linux 内核编程课程,我认为实现一个使用给定档案自动创建挂载点的模块可能是一个很酷的想法,但我猜是否有人以前想过这个想法以及为什么这个想法可能被丢弃。就我个人而言,我没有发现任何有用的东西。
有人对这个主题有一些信息或提示吗?
答案1
fuse-zip
已经将其实现为 ZIP 文件的 FUSE 模块,并且archivemount
存在于 tarball(或者甚至是由 所支持的任何东西libarchive
)。这两个甚至都实现了写入。
据我所知,内核本身没有任何类似的东西;内核中有相关的代码片段,例如为了解压,所以在内核中实现这些可能并不是那么复杂——但是在保持对存档文件本身的访问和避免竞争方面会存在一些问题需要处理。 FUSE 会为您解决这个问题。