当前位置 : 主页 > 网络编程 > 其它编程 >

K3终极折腾记<一>

来源:互联网 收集:自由互联 发布时间:2023-07-02
一、原由K3已经够老了总想着淘汰它。又感觉还能用真是食之无味弃之可惜最近挺闲决定来玩个大的总想着淘汰它。又感觉还能用真是食之无味弃之可惜最近挺闲决定来玩个大的最后利用
一、原由K3已经够老了总想着淘汰它。又感觉还能用真是食之无味弃之可惜最近挺闲决定来玩个大的总想着淘汰它。又感觉还能用真是食之无味弃之可惜最近挺闲决定来玩个大的最后利用它一下。

二、现状

现在用的是某山正流行的梅林版本之前用的小宝哥的。宝哥的梅林还挺不错的就是不更新了插件太老不能适应人民群众日益增长的需求了。结果换成这版本后可能是这机子实在不行吧被我改散热加风扇折腾过。老是断流不光2.4G断5G也断网页还经常登陆不了虽然功能足够满足我的要求但这断流实在忍受不了

三、需求

笔者的要求其实一点也不高得有nfs用来存储摄像机的录像嗯笔者的摄像机带nfs网络存储。专门挂了一个分区作监控存储。一个分区用来给MAC当外挂硬盘。MAC的硬盘足够快可惜实在太小… 所以nfs是刚需上网要求不高无线正常就行有线接了监控摄像机和一台装了ubuntu20.04的工控机。因为有远程办公室电脑的需要所以得做内网穿透。

四、方案考虑

目前免费的适用于K3的只有openwrt还在不断更新了所以固件只能是openwrt了。正好L大的固件也支持我的所以要求就它了。实际上开工才知道还是有很多问题要解决…

五、刷机

这里笔者的梅林刷回LEDE其实挺麻烦的要先刷回官改宝哥版。结果刷回去wan口挂了… 说实话笔者用的这版梅林挺坑的当然也可能是笔者运气问题。某山找到解决办法把备份的mtd0刷回去就好了幸好我备份了当然没备份的也有办法改mac地址就行不难也没试过就不说了。反正一通折腾刷到宝哥官改固件的lede了。 然后某山找了个编译好的openwrt下载量最大那个。刷好发现没有nfs不能挂usb硬盘… 太无语了现在人都nas自由了啊我还活在20世纪穷人伤心了换吧换了下载量第二的LEDE编译固件。这回挂上硬盘了可还是没有nfs… 这回好了头疼了。一咬牙一跺脚哥们自己装行吧一顿操作猛如虎强制核心不对也给nfs装上了结果还是不能用 索性一不做二不休哥们找LEDE的源码自己编行吧正好ubuntu都是现成的呢照着L大的说明又一顿操作编译了三回第一回花了两天后面两回倒是没用几小时。终于搞定了nfs等一切我要的功能

六、配置

刷回好不容易弄出来的固件心情顿好LEDE固件现在确实很成熟了除了无线功率不太行啥都好用 废话一大通重点来了因为众所周知的原因。收费的云盘用不起免费的太慢openwrt上带kod。界面漂亮使用习惯切合国人。可是可是K3是32位的armV7可道云的技术方案它不支持2G以上文件怪不得别人都不编译这功能就我傻傻的弄个可道云在K3上。 知错就改换个云盘方案嘛不是事。正好ubuntu上有docker有postgresql直接上企业级的nextclouddocker安装老简单了教程很多就不水了。然后问题又来了nextcloud支持外部存储但这功能很坑又是权限问题又是不能分享我又不想把硬盘挂在ubuntu上。然后笔者想啊想找到了一个办法我在nextcloud的docker里挂上nfs挂到

/var/www/html/data/user/files/

这里要注意了默认是不让挂的因为mount要sudo而容器内的root是假的root其实就是普通用户。要给特权才行网上说改docker的配置文件

/var/lib/docker/containers/一长串字符对应容器/hostconfig.json

事实上我试了不行。我把json配置的privileged改成true重启docker后又改回false了 笔者找到二个办法一是

docker stop nextcloud # 停止服务docker commit nextcloud nextcloudbak # 创建新镜像docker run -d --name nextcloudnew --restartalways --privilegedtrue -p8086:80 -v /home/user/docker-date/nextcloud:/var/www/html -v nextcloudbak # 使用新镜像运行容器docker rm nextcloud # 删除老容器docker rename nextcloudnew nextcloud # 修改容器名

办法二就简单了反正容器里啥也没有删除了重新run。

然后就可以

docker exec -it nextcloud /bin/bash# 以下容器内挂载mount -t nfs4 -o async,nolock,vers3 -v 192.168.2.1:/mnt/sda3/soft(要挂载的目录)/ /var/www/html/data/user/files/soft(挂载的目录)/

这里vers3或4和nfs版本有关。 这个命令只能手动挂载总不能重启一次来手工干一次活吧我尝试把它写入fstab这个linux专门负责挂载的文件里然后用mount -a试了一下可以挂载可惜重启还是不会自动挂载因为容器里的linux不会自动执行挂载动作。最后在根目录发现有entrypoint.sh文件那就好办了给它加一行嘛。

docker cp nextcloud:/entrypoint.sh ./ # 先把文件复制出来# vim在倒数第二行加上mount -t nfs4 -o sync,nolock,vers3 -v 192.168.2.1:/mnt/sda3/soft/ /var/www/html/data/user/files/soft/# 再把文件复制回去docker cp ./entrypoint.sh nextcloud:/entrypoint.sh

这样就解决挂载问题了。未完待续…

【文章原创作者:高防cdn http://www.558idc.com/gfcdn.html提供,感恩】
网友评论