集群環(huán)境下維護各節(jié)點 Linux 軟件包的方法 |
發(fā)布時間: 2012/5/21 13:19:02 |
前言 目前,越來越多的網(wǎng)站采用 Linux 操作系統(tǒng),提供郵件、Web、文件存儲、數(shù)據(jù)庫等服務。也有非常多的公司在企業(yè)內(nèi)部網(wǎng)中利用 Linux 服務器提供這些服務。隨著人們對 Linux 服務器依賴的加深,對其可靠性、負載能力和計算能力也倍加關注。Linux 集群技術應運而生,可以以低廉的成本,很好地滿足人們的這些需要。隨著 Linux 集群環(huán)境的使用越來越廣泛,管理員維護集群各個節(jié)點的軟件面臨著越來越大的問題,例如如何在節(jié)點安裝新的軟件、如何維護各節(jié)點軟件版本的一致性,等等。如果讓管理員一個個節(jié)點的安裝、更新,那將會是一項非常繁重并且容易出錯的工程。為了充分發(fā)揮 Linux 集群系統(tǒng)的潛在性能,我們需要有更好的方法來維護集群節(jié)點的軟件包。本文將會介紹幾種常用的軟件維護工具,最后還將給出集群環(huán)境下實現(xiàn)節(jié)點軟件包自動維護的方法。 Linux 集群環(huán)境手工維護軟件存在的問題 Linux 操作系統(tǒng)跟微軟操作系統(tǒng)不同,它都是一個個相對獨立的軟件所構成的一個操作系統(tǒng),一個軟件包完成一項單獨的功能。為此 Linux 系統(tǒng)管理員平時大部分時間都在跟 Linux 系統(tǒng)軟件包打交道。系統(tǒng)管理員要根據(jù)企業(yè)員工的需要,選擇并安裝恰當?shù)能浖?/p> Linux 服務器的軟件包也如同 Windows 操作系統(tǒng)的補丁一樣在不斷的升級。Linux 服務器軟件的升級主要有兩個目的。一是增強軟件的功能,二是解決一些已知的安全漏洞。如 RedHat 公司在知道新的安全漏洞之后,就會馬上研究開發(fā)出相應的解決方案,然后在新版本的軟件包中進行解決。為此系統(tǒng)管理員必須及時的了解軟件包的最新信息并及時的對軟件包進行升級,讓軟件包保持最新的版本。 在 Linux 系統(tǒng)中,軟件包的依賴關系讓人很是頭疼。如在安裝 Linux 系統(tǒng)時,不是選擇安裝所有的軟件包。在安裝完 Linux 系統(tǒng)后,若再進行軟件安裝的話,就可能會遇到一些依賴關系的問題,如在安裝 PHP 軟件包時,系統(tǒng)就可能會提示一些錯誤信息。說需要其他的一些軟件包的支持。其實類似的情況在 Windows 中也會遇到。如有時候安裝一些應用軟件可能對瀏覽器的版本會有要求或者要求操作系統(tǒng)的補丁達到 SP2 以上等等。不過在微軟操作系統(tǒng)上這種軟件依賴關系要比在 Linux 系統(tǒng)中少見的多,而且處理起來也方便一些。 Linux 環(huán)境下維護軟件工具介紹 Linux 環(huán)境下軟件包的維護工具有很多種,本文中我們只簡單介紹一下 RPM,YUM 和 AutoUpdate 三種工具。 RPM RPM 源自 Red Hat Package Manager 的縮寫,最初在 Red Hat Linux 中被用作軟件包管理。在眾多的 Linux 發(fā)行版中均有應用,如 Fedora 、RedHat、Mandriva、SuSE、YellowDog 等,還有一些非 Linux 平臺,如 Novell 的 NetWare、IBM 的 AIX 等。 軟件在 RPM 中是以包的形式存在的,包括可執(zhí)行程序以及運行時所需要的文件。用戶可以使用 RPM 用來處理如下的任務: 管理軟件的安裝、刪除、升級等。 查詢軟件信息,如軟件內(nèi)容、版本、文件歸屬等。 依賴性檢查 生成軟件包,進行軟件包的驗證和簽名等。 RPM 不只是一個包管理工具,更是文件格式和標準。因為 RPM 應用的廣泛性,有眾多的包管理軟件是基于 RPM 做的二次開發(fā)。 RPM 在軟件包依賴性上存在弱點,這使其受人詬病。這一點在其他一些包管理工具中得到了解決。 YUM YUM 源自 Yellowdog Updater, Modified,這是一個開源并且與 RPM 兼容的包管理工具。2007 年,YUM 應用到了 RedHat 平臺,并且成為了很多 Linux 發(fā)行版的標準功能。 YUM 有一個簡單的插件接口,開發(fā)人員可以方便的通過接口增加新的功能。YUM 的數(shù)據(jù)庫采用了 xml 格式,這使其很快成為了一個標準。另外,.sqlite meta-data 格式也在引入,也提供了更好的性能。 YUM 的最大好處就是能自動的解決軟件包依賴性問題,使得軟件包的管理更加的自動化和方便。特別是如果需要管理一大批的計算機,比起 RPM,使用 YUM 會方便許多。YUM 還可以提供服務緩沖功能,在管理一批機器的時候,可以指定其中某一臺為鏡像服務器,其他機器從鏡像服務器上進行下載而不是通過 Internet,這樣不但可以節(jié)省帶寬和資源,對于管理員來說,也可以方便的讓一批機器保持一致性。 AutoUpdate AutoUpdate 是一個由 Perl 腳本編寫的包管理工具,功能類似 RedHat 的 up2date 或者 autorpm(這兩個基本已停止了開發(fā))。AutoUpdate 可以自動的從不同的 ftp 或者 http 站點下載和安裝 rpm 包;也可以用于讓多臺機器與某一臺自定義的服務器保持軟件包的同步。AutoUpdate 從一開始就被設計為不僅僅運行于 RedHat 平臺,所有 RPM 兼容的 Linux 發(fā)行版都可以用。 與其他的包管理工具相比,AutoUpdate 有如下的特點: 與 up2date 等類型的工具相比,AutoUpdate 可以同時支持 RedHat 或者第三方的 rpm 包。另外,還可以通過設置一臺服務器,其他機器從服務器獲取包的方式來節(jié)省總體的帶寬。 AutoUpdate 能自動處理依賴性問題,特別是有多個可選依賴樹存在的情況下。 做版本比較的時候僅僅根據(jù)文件名,而不是整個 rpm 的頭。 AutoUpdate 被設計為以計劃任務的模式自動運行。另外,沒有交互式或者圖形化的界面。 AutoUpdate 有 5 種獨立的工作模式:download、get、Update/Install、Merge、Purge。 1. download 模式 AutoUpdate 連接到遠程服務器,比較服務器和本機上軟件包版本的差異,下載并安裝所有需要升級的軟件包。遠程服務器可以在命令行中指定,支持本地文件、ftp、http、https、sftp 等。 本文出自:億恩科技【1tcdy.com】 |