当前位置:Linux教程 - Linux综合 - Windows文件映射到异种操作系统

Windows文件映射到异种操作系统

  许多局域网都是由大型主机和微机组成的。一般客户端微机采用Windows操作系统进行数据采集,主机系统则运行UNIX操作系统,完成数据处理。这样就不可避免地会遇到异种操作系统间的数据通信问题。    在这种环境中要实现数据共享,最方便的措施是采取硬盘映射技术,这在UNIX中可通过NFS来实现。遗憾的是,微软的各系列操作系统均不支持该协议。下面谈一谈如何使Windows操作系统成为NFS Server,从而使UNIX主机能够直接mount其硬盘和目录。    运行在Windows系统下的第三方NFS软件并不少,但大多需要另外购买。这里向大家推荐一免费软件——TrueGrid NFS Server。    TrueGrid NFS Server可使Windows 95/98/NT为操作系统的机器成为NFS服务器,通过硬盘映射方式实现异种操作系统之间的数据共享,从而达到数据通信对应用程序透明的目的,减轻编程强度,提高系统可靠性(见图1)。该软件的地址是http://www.truegrid.com/nfs.Html。把下载的文件用WinZip等软件解压缩,存入一新建的目录,比如c:\nfs,就可进行安装了。这个软件大小还不到450KB,含十几个文件,其中与安装和配置有关的文件有EXPorts、rpc、Portmap、nfs等。    图1 NFS工作原理    现在可以安装软件了。安装之前,你必须确定你的Windows系统已经安装好TCP/IP协议,并能正常工作。    本文中凡涉及到UNIX和Windows NT的操作,均须以系统管理员的账号登录。    第一步,打开一个MS-DOS窗口,并把该软件所在目录设置为当前目录,命令为:cd c:\nfs    第二步,在Windows所在目录(Windows 95/98一般是C:\Windows,Windows NT则为C:\Winnt)中创建一个名为etc的子目录,并把软件提供的Exports文件和rpc文件复制到这个目录中。具体命令为:     mkdir %WINDIR%\ETC     copy exports %WINDIR%\ETC\exports     copy RPC %WINDIR%\ETC\RPC    第三步,如果未指定DNS,则修改(或创建)Hosts文件。为使WinSock能够转换机器名和IP地址,Windows操作系统必须有名为Hosts的文件。该文件是文本文件,每一行的格式如下:    IP地址    机器名    一般第一行总是:    127.0.0.1   localhost    第二行则指明本机的IP地址和机器名,比如笔者的机器为:    129.0.0.65   wwj    其它各行则应包括本机所在局域网内各主机节点的IP地址和机器名,至少应包括将来拟共享本PC机文件系统的那些机器的IP地址和机器名。    对于Windows 95/98,本文件应存放在操作系统所在目录(文件全名一般是C:\Windows\Hosts);对于Windows NT,则在操作系统所在目录下的System32\Drivers\ETC子目录中(文件全名一般是C:\Winnt\System32\    Drivers\etc\Hosts)。值得一提的是,一般Windows 95/98提供一个例子文件,名为Hosts.sam,而Windows NT则原本就存有这个文件。    这一步完成后,可以用TrueGrid NFS Server提供的finfhost命令来验证。比如命令:findhost wwj或findhost 192.0.0.65
[1] [2] [3] 下一页 

   若能得到类似下面的响应:    Official Name:wwj    Address:192.0.0.65    就表明相应的机器名及其IP地址已经正确设置完毕。    第四步,修改相应UNIX主机的Hosts文件。UNIX主机的Hosts文件格式与上述相同,存放在root的etc目录中,换言之,它的全名是/etc/hosts。    准备共享PC文件系统的UNIX主机的Hosts文件中,都需包含该PC的IP地址和其机器名。比如:    129.0.0.65   wwj    129.0.0.66   sgi-o2    第五步,启动TrueGrid NFS Server。回到第一步所打开的MS-DOS窗口中,如果是Windows 95/98系统,使用下列命令启动TrueGrid NFS Server(见图2):    portmap    nfs    若使用Windows NT,则用下列命令启动:    PORTMAP add    NFS add    NFS start    请注意add和start要用小写。    图2 在Windows 95/98上运行时的任务列表    然后可以用该软件的rpcinfo -p和showmount -e命令验证程序是否已经启动,正常情况下两个命令的提示分别类似于:    program vers proto port    100000 2 tcp 111 portmapper    100000 2 udp 111 portmapper    100005 1 udp 790 mountd    100005 1 tcp 793 mountd    100003 2 udp 2049 nfs    和/c (everyone)    第六步,测试。以root登录到相应的UNIX主机,临时在根目录上建立一目录,如/pcdir,然后以mount命令把PC的C盘mount到/pcdir,命令如下:    mount wwj:/c /pcdir    随后进入/pcdir目录,就可以对PC机C盘的所有目录和文件直接进行读、写或复制、删除等操作了,与对本地目录操作完全相同。    测试完毕,可用umount命令停止共享,并把测试用目录/pcdir删除。PC机端则可以停止NFS Server的运行:对Windows 95/98而言,可用任务管理器关闭nfs;对Windows NT则可用nfs stop命令来停止NFS Server。    如何使软件自动启动呢?对于PC机端,如果运行Windows 95/98,则可把portmap.exe和nfs.exe先后加入“启动”程序组,注意顺序;若运行Windows NT,只要上述安装步骤是成功的就可以了。对于UNIX主机端,则在/etc/fstab中增加相应的控制语句即可。    对于日常维护和配置,我们介绍etc下的Exports文件:控制PC机的目录共享的有关参数文件。    Exports是一个文本文件,每一行对应输出一个本机的目录,供其它系统mount。各行格式:共享名 -选项    例如,TrueGrid NFS Server提供的缺省参数是:    /c -path=c:\    /d -path=d:\    表示该PC机的C:\和D:\目录可被任何机器mount,其muont名分别是/c和/d。    选项有多种,现介绍下面几种:    Access=host:host... 仅允许这些主机mount本行指定的目录;    path=path_name 指定输出的目录,使用绝对路径;    ro=host:host... 输出的目录对所列主机是只读的;    uid=n 指定输出目录的各文件的uid;    gid=n 指定输出目录的各文件的gid;    umask=m 指定输出目录的各文件的umask;    dmask=m 指定输出目录的各文件的dmask;    lc 输出的目录和文件均映射为小写;    UC 输出的目录和文件均映射为大写。    其它选项请参考软件提供的文档。    请注意该文件的语法:选项之间以逗号分开,但第一个选项前要加减号即:-。
上一页 [1] [2] [3] 下一页 

   比如我想把C:\jingzhi共享为文件系统jz,且该目录下的文件映射到UNIX下的访问权限置为rwxr-xr-x,可把如下一行加入etc中的Exports文件:/jz -umask=022,lc,path=c:\jingzhi    TrueGrid NFS Server可使Windows 95/98/NT操作系统的文件系统输出给所有支持NFS的UNIX操作系统。笔者在Windows 95/98/NT和新型SGI O2工作站及一台非主流小型机(1992年购置)上做试验,均取得良好效果。

(出处:http://www.sheup.com)


上一页 [1] [2] [3] 

(出处:http://www.sheup.com/)


上一页 [1] [2] [3] [4]