天天看點

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

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

内容簡介

  如何用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等等。我們下面就對這些工具進行比較。

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

依賴性發現隻在某些情況下有效。

一般來說所有工具都需要伺服器上有一個特殊的軟體包索引檔案。該檔案包含有軟體包資訊。但是它們是一般檔案,可以從其他的鏡象伺服器上下載下傳。

?軟體包驗證用來驗證下載下傳的軟體包的正确性;鏡象伺服器驗證實作驗證鏡象伺服器和正式伺服器的内容是否一緻。

這些特性是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

   [[email protected] root]# apt-get update

   [[email protected] 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 似乎都多多少少有點問題。

注: 如果您發現上述的資料庫失效或者是有什麼更好的資料庫。煩請通知我: [email protected] .

使用簡介

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

(1)更新軟體清單,擷取遠端rpm伺服器上的軟體清單和互相依賴關系清單,所有可用軟體的下載下傳位址都在/etc/apt/sources.list裡面定義,下面的多數下載下傳操作位址也是在這裡定義的。

[[email protected] root]# apt-get update

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

[[email protected] root]# apt-get check

(3)安裝或更新一個新軟體

[[email protected] root]# apt-get install package-name

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

(4)更新所有系統軟體

[[email protected] root]# apt-get upgrade

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

[[email protected] root]# apt-get dist-upgrade

(6)解除安裝軟體,同時解除安裝依賴軟體

[[email protected] root]# apt-get remove package-name

(7)清除本地下載下傳的rpm包,rpm包下載下傳後儲存在/var/cache/apt/archieves下面,本指令清除已下載下傳安裝過的rpm檔案

[[email protected] 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-howto

- http://www.debian.org/doc/manuals/apt-howto/index.en.html

其他版本的APT使用問題和一些使用技巧請參考這裡:

http://dag.wieers.com/home-made/apt/FAQ.php

http://www2.uni-klu.ac.at/support/Redhat

http://linuxwiki.de/apt/RedHat

http://apt4rpm.sourceforge.net/

ftp://rpmfind.net/linux/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm

[[email protected] src]# rpm -ivh apt-0.5.5cnc6-fr1.i386.rpm

本文來自ChinaUnix部落格,如果檢視原文請點: http://blog.chinaunix.net/u/25799/showart_195675.html