手机服务器艰辛之路(二)~Linux环境问题
前言
上一章我们已经实现了手机上部署Linux环境,这章主要是记录我们在安装后使用的时候遇到的一些问题。
一、存储资源问题
问题描述:
随着我们在服务器上安装的软件的不断增加,我们会发现linux的存储很快就被我们用完了,然后后面导致各种权限及其他问题。 首先,我们可以通过 df -h 命令来查看我们现在的存储。 上图可以看出,我们在刚安装的时候,系统默认是4G的存储。后面通过yum安装各种包及依赖包,存储很快就满了,所以我们需要扩大存储。
搜索历程
最开始,我是想用挂载的方式来实现,将不同的目录分别挂载到不同的磁盘位置,但是配置了多个挂载点,在查询的时候并没有显示出来,找了很多资料,但是这种方式还是没有实现。 后面再查阅资料后,发现一种比较快捷的方式可以直接实现。这里分享给大家。 这种方式需要手机可以执行e2fsck/resize2fs命令,当时在手机上下载了个Termux软件,这个软件上也可以直接安装Linux,这个我也尝试安装试了一下,感觉比Linux Deploy更底层些,可以搭配AnLinux这个软件,在Termux上快速执行一下shell命令。查询的一些资料表示也可以用adb方式(电脑连接手机)操作实现,但是一般也需要安装包(具体如何安装,大家感兴趣可以查一下),才能执行这些e2fsck/resize2fs命令。我是在Termux上可以直接执行。
实现方法
上面软件安装完成后,我们就可以开始进行我们的扩容。 首先有个地方大家可以了解一下,我们在安装的时候,默认的安装路径是${EXTERNAL_STORAGE}/linux.img,但是我们打开文件目录,看到的路径是/storage/emulated/0/linux.img(这个不同的手机可能有不同的路径),我之前扩容配置的路径一直是这个,但是一直没有生效,后面发现/mnt/sdcard/linux.img和上面路径指定的是同一个位置。参考linuxdeploy-issues资料
在执行命令前,我们需要先停止我们的Linux服务器,需要有root权限,下面提供两种具体的执行脚本(均可以实现):
e2fsck -f /mnt/sdcard/linux.img
resize2fs /mnt/sdcard/linux.img 10000M
或者
dd if=/dev/zero bs=1048576 count=1000 >> /mnt/sdcard/Linux/linux.img
e2fsck -f /mnt/sdcard/Linux/linux.img
resize2fs /mnt/sdcard/Linux/linux.img
总结:
上面的扩容方式还是比较灵活方便的,即使使用后发现存储不足,也可以直接实现扩容。可惜了我之前安装好的环境我又重新安装了一遍。 在重新安装的过程中,也是遇到了许多坑,之前手动去文件系统删除了镜像,到后面重新安装,一直报错(报错信息我们可以在设置中打开调试模式),提示/bin/su 找不到这个文件,后面回想,怀疑我在安装过程中,可能没等待程序执行完就运行服务器,最后我是把Linux Deploy这个软件卸载后重新安装,才执行成功。发现在安装过程中会有一些网络原因,导致部分包安装失败,这时我们可以先清空,再重新点击安装,最后一定要看清是否安装成功。
|