解决centos中vsftpd中文乱码

1、首先在http://vault.centos.org/上下载和自己系统相符的vsftpd的源码包
使用wget http://vault.centos.org/7.4.1708/os/Source/SPackages/vsftpd-3.0.2-22.el7.src.rpm进行文件下载

解决centos中vsftpd中文乱码
2、使用useradd mockbuild 命令先建一个mockbuild用户,因为待会安装的时候会默认使用使用这个用户
3、用户建立后再使用rpm -ivh vsftpd-3.0.2-22.el7.src.rpm进行源码的安装
4、安装完成后当前目录会产生一个名为rpmbuild的目录,进入rpmbuild/SOURCES中,解压vsftpd-3.0.2.tar.gz文件
解决centos中vsftpd中文乱码
5、解压完成后进入vsftpd-3.0.2目录中,使用vi 修改features.c文件,将底部使用vsf_cmdio_write_raw(p_sess, " UTF8\r\n");注释掉。
解决centos中vsftpd中文乱码
6、修改完成后再修改opt.c文件
解决centos中vsftpd中文乱码
7、修改完成后返回上一层,使用 tar -zcvf vsftpd-3.0.2.tar.gz vsftpd-3.0.2/命令对vsftpd-3.0.2目录进行压缩
8、压缩完成后返回上一层,进入SPECS/目录下rpmbuild -bb vsftpd.spec命令生成新的vsftpd rpm安装包
在打包之前先使用yum -y install rpm-build和 yum -y install rpmdevtools安装打包环境
使用rpmbuild -bb vsftpd.spec进行打包
此时会出现如下依赖错误,然后只要使用yum分别安装它们就好了
解决centos中vsftpd中文乱码

yum -y install pam-devel libcap-devel openssl-devel tcp_wrappers-devel

解决centos中vsftpd中文乱码
最后使用rpmbuild -bb vsftpd.spec再进行打包操作就OK了(一定要确认已经安装gcc)
打包完成后就可以在rpmbuild/RPMS/x86_64目录下看到新生成的vsftpd包了
9、使用rpm -ivh vsftpd-3.0.2-22.el7.centos.x86_64.rpm安装新生成的vsftpd软件包
10、修改Linux系统字符集为zh_CN.GB18030,没有下面这个文件的自行创建就行
解决centos中vsftpd中文乱码




参考链接:http://os.51cto.com/art/201305/393020.htm