歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux網絡

Linux網絡管理員手冊(12)

  第十二章 管理Taylor UUCP   12.1 歷史回顧   UUCP是AT&T貝爾實驗室的Mike Lesk在七十年代末期設計的,用於在公共電話線路上提供簡單  的撥號上網服務。由於許多想在自己的機器上有email和Usenet News的人仍然使用modem進行  通信,所以UUCP仍然很流行。盡管有運行於各種類型的硬件平台和操作系統上的許多實現版  本,然而它們在很高的程度上是兼容的。   然而,盡管在過去的這些年中有許多軟件以各種方式已成為“標准”,還沒有一個UUCP軟件  被稱為UUCP的。自從在1976年第一個版本實現以來,它經歷了一個穩固的演變過程。目前,  存在著兩個主要種類,它們在硬件支持和配置上是不同的。它們都有各式各樣的實現,每種  實現都有一些細微的差別。   其中一類就是所謂的“版本2 UUCP”,它是Mike Lesk、David A. Novitz和Greg Chesson於  1977年實現的。盡管這是一個很老的版本,但仍然被經常使用。版本2的近期實現提供了更新  的UUCP種類的易用性。   第二種是於1983年開發的,並且通常被稱為BNU(基本連網工具)、HoneyDanBer UUCP,或簡  稱為HDB。這個名稱產生自作者的名字,P. Honeyman、D. A. Novitz和B. E. Redman。HDB考  慮到了排除版本2 UUCP的某些不足之處。例如,增加了新的傳輸協議並且針對每個與之有UU  CP通信的站點都有一個獨立的目錄。   目前隨同Linux發行的UUCP實現是Taylor UUCP 1.04,[1]本章即基於這個版本進行討論。Ta  ylor UUCP 版本1.04是於1993年2月發布的。除了傳統的配置文件以外,Taylor UUCP也可被  編譯成使用新的樣式 – a.k.a.“Taylor”—配置文件。   最近發行了1.05版,並且不久就將融入大多數Linux發行版中。這些版本的不同之處主要在於  你不太會使用到的特性上,所以你可以使用本書中的信息來配置Taylor UUCP 1.05版。   對於包含在許多Linux發行中的Taylor UUCP,它通常被編譯成BNU兼容的,或者是使用Taylo  r配置方案的,或者間而有之。由於後者更具靈活性,並且可能比經常是晦澀的BNU配置文件  易於理解,所以下面我將介紹Taylor配置方案。   本章的目的不是給你一個對UUCP命令的命令行選項是什麼和怎麼使用的詳盡描述,而是給你  一個對如何設置一個可使用的UUCP站點的概要介紹。第一部分給出了有關UUCP是如何實現遠  程執行和文件傳輸的一個簡要說明。如果對於UUCP,你不是一個完全的新手的話,你可以跳  過這一部分而直接到UUCP的配置文件部分,該部分解釋了用於設置UUCP的各種文件。   然而,我們將假設你對UUCP套件的用戶程序很熟悉。這些程序是uucp和uux。有關這兩個命令  的介紹,請參見在線手冊頁。   除了通常使用的uux和uucp程序,UUCP套件還包含了僅用於管理目的的一系列命令。它們用於  監視通過你的節點的UUCP通信、刪除老的日志文件或者匯總統計參數。這裡將不對它們進行  任何說明,因為它們與UUCP的主要任務是並行的。而且,它們有很好的文檔可作參考並且很  容易理解。不過,還有一類,它們是由UUCP實際的“工作機器”組成。它們被稱為uucico(  這裡cico代表copy-in copy-out)和uuxqt—用於執行遠程系統發送來的作業。   12.1.1 有關UUCP的更多信息   對於不能在本章中找到所要信息的人,應該閱覽隨該軟件包而來的文檔。這是描述使用Tayl  or配置方案進行設置的一打texinfo文件。可以分別使用tex和makeinfo將texinfo轉換成DVI  和GNU信息文件。   如果你想使用BNU或者甚至是(令人戰栗的)版本2配置文件的話,這裡有一本很好的書,“  管理UUCP和Usenet”([Oreilly89])。我發現它非常有用。其它有關Linux上UUCP的很好的  信息來源是Vince Skahan的UUCP-HOWTO,它是定期地投遞到comp.os.linux.announce上的。     當然還有一個專門討論UUCP的新聞組,叫做comp.mail.uucp。如果你有針對Taylor UUCP的問  題,你最好在那裡去問他們,而不要在comp.os.linux組中。   12.2 概述   12.2.1 UUCP傳輸和遠程執行的概要   對於理解UUCP至關重要的概念是作業(jobs)。用戶使用uucp或uux發起的每一個傳輸被稱作  一個作業。它是由在遠程系統上執行的命令,以及將要被在站點間傳輸的文件集構成。當然  ,可以省略其中一部分。   作為一個例子,假設你在你的主機上發出了下面的命令,該命令使得UUCP將文件netguide.p  s拷貝到主機pablo上,並且使得它執行lpr命令來打印這個文件。   $ uux –r pablo!lpr !netguide.ps   UUCP通常不會立刻調用遠程系統來執行一個作業(不過你可以使用kermit來做到)。而是臨  時地將該作業描述存儲起來。這稱為假脫機操作(spooling)。作業所存放的目錄樹因此也  就稱為假脫機目錄(spool Directory)並且通常位於/var/spool/uucp中。在我們的例子中  ,該作業描述含有將被執行的遠程命令(lpr)的有關信息、要求進行該操作的命令以及其它  一些項目。除了這個作業描述,UUCP也需要存儲輸入的文件netguide.ps。   假脫機文件所在的確切位置和命名方法是可以不同的,這依賴於一些編譯時的選項。HDB兼容  的UUCP通常將假脫機文件存儲於命名為/var/spool/uucp/site的目錄中,這裡site是遠端站  點的名稱。當以Taylor配置方式編譯時,UUCP將針對不同類型的假脫機文件在指定站點的假  脫機目錄下再創建子目錄。   在規定的時間間隔,UUCP將向遠程系統撥號。當與遠程系統的連接建立後,UUCP就會傳輸描  述作業的文件,加上所有的輸入文件。輸入的作業不會立刻被執行的,而要到連接結束關閉  之後。這是用uuxqt來執行的,如果有指定到其它站點的作業,它也處理這些作業的轉發工作  。   為了區分重要的和不很重要的作業,UUCP給每個作業指定了一級別(grade)。這是一單個字  母,范圍從0到9、A到Z以及a到z,級別從大到小。Mail通常以級別B或C進行假脫機操作,而  news則以級別N進行假脫機操作。級別越高的作業傳輸的越早。級別可以在調用uucp或uux時  用-g標志來指定。   你也可以在一定時間內禁止低於某級別的作業的傳輸。這稱為在對話期間所允許的最大假脫  機級別(maximum spool grade),缺省值是z。這裡請注意術語上的含糊不清:一個文件將  被傳輸當且僅當它的級別等於或高於最大假脫機級別。   12.2.2 uucico的內部工作機制   要理解為什麼uucico需要知道某些事情,這裡給出了它實際上是如何連接至遠程系統的一個  快速描述。   當你在命令行上執行uucico –s system時,它首先必須進行物理連接。所進行的操作起決於  所打開的連接類型 – 例如,當使用電話線時,它必須找到一個modem,並且進行撥號。而在  TCP上,它就必須調用gethostbyname(3)將名字轉換為一個網絡地址、找出要打開那一個端口  ,並且將該地址綁定於相應的套接字(socket)上。   在這個連接被建立起來後,接下來必須通過一個認證過程。這常常是由遠程系統詢問一個登  錄名字以及一個可能的密碼組成。這通常被稱為登錄對話(login chat)。認證過程或者是  通過通常的getty/login套件執行的,或者是由uucico自身在TCP套接字上完成的。如果認證  成功的話,遠端系統就會啟動uucico。初始化連接的本地uucico拷貝被視作主端(master)  ,遠端的則作為從端(slave)。   接下來是握手階段(handshake phase);主端現在發出自己的主機名,加上幾個標志,從端  檢查這個主機名的登錄許可,發送和接收文件等等。這些標志用於描述(以及在其它一些事  情中)被傳輸的假脫機文件的最大級別。如果使能的話,這裡將會進行一個對話計數,或調  用序列號的檢查。使用這個特性,兩端站點就維持有一個成功連接的計數,可用於進行比較  。如果它們不匹配的話,握手過程就失敗了。這對於保護你免受冒充者是很有用的。   最後,兩個uucico試著達成一個共同的傳輸協議。這個協議指導數據被傳輸的方法、檢查一  致性並且在出錯時進行重傳操作。針對所支持的不同的連接類型需要有不同的協議。例如,  電話線路要求有一個對於出錯保守的“安全”協議,而TCP傳輸天生就是可靠的因此可以使用  一個更為有效的無須附加出錯檢查的協議。   在握手階段完成以後,就開始進行實際的傳輸階段。傳輸兩端開啟所選的協議驅動程序。驅  動程序一般還要進行與該協議相關的初始化過程。   首先,主端將發送假脫機級別足夠高的排於隊列中的所有文件到遠程系統中。當它完成傳輸  後就會通知從端,此時從端就可以掛斷了。現在從端可以或者同意掛斷,或者將對話控制權  接過來。這是一個規則的變化:現在遠程系統變成了主端,而本地則變成了從端。新的主端  現在發送它的文件。當完成後,兩個uucico互相交換傳輸消息,並關閉連接。   我們將不再進行更為詳細的描述:請參閱代碼或任何針對於此的有關UUCP的好書。在網上也  還流傳著一篇很古老的文章,是由David A. Novitz寫的,它給出了UUCP協議的詳細描述。T  aylor UUCP FAQ也討論了UUCP實現方法的某些細節。它被定期地投遞到comp.mail.uucp上。     12.2.3 uucico命令行選項   本節描述uucico的一些最重要的命令行選項。有關完整的命令行選項列表,請參閱uucico(1  )手冊頁。   -s system 呼叫指定的系統(system)除非受到呼叫時間的限制。   -S system 無條件地呼叫指定的(system)。   -r1 以主端(master)模




Copyright © Linux教程網 All Rights Reserved