CentOS6.4中出現(xiàn)Vsftpd中文亂碼如何解決

這篇文章主要介紹“CentOS 6.4中出現(xiàn)Vsftpd中文亂碼如何解決”,在日常操作中,相信很多人在CentOS 6.4中出現(xiàn)Vsftpd中文亂碼如何解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”CentOS 6.4中出現(xiàn)Vsftpd中文亂碼如何解決”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信公眾號開發(fā)、成都做商城網(wǎng)站,微信小程序定制開發(fā),軟件專業(yè)公司等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

Windows客戶端訪問FTP應(yīng)用服務(wù)器出現(xiàn)亂碼。這是由于UTF-8與GBK不兼容而頭疼的引起的,采用源碼方式編譯安裝就可將此問題解決。

亂碼解決過程

1、首先使用 rpm -e vsftpd卸載系統(tǒng)安裝的默認(rèn)VSFTPD應(yīng)用服務(wù)器:

[root@localhost ~]# rpm -e vsftpd

2、從http://vault.centos.org/6.3/updates/Source/SPackages/網(wǎng)站下載vsftpd-2.2.2-11.el6_3.1.src.rpm 源碼包。

3、使用 rpm -ivh vsftpd-2.2.2-11.el6_3.1.src.rpm 對該包進(jìn)行安裝:

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

安裝過程中系統(tǒng)會提示類似如下錯誤

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

此時(shí)需要使用adduser mockbuild命令創(chuàng)建mockbuild用戶

[root@localhost birdofprey]# adduser mockbuild

4、重新使用rpm -ivh vsftpd-2.2.2-11.el6_3.1.src.rpm 對該包進(jìn)行安裝:

[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進(jìn)入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進(jìn)入vsfftpd-2.2.2源碼目錄:

[root@localhost SOURCES]# cd vsftpd-2.2.2

7、使用命令vi features.c修改 features.c文件;將行內(nèi)容為: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函數(shù)修改成如下:

代碼如下:


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文件創(chuàng)建時(shí)間已經(jīng)為當(dāng)前創(chuàng)建時(shí)間,如下所示:

代碼如下:


-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、進(jìn)入源碼包下的 SPECS目錄,并使用rpmbuild -bb vsftpd.spec命令生成vsftpd-2.2.2-11.el6.1.x86_64.rpm:

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

此時(shí)因?yàn)橄到y(tǒng)缺少依賴包會報(bào)如下錯誤:

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軟件包進(jìn)行手動安裝,包名如下:

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命令進(jìn)行強(qiáng)制安裝:

[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包重新進(jìn)行編譯:

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

13、進(jìn)入x86_64目錄,此時(shí)可以看到該目錄下已經(jīng)生成相關(guān)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、重新安裝進(jìn)行過源碼修改的vsftpd應(yīng)用服務(wù)器組件包:

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

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

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

15、CentOS6.4修改系統(tǒng)默認(rèn)字符集:

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

將原文件修改為如下內(nèi)容:

代碼如下:


#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"


此時(shí)所有修改工作已經(jīng)完成,重起FTP應(yīng)用服務(wù)器之后我們在windows系統(tǒng)中使用IE瀏覽器以及前期應(yīng)用軟件進(jìn)行測試中文亂碼問題消失。該解決辦法同樣適用于RHEL6系列操作系統(tǒng)中存在的VSFTPD于windows客戶端字符集兼容原因?qū)е碌膩y碼問題。

到此,關(guān)于“CentOS 6.4中出現(xiàn)Vsftpd中文亂碼如何解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

新聞標(biāo)題:CentOS6.4中出現(xiàn)Vsftpd中文亂碼如何解決
文章分享:http://muchs.cn/article18/gdsdgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、品牌網(wǎng)站制作、網(wǎng)站排名、外貿(mào)建站、Google響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)