总览
make_smbcodepage c|d 代码页 输入文件 输出文件
描述
这个工具是是Samba组件的一部分。
针对Samba 2.2的国际化功能,使用make_smbcodepage可以编译或反编译代码页文件。
选项
- c|d
- 使用c把一个文本格式的代码页文件编译成二进制格式;使用d把一个二进制格式的代码页反编译成文本格式。
- 代码页
- 选用的代码页(一个数字,如850)。
- 输入文件
- 待处理的输入文件。在使用c选项时,它是文本格式的代码页预定义文件,这些文件可以在Samba包的source/codepages 目录中找到;在使用d选项时,它是二进制格式的代码页文件,通常,这些文件保存在Samba安装路径的lib/codepages目录的。
- 输出文件
- 程序产生的输出文件。
Samba的代码页文件
文本格式的代码页定义文件描述了在指定DOS代码页大于127的字符中是如何把大写转换为小写的。要注意的是,在某些DOS代码页中 (如437),大小写之间的映射并不一定对称。例如,在代码页437中,当进行小写到大写的映射时,把带有撇形(')重音符号的a转换为不带重间符号的明文大写字母A,而当进行大写到小写映射时,则把字母A直接转换为字母a而不带重间符号。
而二进制代码页定义文件则是相同信息的二进制表示,同时包含一个值,用来说明所描述的代码页。
因为Samba还没有使用UNICODE码,所以如果你希望在特殊的语言环境中不区分大小写的话,就要为DOS和Windows客户端指定所用的代码页。 Samba所用的缺省代码页是850(西欧语)。同时,Samba发布还提供了文本格式的样本代码页文件,包含437(美语)、737(希腊语)、850(西欧语)、852(MS-DOS 拉丁2)、861(冰岛语), 866 (斯拉夫语)、932 (日语)、936(简体中文)、949(韩文)和950(繁体中文)。我们鼓励用户为自己的代码页编写文本格式的定义文件,并把它捐款给samba@samba.org。当你执行'make install'命令时,source/codepages目录中的所有代码页文件都会被编译并安装到系统上。
在smb.conf文件中配置了client code page选项之后, smbd服务器就可以使用客户代码页了。
相关文件
codepage_def.<codepage>
这是Samba源代码包提供的用于输入的文本代码页文件,它们保存在 source/codepages目录中。
在这些文本格式的代码页定义文件中,每一行都包含了四个字段:
- *
- lower:小写字符的十六进制值。
- *
- upper:上述小写字符所对应的大写字符十六进制值。
- *
- map upper to lower:这是个布尔量(True或False二者选一)。用来说明在对一个文件名进行小写处理时,是否让Samba将其中的大写字符映射成小写字符。
- *
- map lower to upper:这是个布尔量(True或False二者选一)。用来说明在对一个文件名进行大写处理时,是否让Samba将其中的小写字符映射成大写字符。
codepage.<codepage> 这是Samba产生的输出二进制代码页文件,它们保存在Samba安装目录的 lib/codepage中。
安装
服务器及相关支持文件的保存位置决定于系统管理员,以下只是建议:
我们推荐把make_smbcodepage程序安装到/usr/local/samba 路径下的一个目录中,这个目录应该具有只有root可写,所有人都可读的权限。这个程序本身应该让所有用户都可执行,而不应该执行suid或sgid 操作。