国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > CentOS > 正文

CentOS 6.4中出現Vsftpd 中文亂碼怎么辦

2020-05-27 13:40:37
字體:
來源:轉載
供稿:網友

   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, " UTF8rn");

  修改為://vsf_cmdio_write_raw(p_sess, " UTF8rn")。

  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客戶端字符集兼容原因導致的亂碼問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 米易县| 霸州市| 德阳市| 瓮安县| 崇明县| 清徐县| 临泽县| 平谷区| 巴东县| 宣汉县| 嘉义市| 宁德市| 牙克石市| 老河口市| 五指山市| 留坝县| 周至县| 广汉市| 密山市| 盐源县| 高邮市| 宜昌市| 昔阳县| 文安县| 桐梓县| 五寨县| 牡丹江市| 乐都县| 夏河县| 瑞丽市| 庆云县| 睢宁县| 泽库县| 安化县| 汉沽区| 龙游县| 全南县| 新泰市| 兰州市| 涞水县| 山丹县|