修改Linux Deploy的linux.img文件大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改Linux Deploy的linux.img文件大小相关的知识,希望对你有一定的参考价值。

参考技术A 增大img镜像至4G:

resize2fs file.img 4096M

把镜像缩到最小:

resize2fs -M file.img

在修改的过程显示进度:

resize2fs -PM file.img

(大写的,P)

显示镜像里真正的文件大小:

resize -p file.img

(小写的,p)

“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)成功完美简单极致

“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)【成功完美简单极致】

#自从手机root后安装Linux Deploy开始安装了Debian9开始准备鼓捣ftp服务器(vsftpd)。

apt install vsftpd

#之后整整一个月百度而来的猛如虎的各种操作各种坑,

#且不说修改vsftpd.conf的各种参数,

#下载源码修改编译,安装gdb调试,通过网络教程禁用子进程改变uid gid的函数,修改源码的secuil.c文件等等,

#用FileZilla连接时候永远都是500 oops socket

#死的心都有了。就差下载源码重新编译内核了,但是我是新手,这么高深的动作怎么会?且不说手机上能说改就改linux内核?老大您就饶了我吧!

#之后,一个命令(strace)拯救了我,把我从gdb的苦海和vsftpd.dbg官方调试包中拖上岸。我这次成功解决问题全赖此命令。

#新手都能好好琢磨出来strace -v -f -s 2048 -p [vsftpd服务的pid],一点一点分析出了问题的眉目。在这里,这个命令我就不赘述,网上详解很多。我现在着重说解决方案:很短,就几步而已

nano /etc/passwd

#找到nobody用户把65534:65534改成65534:3003然后存盘,就完事了。记得把

nano /etc/ftpusers

#里面的“#root”注释掉才能使用root用户,然后为了方便上传删写文件

nano /etc/vsftpd.conf

#里面最后加一行“write_enable=YES”,但是删写文件仍然总是被拒绝。即使重启也无效。我后来按照百度教程,还不得不在/root下创建了一个目录pub目录改属性

chmod 777 /root/pub

#才成功的能开始使用上传和删除操作,然后即使把pub删了,重启等等,都可以正常删写服务器内容了。仿佛只要在vsftpd.conf里写write_enable=YES一行就完事,但是一开始确实是被拒的。不知为什么。

#在这次探究中,我发现nobody用户才是vsftpd发生500 oops socket的关键之所在,而并不是之前网上部分教程所提到的vsftpd没有子进程创建权限,事实上根据下面的调试命令,我发现vsftpd是完全具备子进程创建权限的而创建出的nobody用户子进程却不具备网络使用权限,所以我才想到了修改nobody的所属组,然后就完美解决了。

#这个命令就是发现上面原因的关键strace -v -f -s 2048 -p [vsftpd服务的pid]有兴趣鼓捣的可以试试。但是输出的内容很长,建议粘贴到word中查看。

以上是关于修改Linux Deploy的linux.img文件大小的主要内容,如果未能解决你的问题,请参考以下文章

Linux 新建&修改用户名密码

怎样查看linux进程打开的文件数

修改Linux系统打开文件数限制

umilit 修改 linux 最多可打开文件数

“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)成功完美简单极致

Linux 下应用程序最大打开文件数的理解和修改