1. 程式人生 > >Linux下軟體安裝初探

Linux下軟體安裝初探

 對於多數linux使用者,從安裝到使用linux,所遇到的煩惱與困難可能遠超過你的想象。從開始選擇linux套件,就令你煩惱究竟選哪一套好呢?而安裝系統的過程更是困難重重。等到有了一個較象樣的linux環境,接下來令人頭痛的是linux應用程式如何獲得?linux的應用軟體究竟如何安裝?如何才能刪除那些不要的軟體呢?其實你可以做得更簡單,用得更容易。
依據安裝軟體的經驗,大體上可以歸納出“三類兩法”的概念,而這個經驗幾乎可以包括多數的linux軟體型別與安裝。那究竟什麼是“三類兩法”?
作者所稱的“三類”,指的是linux軟體的封裝方式,也就是讀者下載應用軟體所看見的軟體名稱型別。整體而言,tar packages(tarballs),rpm packages(rpm,redhat package manager),debian packages(dpkg)就是我們常見的linux應用程式封裝格式與方法。
舉例:軟體型別 軟體範例
tar packages(tarballs) aaa-1.1.1-1.tar.gz
redhat packages manager(rpm) aaa-1.1.1-1.i386.rpm
debian packages(dpkg) aaa-1.1.1-1.deb
在範例中,讀者可以發現一個有趣的規律,那就是linux應用軟體的發行名稱,似乎有一定的規律與規則,雖然軟體命名沒有統一的規範或規定,但是軟體命名多按照下列順序:
名稱-版本-修正次數-型別(name-version-realest-type)
通過範例中的軟體範例,你可以發現這一規律。例如:aaa-1.1.1-1.tar.gz代表這個軟體的名稱為aaa,發行版本為1.1.1並且修正了1次,而這個應用程式的型別為tar packages。而aaa-1.1.1-1.i386.rpm,則代表了這個軟體的名稱為aaa,發行版本為1.1.1並且修正了1次,而i386則是適用於x86計算機,這個應用程式的型別是rpm packages。從這兩個套件名稱的比較可以清楚的瞭解到我們所下載的tar packages需要編譯的原因,是因為多數tar packages只不過是不應用程式的眾多相關檔案壓縮成一個檔案,而使用者所使用的平臺則在編譯過程中再判別。而rpm packages要加上i386是因為rpm packages已先行編譯過,故使用者直接安裝時,需先考慮適合自己平臺的安裝檔案。
這三種linux應用軟體封裝型別中,主要常見的軟體格式又可分為:
tar packages:tra.gz,tgz,bz2等
rpm packages:rpm,src.rpm
debian packages:deb
也正是因為格式的不同,使用方法也有不同之處,但安裝原則基本是相同的。tar packages為軟體開發人員在完成應用程式編寫時,以tar與其他壓縮工具(如gzip,bzip2)將所有應用程式相關檔案封裝成一個檔案的方式,這樣的好處是不僅使用者下載容易,而且更能使不同平臺的使用者均獲得原始檔並且編譯安裝到自己的系統上。而rpm packages與deb packages則是應用程式已先編譯過的可直接安裝檔案,對於使用者而言,只要系統支援rpm或是dpck安裝命令,均可直接安裝到系統中去,相對於tar packages而言可以省去編譯的過程。如果讀者還不清楚他們之間的關係,我們再以windows 9x的應用程式說明。當我們從網路上下載軟體時,通常可獲得兩種格式的檔案,一種為zip壓縮過的安裝檔案,裡面包含了setuo.exe,readme.txt等,因此我們先將這類壓縮檔案解壓縮,再執行setup.exe安裝應用程式,而另一類為exe自動安裝執行檔案,應用程式便會自動安裝到系統中。故上述的zip壓縮安裝檔案好比是linux下的tar packages,而exe自動安裝檔案則是類似linux下的rpm packages,deb packages。
我們再做更深入的探討,以win9x下而言,如果下載的安裝檔案型別為自動安裝檔案,我們只需執行該安裝執行檔案,最後安裝完成.對於linux下的rpm packages,deb packages也是一樣的,只不過我們是以rpm或dpkg命令,配合引數下達安裝命令,當然也有相關的圖形輔助安裝程式,例如GnoRPM,kpackage,dselect,Gdselect.如果讀者還不放心這類已經編譯過可直接安裝的檔案,你還可以選擇src.rpm格式的rpm packages,通過rpm命令重新編譯後再安裝,而這樣的過程,與tar packages的編譯安裝方法相去不遠,只是使用命令不同而已.
在windows 9x下,所下載的壓縮安裝檔案並不只有zip格式,還有可能是rar,arj等壓縮格式,因此我們要使用其他解壓縮工具解開這些壓縮安裝檔案再進行安裝.同理,linux下的tar packages也是包含有多種壓縮格式,常見的壓縮格式有tar.gz,tgz,bz2,zip等.至於如何解開這些壓縮檔案,這裡只略提壓縮方法,不僅讓讀者複習一下linux命令,也幫助你順利安裝linux應用程式.
下面是解壓縮tar packages範例:
tar.gz:tar zxvf AAA.tar.gz
tgz:tar zxvf AAA.tgz
bz2:bzip2-d AAA.bz2
zip:unzip-d AAA.zip
(AAA表示壓縮檔名稱,名稱後面為壓縮格式型別.)
到目前為止讀者應該不難理解,既然有三種主要封裝方式,所對應的安裝方法必然不相同,因此前面所提的"二法",代表這三類linux應用軟體封裝型別的安裝方法,主要為 自行編譯法 與 直接安裝法,當然不是所有應用套件的安裝方法都可以歸入這兩類.
(1)自行編譯--適用於tar packages型別檔案
軟體開發者為顧及不同作業系統平臺使用者下載,將相關應用程式檔案預先壓縮,當用戶需要安裝時,必須先解開壓縮檔案再自行編譯與進行安裝.<p> (2)直接安裝--適用於rpm packages,deb packages型別檔案
試想如果linux下也有個程式可以幫助使用者直接安裝或刪除應用程式,並且提供監控,這樣的使用環境會讓人覺得更友好.這類可直接安裝的檔案,不僅安裝命令易用,另一個最大的優點就是包含安裝記錄,以供應程式解除安裝或是升級,因此目前有多套linux安裝套件均提供了rpm或deb安裝命令.
linux安裝套件適用安裝法列表slackware(traballs),redhat(rpm,tarballs),mandrake(rpm,tarballs),suse(rpm,tarballs),openlinux(rpm,tarballs),turbolinux(rpm,tarballs),corellinux(deb,tarballs,rpm),debian linux(deb,tarballs)
至此,讀者應該對於linux上的應用軟體型別及安裝方法有了基本認識及瞭解.<p>tar packages(tarballs)
前面已經提到linux下的兩種應用軟體安裝方法,下面將深入講解安裝的技巧與方法,以使讀者在將來安裝linux應用套件時能暢通無阻.對於我們所下載的應用軟體如果為tar packages的壓縮套件,我們所需做的,其實就是那麼幾個步驟.安裝真的那麼簡單嗎?如果你不相信,先隨便找個應用套件來試試.
牛刀小試:
假如你已經得到一張包含linux應用程式安裝套件的光碟,其中的壓縮檔案為prozilla-0.99.9.4.tar.gz.
請開啟一終端視窗或退出x-window,再執行下列步驟:
步驟一:由光碟中獲得prozilla-0.99.9.4.tar.gz.
步驟二:執行命令tar zxvf prozilla-0.99.9.4.tar.gz,解開壓縮檔案至任一目錄下.
步驟三:執行命令cd prozilla-0.99.9,切換到解開的目錄中.
步驟四:執行命令./configure,進行安裝設定.
步驟五:待設定完成後,再分別執行命令make;make install;make clean.
步驟六:執行命令gproz -h &amp;.
步驟七:檢測安裝結果.
雖然安裝步驟看似複雜,實際上卻很簡單,只要多熟悉幾次,上面的示範安裝步驟可以更精簡.其實linux應用程式安裝並不難,難的是使用者缺乏正確的安裝概念,當然藉助參考書再加上你的執著態度,能讓你更順利安裝linux應用程式,設定linux系統.
看完了上面的簡單示範,還不能立即將這個方法應用到所有的tar packages應用程式安裝上,讀者還要了解tar packages應用程式的正確安裝概念.
tarballs命令模式(console)安裝法
請先看tar packages安裝步驟流程,體會一下安裝的步驟與流程,看看還有哪些值得注意的地方.
[取得應用軟體-&gt;解壓縮軟體-&gt;閱讀install檔案-&gt;執行./configure-&gt;執行make-&gt;執行make install-&gt;執行make clean-&gt;執行應用程式]
步驟說明:獲得應用軟體--在下載軟體的同時,就應該考慮到你習慣的安裝軟體方式. 解壓縮軟體--因為多數需要自行編譯才能安裝的應用軟體多以壓縮格式供使用者下載. 閱讀檔案--在windows 9x下安裝軟體,多數人不去閱讀readme,install檔案,這種習慣往往導致在linux下安裝軟體失敗,其實任何一套linux應用軟體的開發者皆已針對不同平臺安裝軟體的方式,寫在install檔案中了. 執行./configure--自行編譯的軟體安裝方式,最先執行的便是./configure,這個命令是為了讓應用軟體檢測到使用者的系統,以便順利安裝. 執行make--當檢測完系統後,接著執行make,將檔案編譯完成。在編譯的過程中,使用者應注意是否出現錯誤資訊。 執行make install--編譯完成,直接執行make install,將應用程式安裝至系統中。 執行make clean--將臨時檔案刪除,並不是把執行檔案刪除,讀者別誤會了。 執行應用程式--執行檔案,這句話說得很輕鬆,但是初學者卻不知如何執行,多數linux軟體安裝位置是在/usr/local/bin,因此你可以將/usr/local/bin路徑加到/etc/profile中或是由終端視窗中切換到這個目錄下,查詢你所安裝的檔名稱,並在命令列下輸入該執行檔名即可。
對於已使用過Linux的讀者應該有所體會,但對於初學者可能只略知一二,因此我們再做最後的補充說明。曾經有讀者問及下載時,究竟要下載至何處,其實
這並沒有絕對答案,只要放到任何一個你喜歡的目錄內即可,不過為了方便安裝
及刪除檔案,建議讀者將檔案放置在/tmp目錄下。整體說來,整個安裝軟體流程的三大步驟不過是./configure、make、make install,但是這三個步驟中常常出錯的是組態(configure)的過程,既然組態無法通過,當然就更別提編譯了(make),安裝也就失敗了。為什麼組態容易出錯呢?當編寫linux軟體時,會用到某個函式(例如qt library,gtk library),因此安裝組態時會檢查應用函式,如果系統中沒有預先安裝這個函式或是函式的版本不對或是函式路徑不對都會導致檢查的過程出現錯誤。而檢查系統的錯誤,往往是使用者放棄安裝的第一個原因,再反過來想想,你真的詳細閱讀了readme,install檔案了嗎?其實,通常在INSTALL、README檔案中,軟體開發者多會先告知使用者應該注意的事項、須預先安裝的檔案、甚至收錄了FAB,因此讀者安裝軟體時,應該先閱讀readme,install檔案,以防安裝出錯。萬一在組態過程中就出錯,先別急著放棄,再讀一遍readme,install檔案,甚至到該應用程式網站查詢相關安裝說明,相信對糾正安裝錯誤應該會有所幫助。<p>先說這麼多,我打字很慢,類死了,有不明白的大家提出來探討吧。