make_smbcodepage - 为Samba创建代码页文件

总览

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 操作。 

posted @ 2019-06-26 13:28  樊伟胜  阅读(182)  评论(0编辑  收藏  举报