解决centos中vsftpd中文乱码

系统环境

[root@augusite yum.repos.d]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

软件版本

[root@augusite yum.repos.d]# vsftpd -v

vsftpd: version 3.0.2

ftp服务器文件上传之后,部分中文字体会变成乱码

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进行文件下载

 

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文件

 

5、解压完成后进入vsftpd-3.0.2目录中,使用vi 修改features.c文件,将底部使用vsf_cmdio_write_raw(p_sess, " UTF8 ");注释掉。

 

6、修改完成后再修改opt.c文件

 

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分别安装它们就好了

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

 

最后使用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,没有下面这个文件的自行创建就行

 

 

 

原文地址:https://www.cnblogs.com/augusite/p/10069600.html