无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 19474|回复: 128

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

    [复制链接]
发表于 2020-2-28 03:03:43 | 显示全部楼层 |阅读模式
本帖最后由 510819776 于 2020-3-17 23:54 编辑

网络共享文件系统比较突出的就是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+



先发图 哈哈

Screenshot_20200317-234843.png           Screenshot_20200317-234832.png       Screenshot_20200317-234716.png



Screenshot_20200317-234551.png       Screenshot_20200317-234538.png        Screenshot_20200309-193923.png   





Screenshot_20200309-194155.png





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

评分

参与人数 4无忧币 +4 收起 理由
sanniu + 1
wwnjcn + 1
来得子 + 1
SPDPK + 1 淡定

查看全部评分

发表于 2020-2-28 07:20:02 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

发表于 2020-2-28 08:38:15 | 显示全部楼层
额,我一直用ES文件浏览器查看共享
回复

使用道具 举报

发表于 2020-2-28 09:49:01 | 显示全部楼层
安卓上不少浏览器就可以直接用的啊,比较好用的就是S文件浏览器了

点评

s文件浏览器 没听说过 但是es文件管理器用过,最新版已经渣成狗了。 讨厌的后台进程 也不流畅了  详情 回复 发表于 2020-2-28 20:26
那请问安卓上能访问nfs的客户端软件有啥? smb的软件多我知道,但是论性能与兼容性的话,精品也很少。 主要是 smb v2 smb v3  详情 回复 发表于 2020-2-28 20:24
回复

使用道具 举报

发表于 2020-2-28 10:02:11 | 显示全部楼层
安卓上的浏览器都不太方便,文件浏览也是。

点评

已经研究成功了, 不过软件好大,只能支持安卓5.0以及更高版本,也就是arm64 效果不错,用的是gvfsd-smb 实际测试 效果不错 无需复杂的设置 软件比较大 压缩后都有30m 挂载nfs的软件似乎更多一点 也比较小  详情 回复 发表于 2020-2-29 14:47
你懂我,我研究主要是为了能挂载到安卓上,所有软件都能通用。不能通用的话,那smb客户端还是很多的,但是nfs客户端太少了,我没找到。  详情 回复 发表于 2020-2-28 20:23
回复

使用道具 举报

 楼主| 发表于 2020-2-28 20:23:24 来自手机 | 显示全部楼层
gs358906 发表于 2020-2-28 10:02
安卓上的浏览器都不太方便,文件浏览也是。

你懂我,我研究主要是为了能挂载到安卓上,所有软件都能通用。不能通用的话,那smb客户端还是很多的,但是nfs客户端太少了,我没找到。
回复

使用道具 举报

 楼主| 发表于 2020-2-28 20:24:45 来自手机 | 显示全部楼层
2012andyle113 发表于 2020-2-28 09:49
安卓上不少浏览器就可以直接用的啊,比较好用的就是S文件浏览器了

那请问安卓上能访问nfs的客户端软件有啥?
smb的软件多我知道,但是论性能与兼容性的话,精品也很少。
主要是
smb v2   smb v3
回复

使用道具 举报

 楼主| 发表于 2020-2-28 20:26:22 来自手机 | 显示全部楼层
2012andyle113 发表于 2020-2-28 09:49
安卓上不少浏览器就可以直接用的啊,比较好用的就是S文件浏览器了

s文件浏览器 没听说过
但是es文件管理器用过,最新版已经渣成狗了。
  讨厌的后台进程   也不流畅了
回复

使用道具 举报

 楼主| 发表于 2020-2-29 14:47:38 来自手机 | 显示全部楼层
gs358906 发表于 2020-2-28 10:02
安卓上的浏览器都不太方便,文件浏览也是。

已经研究成功了,
不过软件好大,只能支持安卓5.0以及更高版本,也就是arm64   效果不错,用的是gvfsd-smb
实际测试 效果不错  无需复杂的设置
软件比较大 压缩后都有30m  
挂载nfs的软件似乎更多一点  也比较小
性能还行 基本够用 5g网络下  fuse挂载能跑16m/s  用内核cifs挂载能跑25m/z
  fuse表现如此已经不错了。
回复

使用道具 举报

发表于 2020-3-2 12:36:10 | 显示全部楼层
本帖最后由 来得子 于 2020-3-3 12:16 编辑

求分享,正在找这种软件,旧手机作服务器把百度网盘里的资料下载到硬盘,安桌手机上百度网盘保存不到网盘上。旧手机现在上面装着linux deploy,安装的ubuntu系统,里面运行着hass。
还有个网络摄像头软件IP摄像头,还有个远程控制软件webkey 不知道还有没有更好的免费远程控制APP
百度网盘下载主要是看中了可以24小时下载还不费电,也不怕没会员慢慢下呗。

点评

想法不错,但是我估计真这么做的话,除非你手机支持 5G wifi 因为网盘里面的文件通过无线传输到你的手机会消耗一部分无线带宽, 而你的手机将文件保存到NAS里面等于是上传文件? 这样的话 手机一部分 wifi带宽用  详情 回复 发表于 2020-3-2 23:50
回复

使用道具 举报

发表于 2020-3-2 13:03:10 | 显示全部楼层
非常需要,旧手机作下载器,安装个webkey,再安装个百度网盘,可以24小时下载了,但是没办法保存到NAS上,如果能实现挂载的话那就非常方便了。
回复

使用道具 举报

发表于 2020-3-2 14:17:27 | 显示全部楼层
有其他办法可以实现,但是我的手机不行不支挂解BL锁,楼主有时间可以看看htt ps:/ / virgo-233.coding.me/posts/2a60e472.html

点评

这东西就说原理和我弄的fuse-nfs或gvfs一样的,都是利用安卓fuse内核功能开发。但是rclone是网盘客户端,我看了一下没说支持nfs与smb两种方式,毕竟这种客户端是基于广域网,除非能把自己的nas弄成rclone支持的服务  详情 回复 发表于 2020-3-3 07:42
回复

使用道具 举报

 楼主| 发表于 2020-3-2 23:50:17 | 显示全部楼层
来得子 发表于 2020-3-2 12:36
求分享,正在找这种软件,旧手机作服务器把百度网盘里的资料下载到硬盘,安桌手机上百度网盘保存不到网盘上 ...

想法不错,但是我估计真这么做的话,除非你手机支持 5G wifi
因为网盘里面的文件通过无线传输到你的手机会消耗一部分无线带宽,
而你的手机将文件保存到NAS里面等于是上传文件?
这样的话 手机一部分 wifi带宽用于下载 另一部分带宽用于上传
我估计速度不会太快吧
至于软件 你使用nfs协议,可以去我的另一个帖子里面查找到fuse-nfs软件
我的建议呢是
你的旧手机通过数据线连接到你的NAS  把手机模式设置为usb热点
然后通过设置 让百度云使用usb热点这个虚拟网卡 通过数据线访问 NAS
哪怕是usb 2.0的 速度应该也比无线靠谱  
当然 如果是5G 两者速度应该差不多
当然也可以 手机下载通过 wifi   而文件上传到NAS使用 usb数据线
建议你用fuse-nfs把 我的另一个帖子里面有这个编译好的软件
要是不好用 再弄gvfsd-nfs或gvfsd-nfs也行








回复

使用道具 举报

发表于 2020-3-3 00:18:33 | 显示全部楼层
那如何设置成开机自动挂载呢?

点评

这个当然是安装一个可以自动运行脚本的app。 或者安卓系统分区里面找一个开机必然会运行的脚本,把命令添加进去就好了  发表于 2020-3-3 00:24
回复

使用道具 举报

发表于 2020-3-3 06:28:19 来自手机 | 显示全部楼层
基本上所有的文件管理器都支持。es文件管理器pro版了解一下。连vlc播放器都能支持连接网络共享

点评

人家是想把网盘当做扩展tf卡,让所有软件都能使用。我知道很多app都支持samb共享,但是这样的app并不能让安卓所有软件都能访问这个共享。举个最简单的例子,es文件管理器是能访问windows共享,但是现在要求让那些不  详情 回复 发表于 2020-3-3 07:53
回复

使用道具 举报

 楼主| 发表于 2020-3-3 07:42:55 来自手机 | 显示全部楼层
来得子 发表于 2020-3-2 14:17
有其他办法可以实现,但是我的手机不行不支挂解BL锁,楼主有时间可以看看htt ps:/ / virgo-233.coding ...

这东西就说原理和我弄的fuse-nfs或gvfs一样的,都是利用安卓fuse内核功能开发。但是rclone是网盘客户端,我看了一下没说支持nfs与smb两种方式,毕竟这种客户端是基于广域网,除非能把自己的nas弄成rclone支持的服务端。  不过安卓想要本地挂载要么内核编译驱动,要么使用fuse扩展,但是root是必须的。搞rclone可以研究一下,如何利用路由器搭建rclone服务器
回复

使用道具 举报

 楼主| 发表于 2020-3-3 07:53:05 来自手机 | 显示全部楼层
窄口牛 发表于 2020-3-3 06:28
基本上所有的文件管理器都支持。es文件管理器pro版了解一下。连vlc播放器都能支持连接网络共享

人家是想把网盘当做扩展tf卡,让所有软件都能使用。我知道很多app都支持samb共享,但是这样的app并不能让安卓所有软件都能访问这个共享。举个最简单的例子,es文件管理器是能访问windows共享,但是现在要求让那些不支持smb的程序能访问smb共享,比如百度网盘。。。mt文件管理器,有比如说希望手机自带相机能直接把拍照的照片存到nas里面。只有挂载才能让所有软件都能用共享。如果只是播放视频,看看相册,那es文件管理器确实够用了
回复

使用道具 举报

发表于 2020-3-3 08:30:05 来自手机 | 显示全部楼层
酱紫的话就得开机加载一个脚本了,七点零以上可能还不能直接用,还得手机初始化一下?

点评

安卓手机啥手机都要初始化一下,安卓开机后延时启动脚本挂载服务,因为安卓启动后首先要等待wifi自动联网,没有wifi如何挂载? 不过这都是小事,我已经成功在高通安卓5.0与mtk安卓7.1.2挂在成功 包括nfs smb ftp  详情 回复 发表于 2020-3-3 18:01
回复

使用道具 举报

发表于 2020-3-3 12:04:09 | 显示全部楼层
还有个软件,curlftpfs,这个可以挂载FTP,软件包很小,就是不知道怎么移到安卓上。大神给个能用的包吧。弄到手机上开了Root运行不了啊。

点评

你如果从deploylinux里面提取软件一定要把lib库和程序文件一起提取出来,还有目录结构不要变化。不过还是从entware中提取更简单。  详情 回复 发表于 2020-3-3 18:13
不建议你使用curlftpfs,这软件弄到安卓上很简单,你去bin.entware.net网站下载entware安装脚本,根据手机cpu指令集选择版本,然后安装一下,里面就有curlftpfs这个软件,我试过能用,不过你一定要把服务器ftp目录文  详情 回复 发表于 2020-3-3 18:06
回复

使用道具 举报

发表于 2020-3-3 12:07:18 | 显示全部楼层
心零 发表于 2020-2-28 08:38
额,我一直用ES文件浏览器查看共享

ES我也一直在用,就是不能挂载,比如用其他软件保存到指定网络路径时,就不好用了。
回复

使用道具 举报

 楼主| 发表于 2020-3-3 18:01:24 来自手机 | 显示全部楼层
窄口牛 发表于 2020-3-3 08:30
酱紫的话就得开机加载一个脚本了,七点零以上可能还不能直接用,还得手机初始化一下?

安卓手机啥手机都要初始化一下,安卓开机后延时启动脚本挂载服务,因为安卓启动后首先要等待wifi自动联网,没有wifi如何挂载?  不过这都是小事,我已经成功在高通安卓5.0与mtk安卓7.1.2挂在成功  包括nfs smb ftp 其实还有http dav ....好多种协议挂载,但是要作为真正的无线硬盘使用,建议还是使用nfs和smb之一,因为这两个本身就是网络文件系统,其他的本质上只是文件传输协议转换成文件系统,区别很大。主要是好像不支持文件随机读写....
回复

使用道具 举报

 楼主| 发表于 2020-3-3 18:06:24 来自手机 | 显示全部楼层
来得子 发表于 2020-3-3 12:04
还有个软件,curlftpfs,这个可以挂载FTP,软件包很小,就是不知道怎么移到安卓上。大神给个能用的包吧。弄 ...

不建议你使用curlftpfs,这软件弄到安卓上很简单,你去bin.entware.net网站下载entware安装脚本,根据手机cpu指令集选择版本,然后安装一下,里面就有curlftpfs这个软件,我试过能用,不过你一定要把服务器ftp目录文件夹的权限给足,不然的话挂载之后各种不能访问。
回复

使用道具 举报

 楼主| 发表于 2020-3-3 18:13:54 来自手机 | 显示全部楼层
来得子 发表于 2020-3-3 12:04
还有个软件,curlftpfs,这个可以挂载FTP,软件包很小,就是不知道怎么移到安卓上。大神给个能用的包吧。弄 ...

你如果从deploylinux里面提取软件一定要把lib库和程序文件一起提取出来,还有目录结构不要变化。不过还是从entware中提取更简单。
回复

使用道具 举报

发表于 2020-3-22 15:31:40 | 显示全部楼层
哇研究好多年了一直没找到类似软件,感谢楼主
回复

使用道具 举报

发表于 2020-3-25 22:05:06 | 显示全部楼层
感谢楼主
请问busybox用什么方法安装装的啊,路径是哪里.我试了几个APP和magisk仓库里的模块,装了busybox仍然提示"手机未安装busybox,将退出"

点评

应该是安卓版本不兼容吧 busybox安装到/system/bin/或/system/xbin  详情 回复 发表于 2020-3-27 05:04
回复

使用道具 举报

 楼主| 发表于 2020-3-27 05:04:07 来自手机 | 显示全部楼层
lgcde 发表于 2020-3-25 22:05
感谢楼主
请问busybox用什么方法安装装的啊,路径是哪里.我试了几个APP和magisk仓库里的模块,装了busybox仍 ...

应该是安卓版本不兼容吧
busybox安装到/system/bin/或/system/xbin
回复

使用道具 举报

发表于 2020-4-8 13:21:07 | 显示全部楼层
感谢楼主
请问挂载smb的时候终端模拟器里面dbus报错怎样解决呢?
busybox已经正常安装,root权限已给,系统是Android10
报错如下
:/ $ su
:/ # sh /data/mcmd
sh /data/mcmd
dbus[14715]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry

dbus[14715]: Failed to start message bus: Memory allocation failure in message bus
EOF in dbus-launch reading address from bus daemon

点评

检查下/etc目录下有没有passwd这个文件。  详情 回复 发表于 2020-4-8 16:36
回复

使用道具 举报

 楼主| 发表于 2020-4-8 16:36:43 来自手机 | 显示全部楼层
luckykeeper 发表于 2020-4-8 13:21
感谢楼主
请问挂载smb的时候终端模拟器里面dbus报错怎样解决呢?
busybox已经正常安装,root权限已给,系 ...

检查下/etc目录下有没有passwd这个文件。
回复

使用道具 举报

发表于 2020-4-8 16:49:20 | 显示全部楼层
510819776 发表于 2020-4-8 16:36
检查下/etc目录下有没有passwd这个文件。

谢谢,我去看了一下,没有这个文件,是需要自己创建这个文件吗?里面需要写些什么呢?

点评

我提供的apk里面应该有这个文件吧,,好好找找。  详情 回复 发表于 2020-4-8 16:54
回复

使用道具 举报

 楼主| 发表于 2020-4-8 16:54:32 来自手机 | 显示全部楼层
luckykeeper 发表于 2020-4-8 16:49
谢谢,我去看了一下,没有这个文件,是需要自己创建这个文件吗?里面需要写些什么呢?

我提供的apk里面应该有这个文件吧,,好好找找。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-12-5 16:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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