免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 991 | 回复: 0
打印 上一主题 下一主题

fuse-convmvfs项目 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-01 23:15 |只看该作者 |倒序浏览
Abstract
========

This is a filesystem client use the FUSE(Filesystem in
USErspace) interface to convert file name from one charset
to another.
Motivation
==========

Convmv(
http://osx.freshmeat.net/projects/convmv/
)is a
utility to converts filenames (not file content),
directories, and even whole filesystems to a different
encoding. Inspired by this tool, born was the convmvfs which
mirror a whole filesystem tree from one charset to another.
For example, in China there's a National Standard called
GB2312 which defined a charset to present most of the
Chinese character. And many ftp client used in China only
accept and show filename in GB2312. But in *nix world i18n
is more acceptable than l10n so many *nix server use UTF-8.
For example, there's a linux hosted box run a ftp server app
on it. The ftp server export /ftp/pub to anonymous access in
which all filenames are in UTF-8 charset. Now we can make a
directory called /ftp/pub_gb2312 and use our convmvfs tool to
mount a special fuse filesystem on /ftp/pub_gb2312, which
hotly convert the filename in /ftp/pub from UTF-8 to GB2312
but leave the contant unchanged.
Install
=======

First you need to download FUSE 2.5 or later from:
  
http://fuse.sourceforge.net
After installing FUSE, compile convmvfs the usual way:
  ./configure
  make
  make install (as root)
And you are ready to go.
If checking out from CVS for the first time also do
'autoreconf -iv' before doing './configure'.
How to use
==========

Once convmvfs is installed running it is very simple:
usage: convmvfs mountpoint [options]
general options:
    -o opt,[opt...]        mount options
    -h   --help            print help
    -V   --version         print version
FUSE options:
    -d   -o debug          enable debug output (implies -f)
    -f                     foreground operation
    -s                     disable multi-threaded operation
    -o allow_other         allow access to other users
    -o allow_root          allow access to root
    -o nonempty            allow mounts over non-empty file/dir
    -o default_permissions enable permission checking by kernel
    -o fsname=NAME         set filesystem name
    -o large_read          issue large read requests (2.4 only)
    -o max_read=N          set maximum size of read requests
    -o hard_remove         immediate removal (don't hide files)
    -o use_ino             let filesystem set inode numbers
    -o readdir_ino         try to fill in d_ino in readdir
    -o direct_io           use direct I/O
    -o kernel_cache        cache files in kernel
    -o umask=M             set file permissions (octal)
    -o uid=N               set file owner
    -o gid=N               set file group
    -o entry_timeout=T     cache timeout for names (1.0s)
    -o negative_timeout=T  cache timeout for deleted names (0.0s)
    -o attr_timeout=T      cache timeout for attributes (1.0s)
CONVMVFS options:
    -o srcdir=PATH         which directory to convert
    -o icharset=CHARSET    charset used in srcdir
    -o ocharset=CHARSET    charset used in mounted filesystem
Note:
* If you use normal user to mount file system be sure to have
r/w permision to /dev/fuse.
* use iconv --list to see which charsets are supported.
* to allow other user to access the mount point use allow_other option
Sample use:
* to mount
$convmvfs /ftp/pub_gbk -o srcdir=/ftp/pub, \
         icharset=utf8,ocharset=gbk
* to umount
$fusermount -u /ftp/pub_gbk


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29270/showart_1767418.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP