一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Centos - CentOS 6.4中出現Vsftpd中文亂碼解決過程

CentOS 6.4中出現Vsftpd中文亂碼解決過程

2019-10-06 21:06CentOS教程網 Centos

這是由于UTF-8與GBK不兼容而頭疼的引起的,采用源碼方式編譯安裝就可將此問題解決,具體過程如下,感興趣的朋友可以參考下

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

亂碼解決過程: 

1、首先使用 rpm -e vsftpd卸載系統安裝的默認VSFTPD應用服務器: 

[root@localhost ~]# rpm -e vsftpd 

2、從http://vault.centos.org/6.3/updates/Source/SPackages/網站下載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客戶端字符集兼容原因導致的亂碼問題。

延伸 · 閱讀

精彩推薦
  • Centoscentos不小心刪除/root目錄該如何解決?

    centos不小心刪除/root目錄該如何解決?

    一些朋友最近在問小編centos不小心刪除/root目錄該如何解決?今天小編就為大家分享centos不小心刪除/root目錄解決辦法;希望對大家會有幫助,有需要的朋友...

    腳本之家8022019-05-29
  • CentosCentos 7開啟網卡自動獲取IP的詳細方法

    Centos 7開啟網卡自動獲取IP的詳細方法

    本篇文章主要介紹了Centos 7開啟網卡自動獲取IP的詳細方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    凌鋒8972021-12-29
  • CentosCentOS下Uptime命令詳解

    CentOS下Uptime命令詳解

    在Linux下,我們可以使用uptime命令,而且此命令不必使用root權限。uptime命令在系統中已經默認安裝了。今天小編為大家帶來的是CentOS下Uptime命令詳解;希望...

    CentOS之家11482019-06-19
  • Centoscentos 安裝與操作方法

    centos 安裝與操作方法

    這篇文章主要介紹了centos 安裝與操作方法,需要的朋友可以參考下...

    centos之家5272019-07-11
  • CentosCentOS6.5下Redis安裝與配置詳細步驟

    CentOS6.5下Redis安裝與配置詳細步驟

    本篇文章主要介紹了CentOS6.5下Redis安裝與配置詳細步驟,詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。有興趣的可以了解一下。...

    飛流11452021-12-24
  • CentosCentos7運用/dev/shm進行網站優化

    Centos7運用/dev/shm進行網站優化

    這篇文章主要介紹了LINUX中Centos7運用/dev/shm進行網站優化相關知識點,對此有興趣的朋友參考學習下。...

    彬菌9912022-03-02
  • CentosCentOS 6.6實現永久修改DNS地址的方法

    CentOS 6.6實現永久修改DNS地址的方法

    這篇文章主要介紹了CentOS 6.6實現永久修改DNS地址的方法,涉及針對CentOS配置文件的相關設置技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    Linux社區4472020-08-21
  • CentosCentOS7設置日期和時間方法以及基本概念介紹

    CentOS7設置日期和時間方法以及基本概念介紹

    這篇文章主要介紹了CentOS7設置日期和時間方法以及基本概念介紹,本文講解使用CentOS7中的新命令timedatectl設置日期時間方法,需要的朋友可以參考下 ...

    CentOS之家6522019-09-19
主站蜘蛛池模板: 青青青国产 | 91精品大神国产在线播放 | 特级淫片欧美高清视频蜜桃 | 午夜影院免费体验 | 精品免费tv久久久久久久 | 火影忍者羞羞 | 四虎影视e456fcom四虎影视 | 调教老师肉色丝袜的故事 | 四虎影视网址 | 国产在线观看91 | 午夜特级毛片 | 五月天久久久 | 亚洲国产成人精品无码区APP | 动漫xnxx | 五月色婷婷在线影院 | 免费在线观看亚洲 | 久久青青草原精品国产软件 | 182免费在线观看 | 欧美日韩在线观看区一二 | 亚州在线播放 | 日韩美一区二区三区 | 亚洲一二三区久久五月天婷婷 | 5g影院天天5g天天爽大陆 | 四虎在线最新永久免费 | 美女69xx | 欧美日韩高清完整版在线观看免费 | 逼逼狗影院| 大东北chinesexxxx露脸 | 香蕉eeww99国产精选播放 | 男人的天堂在线 | 日韩国产成人精品视频 | 成人福利视频网址 | 蜜柚精彩在线观看 | 亚洲国产精品综合久久一线 | 合欢视频免费 | 国产福利在线观看永久视频 | 色欲麻将 | 国产自拍视频网站 | 国产成人精品一区二三区2022 | 亚洲理论视频 | 狠狠干综合网 |