日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁西西教程操作系統(tǒng) → CentOS 6.4 中 Vsftpd 中文亂碼的解決方案

      CentOS 6.4 中 Vsftpd 中文亂碼的解決方案

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/5/17 11:52:06字體大小:A-A+

      作者:西西點(diǎn)擊:40次評論:1次標(biāo)簽: CentOS

      • 類型:文件處理大。209KB語言:中文 評分:7.0
      • 標(biāo)簽:
      立即下載

      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 

      此時需要使用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)建時間已經(jīng)為當(dāng)前創(chuàng)建時間,如下所示:

      -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 

      此時因為系統(tǒng)缺少依賴包會報如下錯誤:

      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目錄,此時可以看到該目錄下已經(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" 

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

        hosts修復(fù)軟件
        (60)hosts修復(fù)軟件
        文件是計算機(jī)中一個舉足輕重的文件,該文件有一個比較大的特點(diǎn)就是沒有擴(kuò)展名。經(jīng)常在一些電腦個性技巧以及其他領(lǐng)域方面會用到,西西提供文件修復(fù)工具軟件下載大全。官方介紹是一個沒有擴(kuò)展名的系統(tǒng)文件,可以用記事本等工具打開,其作用就是將一些常用的網(wǎng)址域名與其對應(yīng)的地址建立一個關(guān)聯(lián)數(shù)據(jù)庫,當(dāng)用戶在瀏覽器中輸入一個需要登錄的網(wǎng)址時,系統(tǒng)會首先自動從文件中尋找對應(yīng)的地址,一旦找到系統(tǒng)會立即打開對應(yīng)網(wǎng)頁,如果沒有找...更多>>

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(1)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)