【问题标题】:find out fuses mountpoints on android找出 android 上的保险丝挂载点
【发布时间】:2014-02-06 18:24:04
【问题描述】:

我正在开发 dSploit 应用程序的 gentoo 提取器,但我发现了一个问题。

现在用户可以为 gentoo 根目录选择一个自定义目录, 我们必须确保我们可以在该文件夹中创建符号链接。

从 android 4.2 及以上版本开始,存储基础设施使用 FUSE。 创建安装 ext FS 的符号链接就可以了。 创建安装 FUSE 的符号链接将失败。

root@mako:/ # ln -s /system /storage/emulated/0/gentoo/test
link failed Function not implemented
root@mako:/ # ln -s /system /data/media/0/gentoo/test

发生这种情况是因为/storage/emulated/0/data/media/0 的保险丝绑定安装。

我认为解决方案是找到安装的位置和方式。

如何获得 FUSE 支架? /proc/mount 将显示 /dev/fuse 作为源块设备。

我需要说一些话:

source destination
/data/media/0 /storage/emulated/0

为了将/storage/emulated/0 替换为/data/media/0 并让符号链接正常工作。

提前感谢您的任何帮助和建议。

-- tux_mind

【问题讨论】:

    标签: android symlink fuse


    【解决方案1】:

    我找到了一种解决方法/黑客来列出它们。

    当您在挂载点打开文件时,fuse FS 处理程序也会打开它。

    我使用了这些信息并编写了一个使用 proc 查找源目录的小型 C 程序。

    如果您有兴趣,project is hosted on github

    问候,tux_mind。

    【讨论】:

      【解决方案2】:

      我使用的方式是绑定挂载而不是符号链接

      1. 复制而不是删除,因为mv 无法跨文件系统工作

        cp -a /sdcard/DCIM /Removable/MicroSD/DCIM
        rm -r /sdcard/DCIM
        
      2. 创建一个挂载点DCIM绑定到SD卡上。

        mkdir /sdcard/DCIM
        
      3. 最后绑定挂载:

        mount -o bind /Removable/MicroSD/DCIM /sdcard/DCIM
        

      这工作正常,但在重新启动时,你将不得不重新安装你的绑定

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-14
        • 2014-10-22
        • 1970-01-01
        • 2019-06-09
        • 2014-04-19
        • 2014-07-28
        • 1970-01-01
        • 2016-06-08
        相关资源
        最近更新 更多