許多Linux軟件中包含的包管理器(package manager)可簡(jiǎn)化整個(gè)決策過程,為你節(jié)省時(shí)間,減輕挫折感。
在Linux中主要有兩個(gè)包管理器系統(tǒng):
- 用于.deb系統(tǒng)的Debian apt。
- 用于.rpm系統(tǒng)的Red Hat rpm。
Mandrivia應(yīng)用一款叫做urpmi的工具,它是rpm的自定義版本。(個(gè)可處理.bz2源檔案文件的rmp系統(tǒng))urpmi和rpm的選項(xiàng)一樣,命令行界面也相同,但它們的GUI界面則全然不同。
Slackware應(yīng)用.tgz而非.deb或.rpm,但.tgz文件是一個(gè).tar.gz檔案文件,而不是二進(jìn)制數(shù)據(jù)包。因此Slackware實(shí)際上并不使用包管理器,而是從源文件建立包管理器。(Slackware是少數(shù)幾個(gè)依然與UNIX原始模型相似的軟件之一,它的每一步安裝過程都是對(duì)所使用硬件的自定義編譯過程。)
應(yīng)用包管理器有何優(yōu)點(diǎn)?
在系統(tǒng)中安裝或卸載軟件時(shí),應(yīng)用包管理器會(huì)相對(duì)簡(jiǎn)單。它還可將ld(動(dòng)態(tài)加載器)添加到新軟件的庫(kù)路徑中,并在卸載時(shí)刪除此路徑。
包管理器有何缺點(diǎn)?
不管哪種包管理器都有一個(gè)主要缺點(diǎn)----命令行界面。也就是說,你必須知道軟件包的確切名稱才能通過命令行界面來安裝或卸載它。GUI版本的包管理器沒有這種缺點(diǎn),因?yàn)镚UI添加了方便的包瀏覽功能。
應(yīng)該應(yīng)用包管理器嗎?
對(duì)大多數(shù)人來說,答案是肯定的。它方便,易用,值得丟掉一些控制。
丟掉控制是什么意思?當(dāng)你由源文件建立軟件時(shí),對(duì)添加的功能、使用的路徑以及安裝的位置,你都可以進(jìn)行控制。但在應(yīng)用包管理器時(shí),你就不能控制這些選項(xiàng)。你也可以通過命令行界面?zhèn)鬟f特殊選項(xiàng)來選擇安裝位置,但是這會(huì)影響路徑,如果你不對(duì)配置文件進(jìn)行編輯,使其指向正確的位置,應(yīng)用程序就會(huì)中斷。
應(yīng)用rumpi的Mandriva'sDrakx版本
我下面將會(huì)談到使用Red Hat的Fedora RPM包管理器。但是,在我一次見到Red Hat產(chǎn)品約六年后,當(dāng)初阻止我使用Fedora Core 4的問題又再次出現(xiàn)。(有關(guān)詳情請(qǐng)見我的博客文章—我與Fedora Core 4的不幸遭遇)。
這整個(gè)過程可通過Mandriva控制中心 (Control Center)的軟件管理(Software Management)塊進(jìn)行訪問。(任務(wù)欄上的開始按鈕/系統(tǒng),配置/配置計(jì)算機(jī))。該控制中心可對(duì)系統(tǒng)的各個(gè)方面,包括硬件改變,進(jìn)行全面控制。
添加源文件
這也叫做增加媒體。包源文件一般保存在CDROM或DVD中。
在Mandriva中,這一過程十分簡(jiǎn)單。他們將包管理(Package Management)分成四個(gè)不同的工具,其中之一用于源文件控制(Source Control),稱為媒體管理器(Media Manager)。這是一個(gè)相當(dāng)簡(jiǎn)單的工具,你只需點(diǎn)擊添加(Add)按鈕,再選擇源文件類型(更新或程序源文件),接下來在出現(xiàn)的列表中選擇一個(gè)鏡像地址即可。
上述過程必須重復(fù)兩次,一次用于更新,另一次用于添加軟件的在線資料庫(kù)。
在添加過程中,此工具為每種源文件類型下載一個(gè)文件。對(duì)程序源文件來說,共有兩個(gè)文件,Main與Contrib hdlist.cz,其中包含一個(gè)有效包的列表。
更新源文件與程序源文件添加完畢后,點(diǎn)擊OK按鈕即可退出媒體管理器(Media Manager)。
安裝更新
該工具的這一部分稱作軟件包更新(Software Package Update)。這也是一個(gè)非常簡(jiǎn)單的工具。它的缺省設(shè)置為列舉安全更新。在列表的頂部有一個(gè)以All為標(biāo)簽的小復(fù)選框。單擊并選擇每一個(gè)安全更新,然后你就可以在查看或安裝漏洞修復(fù)更新與常規(guī)更新,或安裝安全更新之間進(jìn)行選擇。(推薦使用;我今天剛剛完成一次從未經(jīng)歷過的簡(jiǎn)單安裝,安全更新大小為500MB)。
確定安裝,點(diǎn)擊窗口左下角的安裝(Install)按鈕即可。
點(diǎn)擊OK按鈕退出。
安裝軟件
此工具的全稱為軟件包安裝(Software Package Installations),也是一個(gè)非常簡(jiǎn)單的工具。但是,如果你完全不了解Linux,那么熟悉這個(gè)工具可要花一些時(shí)間。單獨(dú)版本的Mandriva全部鏡像站點(diǎn),包括ISO鏡像,大小超過200GB。這就意味著在列表中有近60GB的軟件包。由于每個(gè)包的大小不到1MB,所以可以從中選擇許多軟件。
Mandriva中共有三個(gè)瀏覽有效軟件的選項(xiàng)(有效意味著軟件尚未安裝),包括:缺省“選擇”、字母順序列表或按主題分組。如果你想了解哪些軟件有效,每個(gè)軟件的作用是什么,就使用字母順序列表。如果你想處理更小的集合,但又想看到全部軟件,就應(yīng)用分組的形式。要獲得小數(shù)目的選項(xiàng),就應(yīng)用Mandriva的缺省選擇。如果你知道包名稱所包含的內(nèi)容,就可搜索包含這一內(nèi)容的所有包。(例如,用Mozilla進(jìn)行搜索,則所有的Mozilla軟件都會(huì)顯示在搜索結(jié)果中。)
要瀏覽有效包,只需在列表中選中一個(gè)包,窗口的右側(cè)即會(huì)顯示包的一些信息,如包的作用、文件大小以及版本號(hào)。要想獲得盡可能多的信息,可點(diǎn)擊窗口上方的標(biāo)簽,所安裝的文件和文件路徑即會(huì)顯示在列表中。
卸載軟件
這個(gè)工具與安裝軟件工具幾乎一樣,但它只列出當(dāng)前安裝在計(jì)算機(jī)上的軟件。的不同在于左下角的按鈕的標(biāo)簽為卸載(remove)。其用法也與安裝軟件工具完全一樣,終的結(jié)果則相反。
在命令行中應(yīng)用URPMI
這通常發(fā)生在以下兩個(gè)情形中:
- 軟件不在分配(Distribution)列表中。
- 安裝過程中發(fā)生錯(cuò)誤。(如果發(fā)生這種情況,除非確信包不會(huì)中斷運(yùn)行,否則不要應(yīng)用命令行界面來強(qiáng)制安裝。)
在安裝過程中應(yīng)用urpmi十分簡(jiǎn)單:
urpmi name of package to be installed.rpm
rupmi類型有許多轉(zhuǎn)換選項(xiàng),應(yīng)用下列代碼即可顯示這些選項(xiàng):
urmpi -h牋 or?urpmi –help
如果在安裝包的過程中發(fā)生錯(cuò)誤,而且你確信安裝過程不會(huì)中斷,應(yīng)用下列代碼即可安裝包:
urpmi --nodeps --force name of package.rpm
在應(yīng)用命令行版本的第三方應(yīng)用軟件并使用轉(zhuǎn)換器來強(qiáng)制安裝時(shí),有時(shí)會(huì)發(fā)生這種情況。除非沒有其它的選擇,我們不推薦使用這一方法。
應(yīng)用Debian包管理器
Debian有三個(gè)安裝及卸載軟件的工具。其中兩個(gè)可輕松應(yīng)用基礎(chǔ)命令行界面工具apt。Debian軟件并不要求建立更新源來完成對(duì)超過一個(gè)基類系統(tǒng)的安裝。對(duì)于其中配置的軟件與更新,包管理器都有在線資料庫(kù)。盡管這種模型只是要求,但它也是復(fù)雜的安裝模型。它確實(shí)讓你擁有更大的支配權(quán),而不僅僅是一組軟件那樣簡(jiǎn)單。但是,由于現(xiàn)在安裝過程分為兩個(gè)階段,而非一個(gè)階段,所以它的復(fù)雜性也隨之增加。當(dāng)你徹底對(duì)源代碼進(jìn)行編譯時(shí),應(yīng)用Slackware、Gentoo或Linux From Scratch可能要復(fù)雜得多。
APT的GTK界面----Synaptic
對(duì)那些不熟悉Linux或Debian的人來說,這是一個(gè)簡(jiǎn)單的工具。軟件的選擇,安裝與卸載全部在GUI環(huán)境下進(jìn)行。它也是一個(gè)從GUI安裝更新的工具。
在你安裝的GUI菜單中找到Synaptic(應(yīng)用菜單的系統(tǒng)子菜單),運(yùn)行它,你會(huì)發(fā)現(xiàn)它的界面相當(dāng)整潔,工具欄上有五個(gè)按鈕,菜單欄上有四個(gè)菜單,主窗口中有三個(gè)面板。
左面板顯示軟件的組標(biāo)題(Group Headings),在默認(rèn)情況下按字母順序顯示所有軟件。右上角的面板為包列表。右下角的面板描述上方面板中選中的包。狀態(tài)欄顯示在缺省情況下一共有15197個(gè)軟件包。有一個(gè)地方Mandriva做得稍強(qiáng)一些,即Mandriva的列表中并不包括那些已安裝的包。如果我要對(duì)某個(gè)包進(jìn)行處理時(shí),即可減輕計(jì)算的壓力。
用安全補(bǔ)丁、漏洞修復(fù)或新版本的升級(jí)包對(duì)軟件進(jìn)行更新時(shí),使用Synaptic比較簡(jiǎn)單。點(diǎn)擊按鈕選擇所有更新,就會(huì)出現(xiàn)正常操作或快捷操作選項(xiàng)。選擇后者則更為簡(jiǎn)單。你不必了解依賴。要選擇其它包只要簡(jiǎn)單地點(diǎn)擊一下復(fù)選框,然后點(diǎn)擊Mark for Installation。一個(gè)主要的特色是Debian對(duì)基于Ncurses的Aptitude與基于GTK的Synaptic所作的三重檢查。
要在Synaptic中安裝/更新/卸載軟件,只需點(diǎn)擊應(yīng)用(apply)按鈕,之后就會(huì)打開兩個(gè)確認(rèn)框。然后就等待軟件下載,然后點(diǎn)擊OK進(jìn)行安裝,接下來順次點(diǎn)擊彈出的配置窗口,軟件即處于安裝/修復(fù)/卸載狀態(tài)。
應(yīng)用Aptitude-----基于Ncurses的界面
Aptitude與Synaptic稍有不同,它按照已安裝、未安裝、虛擬包以及任務(wù)來列出所有的包。要瀏覽未安裝的包,可用箭頭鍵來選中未安裝的包,然后按下回車鍵。
現(xiàn)在你只要選擇你希望查看的類型并按下回車鍵,然后選中主群組并按下回車鍵,這時(shí)就會(huì)顯示一些包。選中一個(gè)包,底部的面板中就會(huì)顯示包的描述,按下回車鍵就會(huì)顯示更多細(xì)節(jié)。按下“+”鍵(不是=鍵,要用到shift鍵),即可給包加上安裝標(biāo)記。要取消包,只需按下“-”鍵。
如果你對(duì)閱讀目錄感到厭煩并決定安裝一些軟件(或者你已經(jīng)選好你要安裝的軟件),就可按下“g”鍵,再按下“g”鍵,按下回車鍵。(還記得我在講Synaptic時(shí)提到的三重選擇嗎?)
現(xiàn)在等包下載下來并按下回車鍵進(jìn)行安裝。你必須按幾次回車鍵,在配置窗口出現(xiàn)時(shí)可能還要按幾次代表yes的“y”鍵。之后,軟件即處于安裝狀態(tài)。
用Aptitude做更新/打補(bǔ)丁,只需按下“u”鍵,這時(shí)在屏幕上出現(xiàn)另一個(gè)類型列表,按下來即可完成更新。只有在更新時(shí)才能安裝All,要安裝ALL,選中主群組子菜單并按下“+”鍵,這與安裝新包的過程相同,然后按“g”鍵,再按“g”鍵,按回車鍵。
命令行界面Apt工具
只有你知道希望安裝的包的名稱時(shí),才可用這個(gè)工具。如果不知道包的名稱,就應(yīng)用Aptitude或Synaptic工具,它們擁有瀏覽包列表的界面。
如果應(yīng)用命令行界面,就用下面的代碼:
apt-get install packagename
apt-get help命令顯示幫助頁(yè)面,同時(shí)顯示有效轉(zhuǎn)換器/選項(xiàng)的簡(jiǎn)單描述。
三個(gè)界面
現(xiàn)在你已經(jīng)熟悉了同一個(gè)工具的三個(gè)界面。聽起來我像在給Debian做廣告,實(shí)際上,我正在取笑那個(gè)負(fù)責(zé)為更新以及包管理設(shè)定三重識(shí)別檢查級(jí)別的人。
注意:為對(duì)整個(gè)系統(tǒng)產(chǎn)生影響,安裝或卸載軟件時(shí)要通過根訪問(一般通過su來實(shí)現(xiàn))。如果沒有應(yīng)用根訪問來進(jìn)行安裝,只要改變自己的賬戶設(shè)置。