歡迎您光臨本站 註冊首頁

用APT維護Red Hat Enterprise Linux 4.0 (RHEL)

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

內容簡介
  如何用APT(Advanced Packaging Tool)維護Red Hat Enterprise Linux (RHEL),提供對個別RHEL的用戶無法升級的問題的解決辦法。關鍵詞:APT,Linux,升級,Red Hat Enterprise Linux,RHEL,YUM,RPM,依賴性

幾句前言
  redhat採用了RPM軟體包管理系統,RPM軟體包管理系統具有強大的編譯安裝功能,但是由於歷史原因,RPM軟體包管理系統對軟體之間的依存關係沒有內部定義,造成安裝RPM軟體時經常出現令人無法理解的軟體依賴問題。Linux系統維護中令管理員很頭疼的就是軟體包之間的依賴性了,往往是你要安裝A軟體,但是編譯的時候告訴你X軟體安裝之前需要B軟體,而當你安裝Y軟體的時候,又告訴你需要Z庫了--好不容易安裝好Z庫,發現版本還有問題......可能很多朋友都有過這個經歷。debian系統則基於apt(Advanced Packaging Tool)工具進行軟體包管理,可以自動解決並安裝倚賴軟體包,因此debian linux被認為是最容易管理和升級的系統,apt工具也被認為是目前最好的軟體包管理工具之一。為了解決redhat包管理系統的致命問題,Conectiva Linux將apt系統移植到了使用rpm軟體包管理系統的Linux系統下,使得基於RPM軟體包的系統可以利用apt工具提供的自動解決倚賴關係的能力。

  目前已經有很多為redhat linux提供apt方式升級管理軟體包的站點,如http://freshrpms.net , http://apt.unl.edu等等,使得redhat也成為可以利用apt工具的發行版之一,本文介紹如何在redhat linux系統安裝和使用apt軟體包管理工具。其實開源社區早就對這個問題嘗試進行解決了,不同的發行版推出了各自的工具,比如Yellow Dog的YUM ,Debian的APT(Advanced Packaging Tool)等。而這些軟體也被開源軟體愛好者們逐漸移植到別的發行版上。

  Redhat企業版Linux的的升級往往給管理員們帶來不少問題:網站下載速度太慢,不夠安全,當然了,更多的人是無法更新的--版權問題。經過一段時間的比較 ,感覺使用APT維護RHEL有著特殊的便利性。 (有的朋友可能會說,yum 也不錯阿!是的,yum在很多時候表現的確不錯,不過如果使用的Linux是RHEL的話,很難找到適合yum的資料庫,"巧婦難為無米之炊"。) 現在把具體方法介紹給大家作為參考。

APT基本介紹
Debian GNU/Linux 是APT的締造者。初衷是利用工具來解決軟體安裝時候的依賴性問題。其工作原理大致為:用戶安裝APT客戶端工具,查尋APT伺服器端的資料庫(repositories)上的RPM軟體包信息,並分析軟體包之間的依賴性然後下載並進行安裝。

APT和其他軟體管理工具的比較。在基於RPM的Linux平台上,有很多其他的軟體包管理工具,如:autorpm、rpmfind、up2date/RHUN、urpmi/rpmdrake/Mandrake Update等等。我們下面就對這些工具進行比較。





依賴性發現只在某些情況下有效。
一般來說所有工具都需要伺服器上有一個特殊的軟體包索引文件。該文件包含有軟體包信息。但是它們是一般文件,可以從其他的鏡象伺服器上下載。
?軟體包驗證用來驗證下載的軟體包的正確性;鏡象伺服器驗證實現驗證鏡象伺服器和正式伺服器的內容是否一致。
這些特性是ATP-RPM所獨有的,而Debian的APT則不具有這些特性。
當升級軟體包時顯示升級的原因。這樣管理員就可以了解升級軟體包是由於安全原因或功能升級。
從上面的表中可以看到ATP和其他工具相比較具有更好的功能優勢。因此對於基於RPM軟體包管理的平台,如:Redhat、TurboLinux、SuSe、Mandrake等等,APT是一個非常優秀的軟體管理工具。

安裝與配置
首先讓我們安裝APT工具及freshrpms,freshrpms.net同時提供了一個圖形界面的apt-rpm介面Synaptic,使用圖形界面的apt更加方便,安裝了apt后,可以直接利用apt安裝Synaptic:

   # wget http://redhat.uni-klu.ac.at/el3/apt.i386.rpm
   # rpm -Uvh apt.i386.rpm

   [root@linux root]# apt-get update
   [root@linux root]# apt-get install synaptic

安裝夠簡單吧? 我們要編輯配置文件:

#vi /etc/apt/sources.list.d/dag.list

添加如下內容(資料庫相關的信息):

rpm http://afs.caspur.it/ afs/italia/project/linux/cern/slc302/i386/apt os updates extras
rpm http://redhat.uni-klu.ac.at redhat/dag/el3/i386 dag
rpm-src http://redhat.uni-klu.ac.at redhat/dag/el3/i386 dag
rpm http://apt.sw.be redhat/el3/en/i386 dag
rpm-src http://apt.sw.be redhat/el3/en/i386 dag

注: 第一條http://afs.caspur.it/ 的資料庫幾乎就是Redhat官方站點的內容。在寫這篇文章的時候還是有效的。如果要嘗試更新Kernel,還可以在第一條後面添加 kernel26 .

如果需要更多Java相關軟體,則:

#vi /etc/apt/sources.list.d/jpackage.list

(這一步是可選的)添加如下內容:

rpm http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/i386 free devel
rpm-src http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/i386 free devel
rpm http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/generic free devel
rpm-src http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/generic free devel

如果要更新KDE的話(這一步可選的):

#vi /etc/apt/sources.list.d/kde.list

考慮添加如何內容:

rpm http://apt.kde-redhat.org apt/fedora/3.0 stable
rpm http://apt.kde-redhat.org apt/fedora/all stable
rpm http://apt.kde-redhat.org apt/kde-redhat/3.0 stable unstable
rpm http://apt.kde-redhat.org apt/kde-redhat/all stable unstable

當然,這些內容是經過筆者驗證的,都是可用的。從一些站點上下載的list 似乎都多多少少有點問題。

注: 如果您發現上述的資料庫失效或者是有什麼更好的資料庫。煩請通知我: DBAnotes@gmail.com .

使用簡介
使用相對來說比較簡單: 在redhat上面使用apt和在debian下面使用幾乎完全一樣,配置文件在/etc/apt/,按照前面介紹安裝好apt之後就可以使用並可以更新redhat提供的RPM更新以及freshrpms.net提供的更新了。主要運行命令如下:

(1)更新軟體列表,獲取遠程rpm伺服器上的軟體列表和相互依賴關係列表,所有可用軟體的下載地址都在/etc/apt/sources.list裡面定義,下面的多數下載操作地址也是在這裡定義的。

[root@linux root]# apt-get update

(2)檢查本地軟體依賴關係合法性,由於rpm系統的問題,很多系統會存在一些依賴問題,用下面命令檢查依賴關係,同時apt-get會提供一些修復方案,只有本機沒有依賴關係問題了才能良好地使用apt-rpm。一個新安裝的乾淨系統不會有依賴關係問題。

[root@linux root]# apt-get check

(3)安裝或升級一個新軟體

[root@linux root]# apt-get install package-name

package-name是rpm包的名字的前面部分,不包含版本號,如果選擇不同的處理器類型,可以在後面添加@i686等標識。

(4)升級所有系統軟體

[root@linux root]# apt-get upgrade

(5)全面升級,比upgrade更加智能化的升級,同時解決升級時的一些依賴關係

[root@linux root]# apt-get dist-upgrade

(6)卸載軟體,同時卸載依賴軟體

[root@linux root]# apt-get remove package-name

(7)清除本地下載的rpm包,rpm包下載后保存在/var/cache/apt/archieves下面,本命令清除已下載安裝過的rpm文件

[root@linux root]# apt-get clean

以上所有命令都可以通過圖形界面的前端軟體Synaptic完成,圖形化的軟體使用起來更加直觀,理解了前面幾個主要命令,就可以毫無困難地使用Synaptic了,所以本文不再贅述Synaptic的使用方法了。

   #apt-get update //更新軟體列表
   #apt-get upgrade //升級所有系統軟體
   #apt-get check //檢查依賴性
   #apt-get -f install // 解決依賴性問題

   #apt-cache showpkg //顯示軟體包的一些常規信息

#apt-cache show //顯示指定軟體包的記錄信息。類似於rpm -qi

#apt-cache depends //顯示軟體包的依賴性關係

#apt-cache pkgnames //列出所有的軟體包

#apt-config dump //顯示目前的配置信息。


如果要安裝某工具,比如說iftop,可以這樣:

#apt-cache search iftop
#apt-get install iftop

apt自動解決依賴性問題,方便得很。

要注意的是需要導入相應資料庫的簽名。在相關站點下載GPG key之後,用如下命令導入即可:

#rpm --import TheKey_youDownload

如果有耐心看到這裡的話,可以發現盜版的用戶或者是用RHEL進行測試的朋友可以通過這個進行升級了--要不然RHEL的up2date 總是要你輸入認證信息的。

[火星人 ] 用APT維護Red Hat Enterprise Linux 4.0 (RHEL)已經有441次圍觀

http://coctec.com/docs/linux/show-post-133095.html