歡迎您光臨本站 註冊首頁

Linux下軟體安裝初探(適合和我一樣菜的鳥)

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
: 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>先說這麼多,我打字很慢,類死了,有不明白的大家提出來探討吧


[火星人 ] Linux下軟體安裝初探(適合和我一樣菜的鳥)已經有527次圍觀

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