歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Windows文件映射到異種操作系統

Windows文件映射到異種操作系統

日期:2017/2/27 14:16:44   编辑:更多Linux
  許多局域網都是由大型主機和微機組成的。一般客戶端微機采用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


   若能得到類似下面的響應:    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 輸出的目錄和文件均映射為大寫。    其它選項請參考軟件提供的文檔。    請注意該文件的語法:選項之間以逗號分開,但第一個選項前要加減號即:-。

   比如我想把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年購置)上做試驗,均取得良好效果。





Copyright © Linux教程網 All Rights Reserved