Chinaunix首页 | 论坛 | 博客
  • 博客访问: 491042
  • 博文数量: 484
  • 博客积分: 10145
  • 博客等级: 上将
  • 技术积分: 5805
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 18:34
文章分类

全部博文(484)

文章存档

2011年(52)

2010年(107)

2009年(287)

2008年(38)

我的朋友

分类: LINUX

2011-06-08 17:52:48


http://twotwoandapple.blogbus.com/logs/48098964.html

【Debian】制作支持GBK的VSFTPD安装包 - [我用(IT)]

起因

为了方便xp和ubuntu直接共享文件,决定装个ftp,看大家都比较喜欢vsftpd,没多想,就随大流吧。
直接安装,改/etc/vsftpd.conf,重启,还是比较顺的。 

sudo apt-get install vsftpd
sudo /etc/init.d/vsftpd restart

用cuteftp和ie登录,发现中文乱码。

问题定位

google了一下,原来是因为我本地设置的是zh_CN.UTF-8,vsftpd也继承了这个编码,而常见的ftp客户端是不会用utf8显示的。
有两个解决方案,一个是把本地设置改成GBK;另外一个是打一个补丁,让vsftpd支持utf8到gbk的转码。
方案一看着简单,但对本地影响太大;那就方案二了,为了依然依托于Debian的packaging系统,干脆做个deb安装包吧。

制作vsftpd_2.0.7.deb

准备源文件和依赖库
  1. 下载源
    • - download debian source
      sudo apt-get source vsftpd
      下载后本地文件:
      vsftpd-2.0.7                    //带debian信息的文件夹
      vsftpd_2.0.7-0ubuntu1.diff.gz //patch
      vsftpd_2.0.7-0ubuntu1.dsc
      vsftpd_2.0.7.orig.tar.gz //原版源
  2. 安装依赖库
    • - build dependance
      sudo apt-get build-dep vsftpd
打补丁
  1. 从下载对2.0.7的补丁
    • net-ftp/vsftpd patches (convert encoding , UTF8 FEAT & logging in Chinese):

  2. 执行
    • patch < vsftpd-2.0.7-encoding.patch
  3. 修改debian的补丁wifexited-const.patch
    • vi debian/patches/wifexited-const.patch
      实际观察sysutil.c,由于打了上个补丁,位置有改变
打新包并且安装
- build
sudo dpkg-buildpackage -rfakeroot -uc -b

- install own build def
sudo dpkg -i vsftpd_2.0.7-0ubuntu1_i386.deb
增加配置
# for charset
charset_filter_enable=YES
charset_server=UTF8
charset_client=GB18030

Deb安装包下载

如果懒得照此操作,可以直接下载打好补丁的vsftpd_2.0.7

阅读(803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~