无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 86037|回复: 274
打印 上一主题 下一主题

[分享] 总结安卓手机挂载NFS与SMB的各种软件 含apk

    [复制链接]
跳转到指定楼层
#
发表于 2020-2-28 03:03:43 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 510819776 于 2022-4-11 16:24 编辑

网络共享文件系统比较突出的就是windows的SMB协议与linux的NFS协议
但是一般的手机部分内核编译了cifs支持功能 使用命令mount -t cifs -o username=“”,password="" //192.168.1.1/sda /mnt/cifs即可挂载win10的共享
如果是nfs共享,好像很多手机都没有编译这个功能
挂载方式为mount -t nfs -o vers=3 192.168.1.1:/mnt/sda /mnt/sda这个命令就行了
但是很多手机肯定是没有smb与nfs内核支持的,这个时候想手机挂载nfs或smb,方便各路软件使用就变得困难了。
本人经过长时间的研究现在总结出了安卓手机非内核模式挂载smb与nfs的方法
软件就是
1.开源的fuse-nfs 此软件可以很容易的编译为安卓版本,只要内核支持fuse功能就可以使用
支持挂载nfs v3 v4.1 性能马马虎虎吧 5G 433MBPS的网络坏境 纯读取速度在16M/s的样子,如果是满速下载是25M每秒,无线带宽会减半
使用命令为fuse-nfs -n nfs://192.168.1.1/nfs?if=wlan0 -a -u 1023 -g 1023 -U 0777 -m /mnt/nfs -t 1
需要注意挂载用的目录权限一定要给满
-t参数是使用多线程
这里面的挂载参数各位根据需要设置,这里设置好了之后,各种软件都可以正常读写,完全是一个无线硬盘的状态
第二个软件是fusr  
https://github.com/facebookarchive/nfusr
我测试这个不太稳定,从bin.entware.net里面提取的。
第三个软件是debian里面的gvfsd-nfs 这个软件我在安卓上跑起来了 安卓5.0  与 安卓7.1.2都可以正常挂载命令是dbus-launch mount nfs://192.168.1.1:/mnt/sda
效率还行  
以上是挂载nfs的安卓软件,都是采用fuse模块功能实现,安卓4.4或安卓4.4以上系统原则上都能使用。
接下载说一下挂载smb v2/v3的软件
1.就是debian里面的gvfsd-smb这个工具,原理也是fuse
效率还可以。安卓上完全可用,挂载方式为
sudo -i
dbus-launch gvfs-mount smb://192.168.1.1/sda
不过呢gvfsd的权限一定要修改正确,这个权限修改方法,其守护进程是gvfsd-fuse
大家可以把gvfsd-fuse改名gvfsd-fuse.0 然后新建文本文件名为gvfsd-fuse  内容为
/usr/lib/gvfs/gvfsd-fuse -o allow_other,default_permissions,uid=1023,uid=1023,umask=777  $@
然后给足权限,  这里面的参数根据需要调整 然后就是挂载在/root/.gvfs下面
大家需要把.gvfs文件夹包括他的所有上级文件夹权限都给满,这样的话各种第三方软件都可以读写这个里面的文件里,想挂载到别的目录可以用mount -o bind /root/.gvfs/* /mnt/smb这样的方式实现


好了就分享到这里了
以上方法挂载后 其他软件都可以正常使用,效果就等同于一张扩展的tf卡,无线硬盘





最后提一下 有一个安卓上的smb客户端,用纯java写的,但是读取smb v2的性能真的不错,备忘 File Manager Pro+



先发图 哈哈

               



               











gvfsd-nfs可以从arm64的archlinux里面提取出来,gvfsd这个工具包含了很多fuse模式下的挂载客户端。
我提取出gvfsd-nfs与gvfsd-smb后打包看了一下 30M 容量
感觉很好用 nfsmount_sign.apk.zip (1.4 MB, 下载次数: 295)

这是自己写的一个简陋的安卓apk外壳
适用于aarch64/arm64/armv8a构架的安卓系统
一般是安卓5.0或以上都能用

另一个软件比较大 是自己提取的gvfsd-smb与gvfsd-nfs
主要是挂载smb用
apk是30M
下载后先用cmd命令  ren *.zip *.  去掉zip这个后缀名
然后用7zip 点击001这个文件解压得到apk文件
我在安卓7.1.2上测试正常
需要注意 这个软件需要busybox与jackpal.androidterm jackpal.androidterm.apk.zip (551.44 KB, 下载次数: 174) 去掉后缀名.zip(也就是终端模拟器配合使用)
同样是支持aarch64/arm64/armv8a 安卓5.0或以上版本可用

smbmount_sign.zip.016.zip (1.15 MB, 下载次数: 295)


smbmount_sign.zip.015.zip (1.91 MB, 下载次数: 218)


smbmount_sign.zip.014.zip (1.91 MB, 下载次数: 190)

smbmount_sign.zip.013.zip (1.91 MB, 下载次数: 263)

smbmount_sign.zip.012.zip (1.91 MB, 下载次数: 188)


smbmount_sign.zip.011.zip (1.91 MB, 下载次数: 185)


smbmount_sign.zip.010.zip (1.91 MB, 下载次数: 269)


smbmount_sign.zip.009.zip (1.91 MB, 下载次数: 198)

smbmount_sign.zip.008.zip (1.91 MB, 下载次数: 185)

smbmount_sign.zip.007.zip (1.91 MB, 下载次数: 242)

smbmount_sign.zip.006.zip (1.91 MB, 下载次数: 316)

smbmount_sign.zip.005.zip (1.91 MB, 下载次数: 178)

smbmount_sign.zip.004.zip (1.91 MB, 下载次数: 313)

smbmount_sign.zip.003.zip (1.91 MB, 下载次数: 201)

smbmount_sign.zip.002.zip (1.91 MB, 下载次数: 244)

smbmount_sign.zip.001.zip (1.91 MB, 下载次数: 221)




最后做一点补充,是给那些软件无法正常工作的同学提醒一下.
apk文件解压可以得到m1 这是一个fuse模式挂载squashfs文件的arm程序
gvfs 这个文件 20多兆币 就是squashfs的压缩包,可以用m1程序挂载到手机/usr目录下
如果你的手机运行有问题,


一 . 请查看一下手机/usr下面有没有文件,正常是有sbin bin etc lib等目录的


二 . 然后还要看一下手机/lib下面有没有很多.so的文件    没有就手动从gvfs压缩包中拷贝过去  注意权限就行了


三 . 最后就是/usr/etc下面有几个文件,拷贝到手机/etc/下面


当然 如果会做magisk模块 完全可以把这个东西做成magisk模块使用


理论上这个东西 完全不依赖安卓的api 只是依赖安卓的linux内核 应该不存在兼容问题


最后说一下 我对性能方面的测试
手机开usb热点连接电脑,被电脑识别为无线网卡
然后电脑win10系统 开了一个共享 设置了密码的那种 手机直接挂载了一下
然后用time busybox dd命令写入了一个512M的文件到电脑上 速度还不错 平均速度达到了14m/s  这个速度应该能满足一些日常普通使用了
手机也是老古董了 配置是晓龙615 能有这个性能 我也不想说什么了.
最后的最后补充一下 参数的填写问题
default_permissions,allow_other,umask=000 这样最好了  实际使用中uid gid参数挂载是不生效的
挂载点为了兼容性考虑,让所有apk都能正常使用,建议填写/data/media/0/xxx  这个路径
然后这个路径下系统会通过几轮fuse驱动过滤后呈现为/sdcard/xxx 文件夹  这个时候的权限就会变得正常了















评分

参与人数 8无忧币 +20 收起 理由
lbw2007 + 5 很给力!
ywxdxd + 1 很给力!
2010hook + 5 有技术
962791913 + 5 神马都是浮云
sanniu + 1
wwnjcn + 1
来得子 + 1
SPDPK + 1 淡定

查看全部评分

268#
 楼主| 发表于 2023-6-30 21:44:35 | 只看该作者
Rr54Yra 发表于 2023-6-30 00:14
用patchelf(github/NixOS/patchelf) 换成linux depoly里的链接器就更诡异了,链接不上存在的so

我自己用sed -i 's@xxxx/yyyy@dddd/eeee@g' 这种命令直接替换里面的路径就行了。   patchelf以前用过,惨败。
我新发布的版本路径改成/data/zl了
如果是弄成面具模块,直接一个软链接到/data/zl就能用了
使用也很简单
PATH=/data/zl
dbus-launch gio mount -a smb://192.168.9.1/a 就行了
挂载点的话,安卓12有点特殊 不再是/data/media/0/xxx了  
可以用/mnt/pass_through/0/emulated/0/xxx
实测安卓12   真我gt neo2 骁龙870手机  挂载到这里后  无root权限的视频播放器可正常播放视频,也能删除 修改文件名
回复

使用道具 举报

267#
 楼主| 发表于 2023-6-30 21:17:10 | 只看该作者
Rr54Yra 发表于 2023-6-30 00:09
Android13下glibc裂了(aarch64-linux-gnu-glibc-2.37-1,arch官方库)
不知道是Android13的问题还是glibc版 ...

安卓13 我还不想升级 太新了 各种兼容问题
我测试安卓12 是没问题的。
还有就是  这个版本必须在根目录新建/usr /lib  这样的文件夹  所以已经被我废弃了   你可以看看我的其他帖子 有修正路径的版本
不再需要根目录下弄/usr /lib了
另外挂载位置 安卓10 和安卓12是不一样的 安卓13不知道情况
你这个错误大约是因为 没有弄/usr /lib到根目录
而且 现在的安卓都是根目录只读 无法修改了 请用新版吧
回复

使用道具 举报

266#
 楼主| 发表于 2023-6-30 21:12:15 | 只看该作者
feiwuyiming 发表于 2023-3-3 00:34
为什么我挂载成功了,其他应用就是看不见呢,安卓9

这个挂载路径并非一定是/data/media/0/xxx  安卓5可以这样搞
安卓10 似乎路径就变了  安卓12也不一样  这个你自己要琢磨一下
回复

使用道具 举报

265#
发表于 2023-6-30 00:14:28 | 只看该作者
Rr54Yra 发表于 2023-6-30 00:09
Android13下glibc裂了(aarch64-linux-gnu-glibc-2.37-1,arch官方库)
不知道是Android13的问题还是glibc版 ...

用patchelf(github/NixOS/patchelf) 换成linux depoly里的链接器就更诡异了,链接不上存在的so

  1. /data/usr/bin# ./patchelf --set-rpath /data/usr/lib:/system/lib64:/system/lib /data/usr/bin/gio                                                                                                   <
  2. /data/usr/bin# ./patchelf --set-interpreter /data/usr/lib/ld-linux-aarch64.so.1 /data/usr/bin/gio
  3. /data/usr/bin# ldd /data/usr/bin/gio
  4.         linux-vdso.so.1 => [vdso] (0x75b36c4000)
  5. CANNOT LINK EXECUTABLE "linker64": library "libgmodule-2.0.so.0" not found: needed by /data/usr/lib/libgio-2.0.so.0.7600.3 in namespace (default)
  6. /data/usr/bin# ls -al //data/usr/lib/libgmodule-2.0.so.0
  7. lrwxrwxrwx 1 root root 26 2023-06-05 21:20 //data/usr/lib/libgmodule-2.0.so.0 -> libgmodule-2.0.so.0.7600.3
复制代码

点评

我自己用sed -i 's@xxxx/yyyy@dddd/eeee@g' 这种命令直接替换里面的路径就行了。 patchelf以前用过,惨败。 我新发布的版本路径改成/data/zl了 如果是弄成面具模块,直接一个软链接到/data/zl就能用了 使用也很  详情 回复 发表于 2023-6-30 21:44
回复

使用道具 举报

264#
发表于 2023-6-30 00:09:08 | 只看该作者
Android13下glibc裂了(aarch64-linux-gnu-glibc-2.37-1,arch官方库)
不知道是Android13的问题还是glibc版本的问题&#128514;

  1. /data/usr/bin # LD_LIBRARY_PATH=/data/usr/lib:/system/lib64:/system/lib ldd /data/usr/bin/gio
  2.         linux-vdso.so.1 => [vdso] (0x7eedb03000)
  3.         libgio-2.0.so.0 => /data/usr/lib/libgio-2.0.so.0.7600.3 (0x7ee8422000)
  4.         libglib-2.0.so.0 => /data/usr/lib/libglib-2.0.so.0.7600.3 (0x7ee6851000)
  5.         libgobject-2.0.so.0 => /data/usr/lib/libgobject-2.0.so.0.7600.3 (0x7eec6c1000)
  6.         libc.so.6 => /data/usr/lib/libc.so.6 (0x7eeba0f000)
  7. CANNOT LINK EXECUTABLE "linker64": cannot find verneed/verdef for version index=32770 referenced by symbol "_res" at "/data/usr/lib/libc.so.6"
复制代码



点评

安卓13 我还不想升级 太新了 各种兼容问题 我测试安卓12 是没问题的。 还有就是 这个版本必须在根目录新建/usr /lib 这样的文件夹 所以已经被我废弃了 你可以看看我的其他帖子 有修正路径的版本 不再需要根  详情 回复 发表于 2023-6-30 21:17
回复

使用道具 举报

263#
发表于 2023-6-10 07:42:01 | 只看该作者
谢谢分享               
回复

使用道具 举报

262#
发表于 2023-6-10 07:21:24 来自手机 | 只看该作者
2020年就有了吗,手机终于可以变成下载器了
回复

使用道具 举报

261#
发表于 2023-5-24 02:49:45 | 只看该作者
感谢楼主
回复

使用道具 举报

260#
发表于 2023-4-10 15:51:39 | 只看该作者
牛皮
回复

使用道具 举报

259#
发表于 2023-4-9 22:43:25 | 只看该作者
qaq
回复

使用道具 举报

258#
发表于 2023-4-9 22:43:12 | 只看该作者
awa
回复

使用道具 举报

257#
发表于 2023-4-6 01:35:06 来自手机 | 只看该作者
我试下
回复

使用道具 举报

256#
发表于 2023-4-6 01:35:05 来自手机 | 只看该作者
我试下
回复

使用道具 举报

255#
发表于 2023-4-6 01:35:05 来自手机 | 只看该作者
我试下
回复

使用道具 举报

254#
发表于 2023-4-6 01:35:03 来自手机 | 只看该作者
我试下
回复

使用道具 举报

253#
发表于 2023-4-6 01:35:01 来自手机 | 只看该作者
我试下
回复

使用道具 举报

252#
发表于 2023-4-4 12:54:14 | 只看该作者
感谢楼主
回复

使用道具 举报

251#
发表于 2023-3-27 12:06:01 | 只看该作者
差一个积分
回复

使用道具 举报

250#
发表于 2023-3-27 12:05:01 | 只看该作者
想要nfs,刷点积分
回复

使用道具 举报

249#
发表于 2023-3-26 23:44:25 | 只看该作者
现在这,基本没人玩了,好难搜到教程
回复

使用道具 举报

248#
发表于 2023-3-26 23:44:02 | 只看该作者
挖坟~闲着没事,研究研究
回复

使用道具 举报

247#
发表于 2023-3-15 01:56:18 | 只看该作者
手机必须安装乌班图吗
回复

使用道具 举报

246#
发表于 2023-3-3 00:40:27 | 只看该作者
已经挂载在/data/media/0/xxx这个目录了,但是其他APP还是看不到
回复

使用道具 举报

245#
发表于 2023-3-3 00:34:54 来自手机 | 只看该作者
为什么我挂载成功了,其他应用就是看不见呢,安卓9

点评

这个挂载路径并非一定是/data/media/0/xxx 安卓5可以这样搞 安卓10 似乎路径就变了 安卓12也不一样 这个你自己要琢磨一下  详情 回复 发表于 2023-6-30 21:12
回复

使用道具 举报

244#
发表于 2023-3-1 22:00:32 | 只看该作者
感谢楼主分享那么好的作品
回复

使用道具 举报

243#
发表于 2023-3-1 18:20:33 | 只看该作者
额 想下载但是没权限
回复

使用道具 举报

242#
发表于 2023-2-24 10:24:23 | 只看该作者
大佬厉害,mark一下,
回复

使用道具 举报

241#
发表于 2023-2-23 14:54:22 来自手机 | 只看该作者
л
回复

使用道具 举报

240#
发表于 2023-2-9 16:11:40 | 只看该作者
感谢楼主
回复

使用道具 举报

239#
发表于 2023-1-24 13:42:25 来自手机 | 只看该作者
这个在安卓系统的电视机上可以用吗,电视rom太小了,可以用来扩容就太好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-23 03:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表