想把 AdGuardHome 部署到路由器上面,于是按照官方文档操作,下载二进制文件,scp 到路由器,然后启动,一切正常。
结果某天,路由器重启了一下,路由器上面 AdGuardHome 、科学上网等,所有服务都不正常了,登陆进路由器排查了半天,最后发现整个磁盘全部变成 read-only 状态了,一脸懵逼,那我重新挂载呗,结果发现不能挂载。网上查资料后才知道,磁盘空间过小就会自动把整个磁盘挂载为 read-only ,而且似乎还没解决办法,只能重刷。
又搞了半天,把固件重刷了。这次装 AdGuardHome 前研究了一下其他插件。发现 ssrplus 是把文件放在 /var 路径的,于是我也照做,然鹅失败了,仔细一看,发现 /var 其实是链接到 /tmp 路径的。我淦,好家伙,居然是放到 /tmp 路径的(这里我还纳闷,这特么重启了咋办,但是心想别人重启都没问题,我也试试)。我又把文件放到 tmp 路径,再次部署完毕,尝试重启。我淦,我的文件没了,但是 ssrplus 居然是正常的,又进路由器一通排查,我淦,/var 路径是 /tmp 的链接,而 /tmp 里面的二进制文件又做了软链接,被链接到了 /usr/bin 里面,这特喵的链接了半天,好家伙回到原点。
我现在十分纳闷:
1 、为什么存储空间低,要把整个磁盘变成 read-only ,还不能恢复,这特喵的不是坑爹么,另外,空间多低会触发,也没找到相关说明
2 、为什么 openwrt 里面的文件都搞一大堆软链接,跳来跳去,结果最后回到原点,这特喵的逗我呢
3 、我 34MB 的二进制文件,为啥能传到 18MB 空间剩余的路径下面,而且最终空间还剩 3MB 。ls -alh
看文件空间占用确实是 34MB 。但是df -h
看,根路径总空间确实是 18mb ,且剩余 3mb 。(难道这还能压缩?那这读写性能岂不很差?)
1
Penguium 2022-10-16 15:03:51 +08:00 via Android
前一阵子我的 openwrt 也是变只读了 个人认为可能是那天停电导致的 我的固件是自己编译的分区大小设的是 64+2000 的空间 不可能不够
我按网上的教程检查了一下硬盘的错误在修复然后重启后就好了 e2fsck -y /dev/sda2 那天就是用的这个命令后面是分区的路径 改成你自己的再用 也许磁盘变只读是一种自我保护策略? |