成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

原創
運維 系統運維
由于操作系統升級,導致前期部署FTP應用服務器產生的應用數據采用Windows客戶端訪問服務器出現亂碼。本文總結了CentOS 6.4 中 Vsftpd 解決中文亂碼的全過程,希望對那些UTF-8與GBK不兼容而頭疼的系統管理員們有所幫助。

  【51CTO專稿】我單位因為操作系統升級,導致前期部署FTP應用服務器產生的應用數據采用Windows客戶端訪問服務器出現亂碼。后經管理員采用源碼方式編譯安裝將問題解決,現將解決方法進行總結,希望能為那些UTF-8與GBK不兼容而頭疼的系統管理員們有所幫助。

  一、系統簡介:單位前期FTP使用REDHAT公司提供的RHEL5.5操作系統,升級后操作系統為CentOS6.4。

  二、亂碼解決過程

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

  1. [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 對該包進行安裝:

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

  安裝過程中系統會提示類似如下錯誤:

  1. warning: vsftpd-2.2.2-11.el6_3.1.src.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY 
  2. 1:vsftpd warning: user mockbuild does not exist - using root 
  3. ########################################### [100%] 
  4. warning: user mockbuild does not exist - using root 
  5. warning: group mockbuild does not exist - using root 
  6. warning: user mockbuild does not exist - using root 
  7. warning: group mockbuild does not exist - using root 
  8. warning: user mockbuild does not exist - using root 
  9. warning: group mockbuild does not exist - using root 

  此時需要使用adduser mockbuild命令創建mockbuild用戶:

  1. [root@localhost birdofprey]# adduser mockbuild 

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

  1. [root@localhost birdofprey]# rpm -ivh vsftpd-2.2.2-11.el6_3.1.src.rpm 
  2. warning: vsftpd-2.2.2-11.el6_3.1.src.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY 
  3. 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源碼包:

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

  6、使用命令cd vsftdp-2.2.2進入vsfftpd-2.2.2源碼目錄:

  1. [root@localhost SOURCES]# cd vsftpd-2.2.2 

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

  1. 修改為://vsf_cmdio_write_raw(p_sess, " UTF8\r\n")。 

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

  1. 將handle_opts函數修改成如下: 
  2. void 
  3. handle_opts(struct vsf_session* p_sess) 
  4. str_upper(&p_sess->ftp_arg_str); 
  5. //if (str_equal_text(&p_sess->ftp_arg_str, "UTF8 ON")) 
  6. //{ 
  7. //vsf_cmdio_write(p_sess, FTP_OPTSOK, "Always in UTF8 mode."); 
  8. //} 
  9. //else 
  10. //{ 
  11. //vsf_cmdio_write(p_sess, FTP_BADOPTS, "Option not understood."); 
  12. //} 

  9、返回上層目錄并使用 tar -zcvf vsftpd-2.2.2.tar.gz vsftpd-2.2.2/命令重新壓縮vsftpd-2.2.2.tar.gz文件:

  1. [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:

  1. [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命令進行強制安裝:

  1. [root@localhost rpm]# rpm -ivh *.rpm --force --nodeps 
  2. warning: libattr-2.4.44-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY 
  3. Preparing...             ########################################### [100%] 
  4. 1:libattr                ########################################### [  8%] 
  5. 2:libcap                 ########################################### [ 17%] 
  6. 3:tcp_wrappers-libs      ########################################### [ 25%] 
  7. 4:libattr                ########################################### [ 33%] 
  8. 5:libcap                 ########################################### [ 42%] 
  9. 6:tcp_wrappers-libs      ########################################### [ 50%] 
  10. 7:tcp_wrappers-devel     ########################################### [ 58%] 
  11. 8:libcap-devel           ########################################### [ 67%] 
  12. 9:libattr-devel          ########################################### [ 75%] 
  13. 10:tcp_wrappers-devel    ########################################### [ 83%] 
  14. 11:libcap-devel          ########################################### [ 92%] 
  15. 12:libattr-devel         ########################################### [100%] 

  12、再次使用rpmbuild -bb vsftpd.spec對vsftpd-2.2.2-11.el6.1.x86_64.rpm包重新進行編譯:

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

  13、進入x86_64目錄,此時可以看到該目錄下已經生成相關RPM包:

  命令模式如下:

  1. [root@localhost RPMS]# cd x86_64/ 
  2. [root@localhost x86_64]# ls 
  3. vsftpd-2.2.2-11.el6.1.x86_64.rpm  vsftpd-debuginfo-2.2.2-11.el6.1.x86_64.rpm 

  14、重新安裝進行過源碼修改的vsftpd應用服務器組件包:

  1. [root@localhost x86_64]# rpm -ivh vsftpd-2.2.2-11.el6.1.x86_64.rpm 
  2. Preparing...      ########################################### [100%] 
  3. 1:vsftpd          ########################################### [100%] 

  15、CentOS6.4修改系統默認字符集:

  1. [root@localhost /]# vi /etc/sysconfig/i18n 
  2. 將原文件修改為如下內容: 
  3. #LANG="zh_CN.UTF-8" 
  4. LANG="zh_CN.GB18030" 
  5. SUPPORTED="zh_CN.GB18030:zh_CN:zh:zh_CN.GB2312:en_US.UTF-8:en_US:en" 
  6. SYSFONT="latarcyrheb-sun16" 

  此時所有修改工作已經完成,重起FTP應用服務器之后我們在windows系統中使用IE瀏覽器以及前期應用軟件進行測試中文亂碼問題消失。該解決辦法同樣適用于RHEL6系列操作系統中存在的VSFTPD于windows客戶端字符集兼容原因導致的亂碼問題。

相關RPM包整理:vsftpd-2.2.2-11.el6.3.1.src.rpm.tar.bz2

【聲明】本文作者:解寶琦、荊斌,陜西安康市安康車務段電算室的助工。本文在51CTO系統頻道首發,轉載請注明作者和出處。

責任編輯:黃丹 來源: 51CTO.com
相關推薦

2015-04-01 10:26:32

開發中文亂碼問題

2011-02-24 10:48:51

FireFTP

2009-11-26 16:30:52

Suse中文亂碼問題

2011-12-21 14:46:26

JavaJFreeChart

2009-07-01 18:05:54

JSP中文亂碼

2010-05-20 10:00:58

MySQL 中文亂碼

2010-05-24 11:17:41

MySQL數據庫

2010-05-14 17:27:40

MySQL中文亂碼

2010-05-17 14:49:43

MySQL中文亂碼

2010-11-09 17:09:23

SQL Server中

2011-02-23 14:38:39

安裝CentOS vsftpd

2009-07-02 13:32:56

JSP中文亂碼

2009-06-19 11:16:14

java web中文亂碼

2011-02-23 14:38:39

安裝CentOS vsftpd

2011-02-24 10:18:41

CentOS配置vsftpd

2011-03-02 09:52:03

2017-08-02 15:51:24

PHP中文亂碼

2024-11-08 13:47:35

中文亂碼配置

2010-05-19 15:59:30

MySQL 中文亂碼

2011-03-01 15:38:44

Fireftp亂碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区电影网 | 午夜寂寞网站 | 亚洲精品一区中文字幕 | 亚洲二区在线观看 | 亚洲国产精品精华素 | 黄视频免费观看 | 日本精品久久久久久久 | 国产精品观看 | 91精品国产乱码久久久 | 国产精品免费在线 | 91综合在线视频 | 国产网站在线免费观看 | 亚洲精品日韩在线 | 成人午夜免费福利视频 | 国产一级视频在线观看 | 久久久久国产一区二区三区 | 国产人成精品一区二区三 | 成人av资源在线 | 日韩成人性视频 | 亚洲视频在线观看 | 日日想夜夜操 | 国产精品一区二区三级 | 中文字幕av色 | 国产精品久久久久久高潮 | 在线观看av网站 | 国产精品美女久久久免费 | 精品国产91| 亚洲成人综合社区 | 亚洲综合一区二区三区 | 黄色免费看 | 欧美www在线观看 | 精品免费国产一区二区三区四区介绍 | 亚洲国产精品激情在线观看 | 午夜免费视频 | 一区二区三区久久久 | 日韩精品一区二区三区中文在线 | 久久精品一区二区视频 | 国产三级大片 | 国产精品视频在线播放 | 国产精品视频一区二区三区四蜜臂 | 99re视频|