centos ftp 乱码,centos7如何登录ftp

CentOS 6.4中出现Vsftpd中文乱码解决过程

Windows客户端访问FTP应用服务器出现乱码。这是由于UTF-8与GBK不兼容而头疼的引起的,采用源码方式编译安装就可将此问题解决。

乱码解决过程:

1、首先使用 rpm-e vsftpd卸载系统安装的默认VSFTPD应用服务器:

[root@localhost~]# rpm-e vsftpd

2、从网站下载vsftpd-2.2.2-11.el6_3.1.src.rpm源码包。

3、使用 rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm对该包进行安装:

[root@localhost birdofprey]# rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm

安装过程中系统会提示类似如下错误:

warning: vsftpd-2.2.2-11.el6_3.1.src.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

1:vsftpd warning: user mockbuild does not exist- using root

########################################### [100%]

warning: user mockbuild does not exist- using root

warning: group mockbuild does not exist- using root

warning: user mockbuild does not exist- using root

warning: group mockbuild does not exist- using root

warning: user mockbuild does not exist- using root

warning: group mockbuild does not exist- using root

此时需要使用adduser mockbuild命令创建mockbuild用户:

[root@localhost birdofprey]# adduser mockbuild

4、重新使用rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm对该包进行安装:

[root@localhost birdofprey]# rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm

warning: vsftpd-2.2.2-11.el6_3.1.src.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

1:vsftpd########################################### [100%]

5、使用命令 cd/root/ rpmbuild/SOURCES/vsftpd/SOURCES进入vsftpd源码包目录,并使用tar-zxvf vsftpd-2.2.2.tar.gz解压vsftpd-2.2.2.tar.gz源码包:

[root@localhost SOURCES]# tar-zxvf vsftpd-2.2.2.tar.gz

6、使用命令cd vsftdp-2.2.2进入vsfftpd-2.2.2源码目录:

[root@localhost SOURCES]# cd vsftpd-2.2.2

7、使用命令vi features.c修改 features.c文件;将行内容为:vsf_cmdio_write_raw(p_sess," UTF8/r/n");

修改为://vsf_cmdio_write_raw(p_sess," UTF8/r/n")。

8、使用命令vi opts.c修改 opts.c文件;

将handle_opts函数修改成如下:

复制代码

   

代码如下:

void

   handle_opts(struct vsf_session* p_sess)

   {

   str_upper(p_sess-ftp_arg_str);

   //if(str_equal_text(p_sess-ftp_arg_str,"UTF8 ON"))

   //{

   //vsf_cmdio_write(p_sess, FTP_OPTSOK,"Always in UTF8 mode.");

   //}

   //else

   //{

   //vsf_cmdio_write(p_sess, FTP_BADOPTS,"Option not understood.");

   //}

   }

9、返回上层目录并使用 tar-zcvf vsftpd-2.2.2.tar.gz vsftpd-2.2.2/命令重新压缩vsftpd-2.2.2.tar.gz文件:

[root@localhost SOURCES]# tar-zcvf vsftpd-2.2.2.tar.gz vsftpd-2.2.2/

我们使用ls-命令可以看到列表中vsftpd-2.2.2.tar.gz文件创建时间已经为当前创建时间,如下所示:

复制代码

   

代码如下:

-rw-rw-r--. 1 mockbuild mockbuild 186982 5月 3 15:39 vsftpd-2.2.2.tar.gz

   -rw-r--r--. 1 mockbuild mockbuild 2828 2月 13 00:06 vsftpd-2.2.2-uint-uidgid.patch

   -rw-r--r--. 1 mockbuild mockbuild 1640 2月 13 00:06 vsftpd-2.2.2-v6only.patch

   -rw-r--r--. 1 mockbuild mockbuild 514 2月 13 00:06 vsftpd-close-std-fds.patch

   -rwxr-xr-x. 1 mockbuild mockbuild 338 2月 13 00:06 vsftpd_conf_migrate.sh

   -rw-r--r--. 1 mockbuild mockbuild 125 2月 13 00:06 vsftpd.ftpusers

   -rwxr-xr-x. 1 mockbuild mockbuild 2824 2月 13 00:06 vsftpd.init

   -rw-r--r--. 1 mockbuild mockbuild 335 2月 13 00:06 vsftpd.pam

   -rw-r--r--. 1 mockbuild mockbuild 361 2月 13 00:06 vsftpd.user_list

   -rw-r--r--. 1 mockbuild mockbuild 345 2月 13 00:06 vsftpd.xinetd

10、进入源码包下的 SPECS目录,并使用rpmbuild-bb vsftpd.spec命令生成vsftpd-2.2.2-11.el6.1.x86_64.rpm:

[root@localhost SPECS]# rpmbuild-bb vsftpd.spec

此时因为系统缺少依赖包会报如下错误:

error: Failed build dependencies:

libcap-devel is needed by vsftpd-2.2.2-11.el6.1.x86_64

tcp_wrappers-devel is needed by vsftpd-2.2.2-11.el6.1.x86_64

我们可以从CentOS6.4安装盘中找到如下RPM软件包进行手动安装,包名如下:

libattr-2.4.44-7.el6.i686.rpm libcap-devel-2.16-5.5.el6.x86_64.rpm

libattr-2.4.44-7.el6.x86_64.rpm tcp_wrappers-devel-7.6-57.el6.i686.rpm

libattr-devel-2.4.44-7.el6.i686.rpm tcp_wrappers-devel-7.6-57.el6.x86_64.rpm

libattr-devel-2.4.44-7.el6.x86_64.rpm tcp_wrappers-libs-7.6-57.el6.i686.rpm

libcap-2.16-5.5.el6.i686.rpm tcp_wrappers-libs-7.6-57.el6.x86_64.rpm

libcap-2.16-5.5.el6.x86_64.rpm vsftpd-2.2.2-11.el6_3.1.src.rpm

libcap-devel-2.16-5.5.el6.i686.rpm

11、将以上各包使用rpm-ivh*.rpm-force--nodeps命令进行强制安装:

[root@localhost rpm]# rpm-ivh*.rpm--force--nodeps

warning: libattr-2.4.44-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

Preparing...########################################### [100%]

1:libattr########################################### [ 8%]

2:libcap########################################### [ 17%]

3:tcp_wrappers-libs########################################### [ 25%]

4:libattr########################################### [ 33%]

5:libcap########################################### [ 42%]

6:tcp_wrappers-libs########################################### [ 50%]

7:tcp_wrappers-devel########################################### [ 58%]

8:libcap-devel########################################### [ 67%]

9:libattr-devel########################################### [ 75%]

10:tcp_wrappers-devel########################################### [ 83%]

11:libcap-devel########################################### [ 92%]

12:libattr-devel########################################### [100%]

12、再次使用rpmbuild-bb vsftpd.spec对vsftpd-2.2.2-11.el6.1.x86_64.rpm包重新进行编译:

[root@localhost SPECS]# rpmbuild-bb vsftpd.spec

13、进入x86_64目录,此时可以看到该目录下已经生成相关RPM包:

命令模式如下:

复制代码

   

代码如下:

[root@localhost RPMS]# cd x86_64/

   [root@localhost x86_64]# ls

   vsftpd-2.2.2-11.el6.1.x86_64.rpm vsftpd-debuginfo-2.2.2-11.el6.1.x86_64.rpm

14、重新安装进行过源码修改的vsftpd应用服务器组件包:

[root@localhost x86_64]# rpm-ivh vsftpd-2.2.2-11.el6.1.x86_64.rpm

Preparing...########################################### [100%]

1:vsftpd########################################### [100%]

15、CentOS6.4修改系统默认字符集:

[root@localhost/]# vi/etc/sysconfig/i18n

将原文件修改为如下内容:

复制代码

   

代码如下:

#LANG="zh_CN.UTF-8"

   LANG="zh_CN.GB18030"

   SUPPORTED="zh_CN.GB18030:zh_CN:zh:zh_CN.GB2312:en_US.UTF-8:en_US:en"

   SYSFONT="latarcyrheb-sun16"

此时所有修改工作已经完成,重起FTP应用服务器之后我们在windows系统中使用IE浏览器以及前期应用软件进行测试中文乱码问题消失。该解决办法同样适用于RHEL6系列操作系统中存在的VSFTPD于windows客户端字符集兼容原因导致的乱码问题。

CentOS64中出现Vsftpd中文乱码解决过程

Windows客户端访问FTP应用服务器出现乱码。这是由于UTF-8与GBK不兼容而头疼的引起的,采用源码方式编译安装就可将此问题解决。

乱码解决过程:

1、首先使用 rpm-e vsftpd卸载系统安装的默认VSFTPD应用服务器:

[root@localhost~]# rpm-e vsftpd

2、从网站下载vsftpd-2.2.2-11.el6_3.1.src.rpm源码包。

3、使用 rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm对该包进行安装:

[root@localhost birdofprey]# rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm

安装过程中系统会提示类似如下错误:

warning: vsftpd-2.2.2-11.el6_3.1.src.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

1:vsftpd warning: user mockbuild does not exist- using root

########################################### [100%]

warning: user mockbuild does not exist- using root

warning: group mockbuild does not exist- using root

warning: user mockbuild does not exist- using root

warning: group mockbuild does not exist- using root

warning: user mockbuild does not exist- using root

warning: group mockbuild does not exist- using root

此时需要使用adduser mockbuild命令创建mockbuild用户:

[root@localhost birdofprey]# adduser mockbuild

4、重新使用rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm对该包进行安装:

[root@localhost birdofprey]# rpm-ivh vsftpd-2.2.2-11.el6_3.1.src.rpm

warning: vsftpd-2.2.2-11.el6_3.1.src.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

1:vsftpd########################################### [100%]

5、使用命令 cd/root/ rpmbuild/SOURCES/vsftpd/SOURCES进入vsftpd源码包目录,并使用tar-zxvf vsftpd-2.2.2.tar.gz解压vsftpd-2.2.2.tar.gz源码包:

[root@localhost SOURCES]# tar-zxvf vsftpd-2.2.2.tar.gz

6、使用命令cd vsftdp-2.2.2进入vsfftpd-2.2.2源码目录:

[root@localhost SOURCES]# cd vsftpd-2.2.2

7、使用命令vi features.c修改 features.c文件;将行内容为:vsf_cmdio_write_raw(p_sess," UTF8\r\n");

修改为://vsf_cmdio_write_raw(p_sess," UTF8\r\n")。

8、使用命令vi opts.c修改 opts.c文件;

将handle_opts函数修改成如下:

复制代码代码如下:

void

handle_opts(struct vsf_session* p_sess)

{

str_upper(&p_sess->ftp_arg_str);

//if(str_equal_text(&p_sess->ftp_arg_str,"UTF8 ON"))

//{

//vsf_cmdio_write(p_sess, FTP_OPTSOK,"Always in UTF8 mode.");

//}

//else

//{

//vsf_cmdio_write(p_sess, FTP_BADOPTS,"Option not understood.");

//}

}

9、返回上层目录并使用 tar-zcvf vsftpd-2.2.2.tar.gz vsftpd-2.2.2/命令重新压缩vsftpd-2.2.2.tar.gz文件:

[root@localhost SOURCES]# tar-zcvf vsftpd-2.2.2.tar.gz vsftpd-2.2.2/

我们使用ls-命令可以看到列表中vsftpd-2.2.2.tar.gz文件创建时间已经为当前创建时间,如下所示:

复制代码代码如下:

-rw-rw-r--. 1 mockbuild mockbuild 186982 5月 3 15:39 vsftpd-2.2.2.tar.gz

-rw-r--r--. 1 mockbuild mockbuild 2828 2月 13 00:06 vsftpd-2.2.2-uint-uidgid.patch

-rw-r--r--. 1 mockbuild mockbuild 1640 2月 13 00:06 vsftpd-2.2.2-v6only.patch

-rw-r--r--. 1 mockbuild mockbuild 514 2月 13 00:06 vsftpd-close-std-fds.patch

-rwxr-xr-x. 1 mockbuild mockbuild 338 2月 13 00:06 vsftpd_conf_migrate.sh

-rw-r--r--. 1 mockbuild mockbuild 125 2月 13 00:06 vsftpd.ftpusers

-rwxr-xr-x. 1 mockbuild mockbuild 2824 2月 13 00:06 vsftpd.init

-rw-r--r--. 1 mockbuild mockbuild 335 2月 13 00:06 vsftpd.pam

-rw-r--r--. 1 mockbuild mockbuild 361 2月 13 00:06 vsftpd.user_list

-rw-r--r--. 1 mockbuild mockbuild 345 2月 13 00:06 vsftpd.xinetd

10、进入源码包下的 SPECS目录,并使用rpmbuild-bb vsftpd.spec命令生成vsftpd-2.2.2-11.el6.1.x86_64.rpm:

[root@localhost SPECS]# rpmbuild-bb vsftpd.spec

此时因为系统缺少依赖包会报如下错误:

error: Failed build dependencies:

libcap-devel is needed by vsftpd-2.2.2-11.el6.1.x86_64

tcp_wrappers-devel is needed by vsftpd-2.2.2-11.el6.1.x86_64

我们可以从CentOS6.4安装盘中找到如下RPM软件包进行手动安装,包名如下:

libattr-2.4.44-7.el6.i686.rpm libcap-devel-2.16-5.5.el6.x86_64.rpm

libattr-2.4.44-7.el6.x86_64.rpm tcp_wrappers-devel-7.6-57.el6.i686.rpm

libattr-devel-2.4.44-7.el6.i686.rpm tcp_wrappers-devel-7.6-57.el6.x86_64.rpm

libattr-devel-2.4.44-7.el6.x86_64.rpm tcp_wrappers-libs-7.6-57.el6.i686.rpm

libcap-2.16-5.5.el6.i686.rpm tcp_wrappers-libs-7.6-57.el6.x86_64.rpm

libcap-2.16-5.5.el6.x86_64.rpm vsftpd-2.2.2-11.el6_3.1.src.rpm

libcap-devel-2.16-5.5.el6.i686.rpm

11、将以上各包使用rpm-ivh*.rpm-force--nodeps命令进行强制安装:

[root@localhost rpm]# rpm-ivh*.rpm--force--nodeps

warning: libattr-2.4.44-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

Preparing...########################################### [100%]

1:libattr########################################### [ 8%]

2:libcap########################################### [ 17%]

3:tcp_wrappers-libs########################################### [ 25%]

4:libattr########################################### [ 33%]

5:libcap########################################### [ 42%]

6:tcp_wrappers-libs########################################### [ 50%]

7:tcp_wrappers-devel########################################### [ 58%]

8:libcap-devel########################################### [ 67%]

9:libattr-devel########################################### [ 75%]

10:tcp_wrappers-devel########################################### [ 83%]

11:libcap-devel########################################### [ 92%]

12:libattr-devel########################################### [100%]

12、再次使用rpmbuild-bb vsftpd.spec对vsftpd-2.2.2-11.el6.1.x86_64.rpm包重新进行编译:

[root@localhost SPECS]# rpmbuild-bb vsftpd.spec

13、进入x86_64目录,此时可以看到该目录下已经生成相关RPM包:

命令模式如下:

复制代码代码如下:

[root@localhost RPMS]# cd x86_64/

[root@localhost x86_64]# ls

vsftpd-2.2.2-11.el6.1.x86_64.rpm vsftpd-debuginfo-2.2.2-11.el6.1.x86_64.rpm

14、重新安装进行过源码修改的vsftpd应用服务器组件包:

[root@localhost x86_64]# rpm-ivh vsftpd-2.2.2-11.el6.1.x86_64.rpm

Preparing...########################################### [100%]

1:vsftpd########################################### [100%]

15、CentOS6.4修改系统默认字符集:

[root@localhost/]# vi/etc/sysconfig/i18n

将原文件修改为如下内容:

复制代码代码如下:

#LANG="zh_CN.UTF-8"

LANG="zh_CN.GB18030"

SUPPORTED="zh_CN.GB18030:zh_CN:zh:zh_CN.GB2312:en_US.UTF-8:en_US:en"

SYSFONT="latarcyrheb-sun16"

此时所有修改工作已经完成,重起FTP应用服务器之后我们在windows系统中使用IE浏览器以及前期应用软件进行测试中文乱码问题消失。该解决办法同样适用于RHEL6系列操作系统中存在的VSFTPD于windows客户端字符集兼容原因导致的乱码问题。

CentOS终端命令行显示中文乱码的解决方法

安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:

   修改/etc/sysconfig/i18n,内容为

复制代码

   

代码如下:

LANG="zh_CN.GB18030"

   LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

   SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"

   SYSFONT="lat0-sun16"

退出重新登录即可

测试方法:在终端输入 date命令测试,如果显示为以下形式,则说明成功解决了

复制代码

   

代码如下:

#date

   2009年 11月 24日星期一 12:09:00 CST

如果系统中没有中文字体,请安装中文字体:

复制代码

   

代码如下:

#yum install fonts-chinese.noarch

如果字体文件找不到,也可以用rpm包安装

   需要两个中文支持的包:

   fonts-chinese-3.02-12.el5.noarch.rpm

   

fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

   

   一个是中文字体,一个是字体显示包。

下载后,在命令行安装:

复制代码

   

代码如下:

#rpm-ivh XXXX( XXXX代表上面那两个包的全名, rpm不会不知道怎么用吧?)

CentOS系统安装完成后,重新启动即可。

阅读剩余
THE END