openwrt空间不足解决方法 OpenWrt空间不够用怎么办

前言
想要把进行功能扩展,比如打造成一台小型NAS服务器,或者网页服务器等等,还有一道坎需要迈过 。
因为路由器的CPU和内存与电脑甚至是手机相比,都要弱了不少 。CPU计算慢一些还可以将就,毕竟咱也没有那么高的需求,但存储空间不够,就装不了插件了,再强大的扩展能力也只能望洋兴叹 。
空间已经快满了,再满的话文件系统就会崩溃,全盘变成read-only状态,那时就只能重刷固件了
需求
在折腾其它扩展之前,我要在上外接一块500G的USB硬盘,实现以下需求:
硬盘分出一个512M的分区挂载为swap交换分区,可以看作是平台上的虚拟内存,达到扩容内存的作用 。再分出一个5G的分区挂载为系统目录,扩容系统闪存 。剩余空间留作备用,有需求的时候再建立新分区,挂载到系统目录的子目录就可以使用 。安装需要的工具
要用到
:傻瓜式分区工具
:格式化工具
kmod-fs-ext4:ext4文件系统支持
SSH连接到命令行,输入命令更新软件包源:
opkg 然后安装工具,输入命令:
opkgkmod-fs-ext4如果有提示“... in root is up to date”,说明系统中已经安装了这个工具 。
对硬盘进行分区
将USB硬盘连接到路由器 。首先要对硬盘进行分区,命令行中输入:
进入程序界面,简单介绍下的界面:
双指放大查看
swap分区我之前已经做好了,接下来在未分区的位置上创建一个5G的新分区 。
双指放大查看
双指放大查看
双指放大查看
双指放大查看
双指放大查看
双指放大查看
双指放大查看
分区建立好以后,还需要进行格式化,因为我之前已经格式化过了,这里不再演示 。格式化命令如下:
/dev/sda1#把/dev/sda1建立为swap交换分区mkfs.ext4 /dev/sda2#把/dev/sda2格式化为ext4文件系统分别执行上面两条命令,注意/dev/sda1是你的设备名称,就是前面让你记下来的 。
挂载swap交换分区
进入后台,系统→挂载点→swap→点击添加 。
双指放大查看
设备菜单处要选择之前的那个分区 。
双指放大查看
显示已挂载,但还要拉到页面最底部再点一次“保存并应用” 。我之前设置不成功就是因为没点这里 。
验证swap是否建立成功,只需进入状态→概况,出现“虚拟内存”,表示已经成功了 。
双指放大查看
【openwrt空间不足解决方法OpenWrt空间不够用怎么办】挂载系统根目录
这里本来要分两步,首先是挂载,再挂载根目录 。
的主要作用有两个 。一是压缩存储文件,在磁盘空间紧张的情况下尽量少占用空间;二是加了一层对系统底层的保护机制,在折腾不当的情况下可以“还原出厂设置”,避免变砖 。
但我们挂载硬盘后,空间是够用的,路由器上还刷过不死Breed,对我来说没啥用了,反而还增加了一个压缩过程,降低文件效率 。
所以我决定直接挂载根目录,放弃 。
让我们再回到“挂载点”的设置页面 。
在页面下方,swap上方,有个挂载点设置,点击添加 。
双指放大查看
注意,选择用UUID挂载识别设备会更准确,UUID下拉菜单,每个选项后面都列出了设备名称,可以帮你辨识设备 。做完这几步后先不要点保存并应用 。
回到SSH,执行以下命令:
mkdir -p /tmp/#在/tmp目录下创建文件夹 mkdir -p /tmp/#在/tmp目录下创建文件夹 mount --bind / /tmp/#将/根目录挂载到 mount /dev/sda1 /tmp/#将硬盘挂载到 tar -C /tmp/ -cvf - . | tar -C /tmp/ -xf -#把中的系统镜像打包并在硬盘中解包/tmp/#取消挂载/tmp/#取消挂载命令中涉及到设备名称的(/dev/sda1)这些地方,要换成自己的设备名 。