K3终极折腾记<一> 您所在的位置:网站首页 k3刷梅林固件wifi不稳定 K3终极折腾记<一>

K3终极折腾记<一>

2024-07-16 10:45| 来源: 网络整理| 查看: 265

一、原由

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,直接上企业级的nextcloud,docker安装老简单了,教程很多就不水了。然后问题又来了,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 --restart=always --privileged=true -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,vers=3 -v 192.168.2.1:/mnt/sda3/soft(要挂载的目录)/ /var/www/html/data/user/files/soft(挂载的目录)/

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

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有