第
This presentation is the property of its rightful owner.
Sponsored Links
1 / 97

第 14 章 PowerPoint PPT Presentation


  • 42 Views
  • Uploaded on
  • Presentation posted in: General

第 14 章. 套件管理. 前言. 以前在 Unix/Linux 作業系統要安裝軟體 , 往往都需要用文字模式的 make 指令來編譯程式 , 安裝過程稍嫌複雜 , 而不容易使用。因此 , 許多 Linux 發行版都自行開發 , 或沿用由其他發行版廠商開發的套件管理軟體 , 來幫助使用者可以輕鬆的安裝、移除及更新軟體。. 前言.

Download Presentation

第 14 章

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


14

第 14 章

套件管理


14

前言

  • 以前在 Unix/Linux 作業系統要安裝軟體, 往往都需要用文字模式的 make指令來編譯程式, 安裝過程稍嫌複雜, 而不容易使用。因此, 許多 Linux 發行版都自行開發, 或沿用由其他發行版廠商開發的套件管理軟體, 來幫助使用者可以輕鬆的安裝、移除及更新軟體。


14

前言

  • 本章, 我們將介紹目前最被廣泛使用的 RPM(Red Hat Package Manager) 套件管理系統, 以及為解決 RPM 常遇到的相依性問題而開發的 Yum (Yellow dog Updater, Modified) 套件管理程式。

  • 最後, 也會為您說明如何安裝傳統的 tarball 套件。


14

本章提要

  • 14-1 以 RPM 指令管理套件

  • 14-2 使用 Yum 線上安裝、移除與更新套件

  • 14-3 安裝自行下載的軟體

  • 14-4 Linux 軟體下載網站


14 1 rpm

14-1 以 RPM 指令管理套件

  • RPM 的全名為 Red Hat Package Manager, 是一個由 Red Hat 公司開發的套件管理系統。

  • 由於 Red Hat 公司鼓勵大家使用此格式發行軟體及使用此管理系統, 因此 RPM 被許多發行版採用為預設的套件管理系統, 同時 RPM 也可以在 Unix 平台上執行。


14

以 RPM 指令管理套件

  • 14-1-1 rpm 指令概念說明

  • 14-1-2 安裝套件

  • 14-1-3 移除套件

  • 14-1-4 升級與更新套件

  • 14-1-5 查詢套件

  • 14-1-6 套件驗證

  • 14-1-7 rpm 指令常用的查詢實例

  • 14-1-8 如何解決套件相依性及查詢未安裝檔案所屬的套件


14 1 1 rpm

14-1-1 rpm 指令概念說明

  • 為了讓讀者易於區別, 底下我們將整個 RPM 套件管理系統簡稱為 RPM,將管理 RPM 套件管理系統的程式稱為 rpm 程式或 rpm指令, 而將能夠被 rpm 程式處理的安裝套件稱為 RPM 套件。

  • 其關係可用下圖表示:


14

rpm 指令概念說明


14 1 1 rpm1

14-1-1 rpm 指令概念說明

  • RPM 的優點

  • RPM 套件檔名的命名原則

  • rpm 指令的操作方法


14

RPM 的優點

  • 使用 RPM 套件管理系統具有下列優點, 而這也是 RPM 套件管理系統的設計目標:

  • 易於安裝、升級與移除套件:

    • 安裝傳統 tar.gz 等格式的壓縮套件時, 必須先將其解開壓縮到一個目錄中 , 然後再執行安裝的程序。而各套件的安裝方式又有所差異, 有的要再編譯原始碼,有的要指定安裝的參數, 實在頗為麻煩。RPM 套件則將安裝需要的設定項目準備好, 只要執行 rpm指令, 就可以安裝、升級套件, 或移除已安裝的套件。


14

RPM 的優點

  • 有強大的查詢功能:

    • 透過 RPM 的組態資料庫, 我們可以查詢系統已安裝的套件;也可以查詢某個檔案是屬於哪個套件, 而此套件又來自何處。

  • 能夠進行套件驗證:

    • RPM 提供套件驗證的功能, 您可藉以驗證是否誤刪了某個套件中的檔案。而且 RPM 在安裝時會保留原來的設定檔, 所以即使誤刪檔案, 重新安裝也不必擔心遺失原來的設定。


14

RPM 的優點

  • 支援套件以原始碼形式發行:

    • RPM 支援套件以原始碼的形式發行, 在 RPM 套件中能包含原始程式、更新程式 patch 及完整的建構指令。因此我們在取得一個程式的更新版時, 可以先看看程式的更新部分, 再採取適當的行動。

  • 有興趣的讀者可至 http://www.rpm.org 網站取得更多有關 RPM 的資訊。


14

RPM 套件檔名的命名原則

  • 完整的 RPM 套件檔名由四個部分組成, 其格式及意義如下:


14

RPM 套件檔名的命名原則

  • 套件名稱:套件名稱用來說明該套件的用途, 例如 Apache 伺服器主程式的套件名稱為 httpd、說明文件的套件名稱為 httpd-manual。

  • 版本編號:該套件的版本資訊, 版本編號與套件名稱間以 "-" 相隔。上例中3.10a-13 的 "13" 稱為版次。套件在釋出之後, 都有可能因為發現有某些問題而進行修改, 再重新編譯、打包釋出, 版次即記錄該套件是第幾次修正後的版本。


14

RPM 套件檔名的命名原則

  • 平台:RPM 套件是已經編譯好的程式檔, 這樣的檔案通常只能適用於特定的操作平台, 此處的訊息即用以標示該套件所適用的平台為何, 常見的有i386、i586、i686 及 noarch 等。其中 i386 表示該套件適用於 Intel 80386及其後的各種 CPU, 也就是從 Intel 386 到 486、Pentium、Pentuim II...都可以適用。 i586、i686 的意義與此相當, i586 適用於 586 及其後的CPU。而 noarch 則表示沒有限制。

  • 副檔名:RPM 套件的副檔名預設皆為 .rpm。


14

RPM 套件檔名的命名原則

  • 雖然使用 Pentium CPU 的機器可以使用 i386 的套件, 但效能可能會較使用 i586 的套件稍差一點。

  • 有時還會看到此處標示為 .src 的 RPM 套件, 此類套件稱為 SRPM 套件, 是尚未編譯的程式原始碼, 在安裝前需要自行編譯。


14

rpm 指令的操作方法

  • 除了建構安裝套件外, rpm 指令具有 5 種基本的操作模式, 包含套件的:安裝、移除、升級、查詢及驗證。我們可以使用 rpm --help指令獲得完整的細節及參數:


14

rpm 指令的操作方法

  • 要注意的是:在安裝、移除及更新套件時, 必須取得 root 的權限, 而查詢及驗證套件時則不用。以下我們將分別說明這 5 種操作模式 (請您注意, 上述 rhviewer 與稍後會提及的 rhpainter 套件, 都是筆者舉例說明用的套件名稱,實際上並沒有這兩個套件)。

  • 您可以執行 man rpm 指令, 觀看線上說明。


14 1 2

14-1-2 安裝套件

  • 使用 rpm指令的安裝模式可以將套件內所有的元件放至系統中的正確路徑, 安裝套件的指令是:


14

安裝套件

  • 以此指令安裝時, 會顯示套件的名稱 (不一定會與檔名相同), 並顯示 # 字號以指示安裝程序正在進行中。

  • rpm指令還能透過 FTP 或 HTTP 來進行遠距的套件安裝或查詢。使用方式與在本機上並無太大不同, 只要在檔案前加上適當的 URL 位址即可, 例如:


14

安裝套件

  • 使用遠距安裝時, 建議使用 -h 參數, 可以幫助您確認安裝程序還在進行中。此外, 還可以使用 --percent 參數來得知安裝進度的百分比。

  • 在安裝套件時, 有時會出現要安裝的套件已經安裝過、某個檔案已被其他的套件安裝, 或是不同套件之間有相依性的問題, 以下分別詳細說明。


14

安裝套件

  • 重複安裝套件

  • 套件中某個檔案已被其他套件安裝

  • 不同套件之間的相依性


14

重複安裝套件

  • 要重複安裝一個原本就已經安裝的套件時, rpm指令會顯示出類似下面的錯誤訊息:

  • 如果您確定要安裝此套件, 可以在命令列中加上 --replacepkgs 參數, 使 rpm指令忽略錯誤訊息, 取代原有套件:


14

套件中某個檔案 已被其他套件安裝

  • 如果要安裝的套件中, 有某個檔案已被其他套件安裝於系統中, 則 rpm指令會顯示錯誤的訊息:


14

套件中某個檔案 已被其他套件安裝

  • 要 rpm指令忽略此訊息直接取代舊檔案, 可使用 --replacefiles 參數:


14

不同套件之間的相依性

  • 有些 RPM 套件會與其他的 RPM 套件有相依性, 這些套件通常要別的套件已先安裝於系統中才能正常執行。當您試圖要安裝這類 RPM 套件, 則 rpm指令會列出其所需的相關套件:


14

不同套件之間的相依性

  • 比較好的解決方式是將其所需要的套件先安裝好, 以上例來說, 先安裝 rhviewer 套件之後, 再安裝 rhpainter 套件即可。

  • 此外, 也可以加上 --nodeps 參數來略過相依性檢查, 不過這樣強行安裝的結果可能會使套件不能正常執行。


14 1 3

14-1-3 移除套件

  • 移除模式會將指定的套件元件全部刪除, 但會保留已更改過的設定檔。移除 RPM 套件的指令如下:

  • 讀者要注意的是, 這裡必須使用套件的名稱 "rhviewer" 或 "rhviewer-3.10a-13", 而不是使用當初安裝套件時所用的檔名 "rhviewer-3.10a-13.i386.rpm"。


14

移除套件

  • 如果在移除套件時出現類似下列訊息, 代表移除這個套件會破壞其他套件的套件相依性:


14

移除套件

  • 此時您必須先移除 rhpainter 套件後, 才能接著移除 rhviewer。或者也可以使用 --nodeps 參數, 即可忽略此訊息而強行移除套件, 不過這樣可能會導致其他套件無法正常執行。


14 1 4

14-1-4 升級與更新套件

  • 前面提及的 rpm 有 5 種工作模式, 其中升級模式包含有升級和更新兩個部分, 我們分別說明如下。

    • 升級模式

    • 更新模式


14

升級模式

  • 升級模式會安裝使用者所指定的更新版本, 並移除已安裝於系統中的相同套件。升級套件的指令如下:


14

升級模式

  • 升級模式的運作方式是將系統中的舊版本移除, 再安裝新版本。您也可以使用升級模式取代安裝模式來安裝新版本。因為在沒有舊版本的情況下, 使用-U 這個參數仍可正常運作。

  • 以 rpm指令升級套件時, 如果有舊版的套件存在於系統中, 則會看到如下的訊息:


14

升級模式

  • 這是 rpm指令特有的設定檔智慧型升級訊息。因為有些套件的設定檔格式在不同版本間並不相容, 因此 rpm指令會將舊的設定檔加上 .rpmsave 副檔名儲存, 並安裝新的設定檔, 您可以在套件安裝後立即比較新舊設定檔, 以決定是否要換回原來的設定。


14

升級模式

  • 升級模式下的錯誤除了包含移除與安裝模式下的錯誤外, 還有一個比較特別的是, 當使用者試圖安裝一個比現有套件更舊的套件時, 會顯示如下訊息:


14

升級模式

  • 若決心要將套件 "升級" 到較舊的版本, 可使用 --oldpackage 參數:


14

更新模式

  • 更新模式可算是升級模式的另一種使用方式。更新套件的指令如下:


14

更新模式

  • rpm指令在更新模式下會檢查在指令列中所指定的套件是否比系統中原有的套件來得新。如果情況屬實, rpm指令會自動更新指定的套件。

  • 反之, 若系統中並沒有指定套件的較舊版本, rpm指令就不會安裝此套件。而在升級模式下,不管系統中是否有較舊的版本, rpm指令都會安裝指定的套件。


14

更新模式

  • 如果您從網路下載了許多的套件, 且想更新所有已經安裝在系統中的套件 (未曾安裝的套件則不安裝), 可以執行以下指令:

  • 如此 RPM 就會為我們更新所有系統中已存在的套件。


14 1 5

14-1-5 查詢套件

  • 想要取得 RPM 套件的相關資訊可以使用查詢模式, 使用 -q 參數可查詢一個已安裝的套件內容。

  • 如執行 rpm -q rhviewer指令將顯示 rhviewer 套件的套件名稱、版本及次版本:


14

查詢套件

  • 在查詢模式中可用套件指定參數配合查詢:


14

查詢套件

  • 也可以再加上資訊選擇參數來決定所要顯示的資訊:


14

查詢套件

  • 我們可以結合 -qi 參數得到一般性的套件資訊:


14

查詢套件

  • 對於顯示檔案列表的 -l 參數, 還可以再加上 -v 參數以獲得較完整的資訊,其輸出格式類似 ls -l 指令的結果。


14 1 6

14-1-6 套件驗證

  • 要驗證目前系統中的檔案是否與原始套件相符, 可使用驗證模式。-V 參數可用來驗證套件的正確性。驗證模式會比較原始套件資訊及目前系統中的檔案資訊, 包括每個檔案的大小、MD5 (一種加密方式) checksum、權限、型別、擁有者及所屬的檔案群組。在驗證模式中也可以使用上一節所提到的套件指定參數來指定特別的套件。例如:


14

套件驗證

  • 在上例中前 3 個指令會比較 RPM 組態資料庫與目前系統中的檔案;而第4 個指令則是比較原始 .rpm 檔的內容與目前系統中的檔案, 適用於 RPM 組態資料庫毀損或遭人修改的狀況下。


14

套件驗證

  • 在驗證後沒有任何輸出, 表示套件正常。如有不一致的地方, RPM 會顯示錯誤碼。下表列出可能的錯誤碼及其代表的意義:


14 1 7 rpm

14-1-7 rpm 指令常用的查詢實例

  • 這裡再舉幾個例子, 加深對 rpm指令的了解:

    • 查詢套件所安裝的檔案:安裝某個套件之後, 常常困擾人的是, 不曉得這個套件究竟被裝到哪裡去。此時只要執行 rpm -ql package-name指令即可, 例如:


14

rpm 指令常用的查詢實例

  • 查詢是否刪除套件檔案:當您誤刪了某些檔案, 又不知道到底刪掉些什麼時,只要執行 rpm -Va指令即可對系統做完整的套件驗證, 得知是否刪除了某些套件檔案。

  • 查詢檔案屬於哪個套件:遇到一些不認得的檔案, 想要知道這個檔案是否屬於某個套件, 可執行 rpm -qf / 完整路徑/檔案名稱 指令查詢。


14

rpm 指令常用的查詢實例

  • 驗證套件的正確性:上兩個例子可以結合使用, 例如您懷疑某個程式 (如 vi)有問題, 而想對該程式進行驗證, 可以執行 rpm -Vf /bin/vi指令檢查。

  • 查詢套件的相關說明文件:想要取得某個程式套件 (如 ispell) 的更多資訊,可執行 rpm -qdf /usr/bin/ispell以得知這個程式所屬的說明文件有那些, 其輸出如下:


14

rpm 指令常用的查詢實例


14 1 8

14-1-8 如何解決套件相依性及查詢未安裝檔案所屬的套件

  • 若您在安裝 Linux 時, 沒有選擇安裝所有的套件, 而是計畫在有需要時才自行安裝個別的套件安裝;或是想安裝自己從網路下載的各種套件。此時, 常常會遇到一些相依性的問題。

  • 例如, 筆者在安裝 PHP 套件時, 便遇到以下狀況:


14

如何解決套件相依性及查詢未安裝檔案所屬的套件


14

如何解決套件相依性及查詢未安裝檔案所屬的套件

  • 為了正確安裝 PHP 套件, 必須先安裝缺少的檔案, 由於筆者安裝的是發行版官方發行的套件, 因此rpm指令能幫我們判斷缺少的檔案在哪些套件檔內, 只要依據建議, 在光碟片或是到官方網站上取得這些套件, 先行安裝即可解決此相依性問題。

  • 如果安裝的是非官方發行的套件, rpm 指令便無法給我們建議了, 此時要怎麼知道安裝哪些套件才會有這 2 個檔案呢?


14

如何解決套件相依性及查詢未安裝檔案所屬的套件

  • 您可至 http://rpmfind.net/ 分別搜尋 "libcurl.so.2"、"php-pear" 這些關鍵字, 由搜尋結果可以得知它們分別屬於 curl、php-pear 套件。如此您只要由光碟或網站中取得此 2 個套件, 先行安裝即可。不過, 在安裝這些套件的過程中, 可能還會遇到其他套件相依性的問題。此時, 同樣請依此方法解決。


14

如何解決套件相依性及查詢未安裝檔案所屬的套件

  • 有時候兩個套件之間可能會發生互相需要的情形, 例如前面筆者安裝 PHP 套件時, rpm指令要求先行安裝 php-pear 套件, 可是當筆者安裝 php-pear 套件,卻又顯示需要 PHP 套件:


14

如何解決套件相依性及查詢未安裝檔案所屬的套件

  • 這樣不就發生無解的無限迴圈嗎?

  • 此時請將這兩個 RPM 套件檔放在同一個目錄內, 如下使用萬用字元同時安裝即可:


14 2 yum

14-2 使用 Yum 線上 安裝、移除與更新套件

  • Yum (Yellow dog Updater, Modified) 套件管理程式最早由 Duke University開發, 其與 RPM 套件管理程式一樣, 用以管理 RPM 套件, 並且具有線上安裝、移除, 與更新套件的功能。Yum 套件管理程式最為人稱道的一點在於:能自動判斷並解決 RPM 套件的相依性問題。因此, Yum 可以說是一套全自動化的套件管理工具, 可以幫系統管理者省下不少安裝與更新套件的時間。


14

使用 Yum 線上 安裝、移除與更新套件

  • 目前使用人數最多的 Fedora Core 發行版已經開始採用 Yum 套件管理程式, 以下我們將以該發行版為例介紹 Yum 的使用方式。

  • Yum 套件管理系統的官方網站為 http://linux.duke.edu/projects/yum/。


14

使用 Yum 線上 安裝、移除與更新套件

  • 設定 Yum 的套件儲藏庫

  • 使用 Yum 線上安裝套件

  • 使用 Yum 移除套件

  • 使用 Yum 查詢與搜尋套件

  • 使用 Yum 線上更新套件


14

設定 Yum 的套件儲藏庫

  • Yum 預設使用 Fedora Core 的官方網站為套件的儲藏庫 (Repository), 當您想要使用 yum 指令安裝某個套件時, 只要指定套件名稱, Yum就會自動到儲藏庫下載該套件檔, 並且會同時尋找其他需要的檔案一起下載, 然後再進行安裝。


14

設定 Yum 的套件儲藏庫

  • 由於 Fedora Core 的官方網站位於美國, 其他國家使用者連線時的網路速度可能不佳, 加上全世界可能同時有上千台主機需要下載檔案, 所以網路塞車的情形大概是無法避免的。

  • 筆者建議將儲藏庫改為距離您最近的映射站, 增加檔案下載的效率, 同時也能減少官方網站的負荷。


14

設定 Yum 的套件儲藏庫

  • Fedora Core 的台灣映射站為義守大學, 因此請開啟 /etc/yum.conf, 如下修改:


14

設定 Yum 的套件儲藏庫


14

設定 Yum 的套件儲藏庫

  • 編輯完成後, 便將 base 與 updates-released 儲藏庫設定為義守大學, Yum就不用遠渡重洋到美國下載檔案了。


14

使用 Yum 線上安裝套件

  • 使用yum指令安裝套件的語法如下:

  • 筆者以安裝 PHP 套件為例, 介紹 yum指令的線上安裝功能:


14

使用 Yum 線上安裝套件


14

使用 Yum 線上安裝套件


14

使用 Yum 線上安裝套件


14

使用 Yum 線上安裝套件

  • 使用 yum指令安裝套件是不是很輕鬆又簡單呢?今後就不需要辛苦地尋找套件在哪一片光碟, 也不用再為了相依性問題而煩惱了!


14

使用 Yum 移除套件

  • 使用 yum指令移除套件的語法如下:

  • 筆者以移除 httpd 套件為例, 說明如何使用 yum指令移除套件:


14

使用 Yum 移除套件


14

使用 Yum 移除套件


14

使用 Yum 查詢與搜尋套件

  • 使用 yum指令時只需要指定名稱便可以安裝套件, 不過要如何知道有哪些套件可以安裝呢?

  • 如果您要查詢目前系統未安裝, 但是儲藏庫內有的套件, 請如下操作:


14

使用 Yum 查詢與搜尋套件


14

使用 Yum 查詢與搜尋套件

  • 如果想要查詢該套件的介紹, 則請執行 yum info套件名稱即可觀看套件介紹。

  • 不清楚套件名稱時, 可以使用關鍵字搜尋套件, 語法為 yum search關鍵字。

  • 例如想尋找與 DNS 相關的套件, 可執行 yum search DNS指令搜尋


14

使用 Yum 線上更新套件

  • yum指令更新套件的語法為:

  • 在更新套件前, 可執行下面指令檢查目前系統中是否有需要更新的套件:


14

使用 Yum 線上更新套件


14

使用 Yum 線上更新套件

  • 看來已經有很多套件需要更新了, 以下以更新 kdelibs 套件為例, 說明如何更新套件:


14

使用 Yum 線上更新套件


14

使用 Yum 線上更新套件

  • 若您想要一次更新系統內所有套件, 則可以執行下面指令:

  • Yum 還提供了自動更新的功能, 每天深夜主動檢查並下載新版本的套件加以更新。如果您想要使用此功能, 請執行下面指令開啟:


14

使用 Yum 線上更新套件

  • 若想要關閉自動更新功能, 則請執行 /etc/rc.d/init.d/yum stop。


14

14-3 安裝自行下載的軟體

  • 除了 RPM 套件以外, 在網路下載軟體時, 最常見的是 .tar.gz 或 tgz 檔。

  • 這是傳統最常用的格式, 稱為 Tarball。

  • 我們曾說明執行 tar指令加上 -zxvf 參數, 便可以將 Tarball 檔案解壓縮, 而 Tarball 檔案在解開後, 有下列 2 種檔案格式:


14

安裝自行下載的軟體

  • 原始碼格式:軟體以原始碼方式散播, 通常以 C 或 C++ 等程式語言寫成。您需要安裝 gcc 及 make 等套件才可編譯程式。至於編譯及安裝的方式, 請參考該程式目錄下的 README 或 INSTALL 說明檔, 稍後我們也將舉實例說明。

    • 要自行編譯、安裝原始碼格式的 Tarball 檔案, 需要安裝 gcc、make、autoconfig 等套件。


14

安裝自行下載的軟體

  • 執行檔格式:軟體以執行檔 (二進位) 的方式散播, 因此下載時, 請注意您的作業系統版本及 CPU 種類。以 Apache 軟體為例, 除了提供原始碼下載之外, 也提供了執行檔下載。執行檔依 CPU 種類區分成 i686 (IBM 相容 PC)、PowerPC (如麥金塔)... ;而 Linux 作業系統的類別中, 分別對 Red Hat Linux/Fedora Core 及 Slackware Linux 做了最佳化。至於安裝的方式, 請參考該程式目錄下的說明檔。


14

安裝自行下載的軟體

  • 下面筆者以下載 lsalarm (一個可定時播放音樂檔的鬧鐘程式) 的原始碼為例, 來說明如何編譯及安裝。首先請到 http://ltsword.allegronetwork.com/? page=7, 點選 Linux tarball旁邊的連結下載程式的原始碼。下載完成之後,請如下操作:


14

安裝自行下載的軟體


14

安裝自行下載的軟體

  • 瀏覽 README 說明檔之後, 我們得知編譯及安裝步驟分為下列 3 部分(大致上原始碼的安裝程式都是如此, 但請仍以說明檔為主):

    • ./configure:執行程式目錄下的指令稿, 偵測目前系統的環境, 及產生編譯程式時所需的相關設定檔。若加上 --prefix 參數可以指定要將程式安裝在何處。

    • make:編譯程式。

    • make install:安裝編譯好的程式, 需以 root 身份執行。


14

安裝自行下載的軟體

  • 因此執行以下指令編譯及安裝:

  • 裝好之後, 會發現在 /tmp/lsalarm 下的 bin 目錄, 有一個名為 lsalarm 的執行檔, 執行 /tmp/lsalarm/bin/lsalarm & 指令, 即可啟動鬧鐘程式。


14

安裝自行下載的軟體

  • 雖然安裝 Tarball 格式的套件時, 可自行指定套件的安裝目錄, 但一般建議將自行安裝的程式安裝在 /usr/local 目錄下, 這樣管理上較為方便。


Rpm tarball

RPM 套件與 Tarball 套件 應如何選擇?

  • 如果想要安裝的套件有 rpm 格式, 也有 Tarball 格式的話, 應該要選擇哪一種比較好呢?

  • 以使用上的方便性來說, RPM 套件絕對比 Tarball 格式來的方便許多, 不需要自行編譯, 並且安裝完後, 有關套件的各項資訊都會被記錄在 RPM 組態資料庫中, 日後要查詢或移除都很方便。


Rpm tarball1

RPM 套件與 Tarball 套件 應如何選擇?

  • 只是 RPM 套件以往最為人詬病的就是套件相依性的問題, 使用者常常會為了相依性的問題, 弄得灰頭土臉。不過, 若您所使用的發行版有支援 Yum, 相依性的問題當可迎刃而解, RPM 套件使用起來就更方便了。

  • 雖然 RPM 套件使用上很方便, 但是並非所有的軟體都有以此格式釋出, 因此我們還是需要了解如何安裝 Tarball 格式的套件。


Rpm tarball2

RPM 套件與 Tarball 套件 應如何選擇?

  • 由於安裝 Tarball 格式的套件時, 可以自行設定參數,也可以自行指定要安裝的路徑, 因此自由度較高。這是使用 Tarball 格式安裝的優點也是麻煩之處。

  • 自由度高, 相對的使用者的功力也要夠深厚, 在實際操作使用上才會比較順利。在移除以Tarball 格式安裝的套件時, 若該套件將所有的檔案都安裝在同一個目錄下, 就只要直接將該目錄刪除即可。


Rpm tarball3

RPM 套件與 Tarball 套件 應如何選擇?

  • 但有許多套件, 預設便會將某些檔案放在某些固定的目錄下 (例如郵件伺服器 Sendmail, 會將設定檔置於 /etc 及 /etc/mail) 目錄下。此時, 要移除套件, 就得一個個去追蹤刪除相關檔案才行。


14 4 linux

14-4 Linux 軟體下載網站

  • 您常常為了 Linux 上是否有某個功能的軟體而煩惱?接下來將介紹何處可下載 Linux 上的應用程式。

  • 當您腦中出現 "在 Linux 上若是有這種軟體該有多好啊!" 的念頭, 又恰巧會寫程式時, 千萬不要捲起袖子就開始寫了。除非您非常有創意, 否則在您想到之前, 可能早就有人想到且開始實做了。


Linux

Linux 軟體下載網站

  • 因此您不需要重複發明輪胎, 筆者在此介紹 2 個大型的軟體開發專案網站:

  • http://sourceforge.net

  • http://freshmeat.net

  • 這 2 個網站裡面有許多的開發專案在進行, 只要輸入想找的關鍵字搜尋, 或是依照分類尋找, 通常都可以找到想要的軟體, 而且大都不只一個。


Linux1

Linux 軟體下載網站

  • 上面提到的網站中, 有些軟體專案只提供原始碼下載, 若想尋找是否有 RPM套件, 可到 http://rpmfind.net/ 搜尋, 因為可能有其他的發行版或是熱心人士將它包裝成 RPM 套件了。

  • 筆者建議大型程式還是去它的官方網站下載, 比較新也比較安全。


  • Login