歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

RedHat環境下使用APT在線更新系統

摘要  RedHat發明RPM工具來實現對Linux環境下軟件包的管理,使得RPM成為Linux環境下管理軟件的一個事實的標准工具。但是RPM具有依賴性處理復雜的問題,使得其使用起來比較麻煩,並且定時更新系統軟件,彌補系統漏洞也是困擾管理員的一個問題。而從Debian引進的基於RPM的軟件管理工具APT則是解決這些問題的一個非常好的辦法。  請注意本文已刊載在《開放系統世界》2003年第四期,該文章版權屬於該雜志所有,請勿隨意轉載,轉載請保留該聲明    軟件環境:Redhat 7.3  文章相關軟件:apt-0.5.4cnc9-fr0.1.rh73  FTP://rpmfind.net/linux/freshrpms/valhalla/apt/apt-0.5.4cnc9-fr0.1.rh73.i386.rpm    一、 前言  1.1 什麼是APT    新的操作系統裝好以後,安裝新軟件是一件必不可少的工作。但是在Linux中,安裝應用軟件和Windows下有些不同,對於Linux初學者來說,安裝軟件是一件很讓人頭疼的事情。由於很多Linux應用軟件都是以源代碼的形式發布的,這就要求用戶根據自己系統的實際情況和自身的需要來配置、編譯源程序後,才能使用這些軟件。Linux傳統的通過源代碼方式安裝Linux對於大多數Linux 初學者往往顯得過於復雜和困難。Redhat公司為了降低軟件安裝的復雜性,在自已出的發行版中推出了著名的軟件包管理工具:RPM(Redhat Packet Manager),雖然RPM打上了RedHat的標志,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有采用,可以算是公認的行業標准了。    雖然RPM提供的系軟件管理功能使得軟件安裝和刪除高度的自動化,簡化了Linux環境下軟件安裝和管理的難度。但是RPM為保持系統一致性而具有的軟件包依賴性問題需要管理員手工解決。管理員在安裝和卸載程序時就可能非常煩瑣。例如:在某個軟件A時會發現該軟件依賴於另外一個軟件B,從而需要下載B,又發現B依賴與C,這樣出現多次依賴嵌套問題。管理員不得不一一下載,然後再安裝。  而Debian發布的軟件管理系統發明了APT(高級軟件包工具,Advanced Package Tool)則在系統軟件安裝維護方面更加方便易用。APT能夠在發現軟件包依賴性的同時自動下載相應的軟件包並加以安裝。APT使得管理員能毫無故障地執行系統軟件的升級。許多時候,當用戶的軟件安裝對其他方法產生不良影響時,apt的一個改進能夠讓所有事情都保持正確。APT使得零停機時間升級成為現實。  雖然APT是基於Debian的軟件包管理工具,但是一個好消息是基於APT已經被一個巴西公司Conectiva移植到基於RPM的系統上。看到安樂     1.2 APT和其他軟件管理工具的比較  在基於RPM的Linux平台上,有很多其他的軟件包管理工具,如:autorpm、rpmfind、up2date/RHUN、urpmi/rpmdrake/Mandrake Update等等。我們下面就對這些工具進行比較。     依賴性發現只在某些情況下有效。   一般來說所有工具都需要服務器上有一個特殊的軟件包索引文件。該文件包含有軟件包信息。但是它們是一般文件,可以從其他的鏡象服務器上下載。    軟件包驗證用來驗證下載的軟件包的正確性;鏡象服務器驗證實現驗證鏡象服務器和正式服務器的內容是否一致。   這些特性是ATP-RPM所獨有的,而Debian的APT則不具有這些特性。   當升級軟件包時顯示升級的原因。這樣管理員就可以了解升級軟件包是由於安全原因或功能升級。   從上面的表中可以看到ATP和其他工具相比較具有更好的功能優勢。因此對於基於RPM軟件包管理的平台,如:Redhat、TurboLinux、SuSe、Mandrake等等,APT是一個非常優秀的軟件管理工具。    1.3 安裝APT   從rpmfind.net下載針對Red Hat7.3的ATP的RPM包,然後進行安裝:    [root@www src]# rpm -ivh apt-0.5.4cnc9-fr0.1.rh73.i386.rpm    即可完成對在RedHat7.3平台上apt工具的安裝。    二、 主要配置文件  1、/etc/apt/sources.list    這是APT最重要的配置文件,該文件記載了軟件倉庫服務器的地址等信息。有針對從RedHat6.2到8.0的所有版本的軟件倉庫路徑信息。這裡我們只需要把7.3版本對應的路徑信息打開,其他的版本的路徑信息則可以關閉。    # Red Hat Linux 7.3  rpm http://apt.freshrpms.net redhat/7.3/en/i386 os updates freshrpms  rpm-src http://apt.freshrpms.net redhat/7.3/en/i386 os updates freshrpms    2.其他在 /etc/apt 目錄下還有其他以下诶配置文件apt.conf rpmpriorities vendors.list等,使用默認的配置即可,具體含義可以參考man文檔。    三、 使用APT前的准備    安裝APT軟件包以後,管理員需要做的第一個工作就是運行:    [root@www src]# apt-get update    從默認服務器下載軟件包數據庫。    運行:    [root@www src]# apt-get check    atp來驗證本地系統的完整性和一致性,判斷本地系統的軟件包依賴性是否一致。    注:如果本地系統一致性嚴重破壞,則可以使用apt-get -f install 命令在使用apt以前手工修復被破壞的依賴性。    如果希望定期升級系統,保證系統即時升級,彌補安全漏洞,只需要apt-get update 和 apt-get dist-upgrade 或 apt-get upgrade就可以了。    四、 主要命令    apt主要有apt-cache apt-cdrom apt-config apt-get等四個命令。用戶用的最多的應該就是apt-get命令。這些命令的詳細說明參見man手冊,這裡只對常用方法進行說明。     4.1 apt-get    1.apt-get update    更新本地apt-get的本地數據庫,使其與服務器的pkglist文件同步。在升級以前一般都要執行本命令實現與服務器的一致。    2.apt-get check    驗證本地系統的完整性。    3.apt-get dist-upgrade    類似於apt-get,但是將安裝所有的基礎軟件包,並盡力升級一切軟件包,並在需要是安裝新軟件包。    4.apt-get install package_name    安裝某個軟件包及其相關軟件包  如 apt-get install openssh  不但會安裝openssh,同時會升級openssl    5.apt-get remove package_name    刪除該軟件包,同時會刪除依賴於它的軟件包    6.apt-get source package_name    下載軟件包的source rpm   例: apt-get source --compile zhcon  抓回 source rpm 並編譯為二進制的rpm。--compile參數功能等同於rpm -ba    7.apt-get clean    刪除保存在緩存目錄下(/var/cache/apt/archives)的被下載的軟件包    8.apt-get upgrade package_name    升級指定的軟件包,並升級其依賴的軟件包。    4.2 apt-cdrom    在安裝系統以後,可以使用apt-cdrom把三張安裝光盤加入到apt 的 sources.list 中    用法如下:    # apt-cdrom add  Using CD-ROM mount point /mnt/cdrom/  Unmounting CD-ROM  Please insert a Disc in the drive and press enter  Mounting CD-ROM  Identifying.. [af0e7c988f7ae057a4a3bccc8008134d-2]  Scanning Disc for index files.. Found 1 package indexes and 0 source indexes.  Please provide a name for this Disc, sUCh as 'MyDistro 6.0 Disk 1':  Gaga V1.1 disc1  This Disc is called:  'Gaga V1.1 disc1'  Reading Indexes... Done  Writing new source list  Source List entries for this Disc are:  rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga  Repeat this process for the rest of the CDs in your set.    三次運行apt-cdrom add命令,來加載三張安裝光盤。在/etc/apt/sources.list中就應該會包含如下內容:    rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga  rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga  rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga    這樣以後就可以使用apt-get來安裝以前未安裝的安裝光盤上的軟件了。    示例如下,若您的服務器沒有和互聯網連接,那麼修改/etc/apt/sources.list,使其包含下面三行:    rpm cdrom:[Gaga V1.1 disc3]/ RedHat gaga  rpm cdrom:[Gaga V1.1 disc2]/ RedHat gaga  rpm cdrom:[Gaga V1.1 disc1]/ RedHat gaga  # apt-get update  # apt-get install imap    則根據指示放入第二張光盤即可,而不會出現不知道軟件包在哪個光盤上,左尋右找的麻煩。    4.3 apt-cache    1.apt-cache showpkg  顯示軟件包的一些常規信息  例: apt-cache showpkg openssh    2.apt-cache stats  顯示相關的統計信息顯示相關的統計資訊    3.apt-cache dump  顯示緩存中的每個軟件包的簡要描述信息    4.apt-cache unmet  顯示不符合一致性的依賴關系    5.apt-cache show  顯示指定軟件包的記錄信息。類似於rpm -qi    6.apt-cache search  查找軟件包,類似於rpm -qagrep package_name  例: apt-cache search openssh    7.apt-cache depends  顯示軟件包的依賴性關系    8.apt-cache pkgnames  列出所有的軟件包  例: $ apt-cache pkgnames openss  openssh-askpass  openssl096  openssl-perl  openssl095a  openssl-python  openssh-clients  openssl-devel  openssh-askpass-gnome  openssh  openssl  openssh-server    4.4 apt-config    1.apt-config dump  顯示目前的配置信息。    




 



Copyright © Linux教程網 All Rights Reserved