[RHCE] Install And Manage Software

USE RPM

在過去沒有rpm的時後,使用者想在系統上安裝軟體是相當麻煩的。要先確定作業系統與環境是否符合、設定軟體的參數、然後還要編譯過才能使用。所以Red Hat開發出rpm這個機制,將開發完的軟體先經過編譯,打包成rpm的封裝檔案。然後利用資料庫去紀錄檔案的相關資訊、相依檔案、系統需求等等。當使用者得到rpm檔案之後,rpm會利用軟體的資料庫去檢查環境是否符合、相依檔案是否存在等等。如果條件都符合軟體需求,則可使用簡單的指令快速安裝這些軟體。甚至對於將來可能需要的升級、反安裝,也都可以輕鬆完成。

rpm可以用 -q 參數來查尋軟體的相關資訊。#rpm -q [軟體名稱] 可以查詢該軟體是否安裝,這邊軟體名稱必須輸入完整。例如要查詢qemu-kvm-common-1.5.3-60.el7.x86_64,就必須輸入qemu-kvm-common。或者使用 #rpm -q[參數] [軟體名稱] ,可以查詢其他的資訊。
a: 查詢所有已安裝的軟體名稱,使用qa時後面不用接軟體名稱。
i: 查詢該軟體的詳細資訊。
l: 查詢該軟體安裝後所有的檔案及目錄的完整名稱。
c: 查詢該軟體安裝後所有的設定檔名稱。
d: 查詢該軟體安裝後所有的說明檔名稱。
R: 查詢該軟體安裝時所需要的相依檔案名稱及版本要求。
f: 此參數後面接的為目錄或檔名,可以查詢該目錄或檔案屬於哪個已安裝軟體。
p: 此參數是配合上述參數針對未安裝的rpm檔進行查詢。
--scripts: 查詢軟體安裝或移除時直行的shell scripts。
--changelog: 查詢軟體的更新紀錄檔。

rpm也可以用來安裝以及更新軟體。當我們要安裝一個軟體時,可以輸入 #rpm -ivh [軟體名稱]
i: 安裝(install)。
v: 安裝時顯示更多的資訊畫面。
h: 安裝時顯示安裝進度。

當我們要對現有的軟體做更新時,可輸入 #rpm -Uvh [軟體名稱]#rpm -Fvh [軟體名稱]
U: 如果軟體並未安裝過,則會直接安裝,而已安裝的軟體則自動更新。
F: 如果軟體並未安裝過,不會直接安裝,只會更新已經安裝的軟體。

USE YUM

當有了rpm之後,確實方便了許多使用者安裝軟體,但似乎還是不夠方便。必竟如果缺少了相依檔案使用者還是要自己一個一個的尋找、安裝。此時就發展出了yum機制,利用yum伺服器,將軟體上傳到伺服器。伺服器會分析這些檔案的相依關係,並且針對軟體的相依檔案進行整理成清單。當使用者有需求要安裝檔案時,主機就向yum伺服器下載這份清單。透過比對清單,主機便可以告訴使用者安裝軟體所需要的所有相依檔案,並且一次性下載安裝。

rpm所擁有的功能,yum也幾乎都有對應的功能。使用 #yum [參數] [關鍵字或軟體名稱] 進行操作。
list: 查詢目前所有已安裝且可用的軟體名稱與版本,後面接關鍵字可以查詢特定關鍵字。
search: 後面接關鍵字,查詢軟體名稱或軟體描述有出現關鍵字的軟體。
info: 後面接軟體名稱,查詢該軟體的詳細資訊。
install: 後面接軟體名稱,安裝該名稱軟體。
remove: 後面接軟體名稱,移除該名稱軟體。
update: 後面接軟體名稱,更新該名稱軟體。可以配合crontab做自動升級。
provides: 後面接路徑或檔案名稱,查詢該路徑或檔案名稱屬於哪個已安裝軟體。

另外,對於一些大型的專案,或者系統上所需要的大型軟體,例如桌面環境、開發環境等等。yum可以使用群組的方式安裝,同樣也是使用 #yum [參數] [關鍵字或軟體名稱] 進行操作。
grouplist: 查詢目前已安裝且可用的的軟體群組,後面接關鍵字可以查詢特定關鍵字。
groupinfo: 後面接軟體群組名稱,查詢該軟體群組所包含的軟體名稱。
groupinstall: 後面接軟體群組名稱,安裝該名稱軟體群組。
grouperase: 後面接軟體群組名稱,移除該名稱軟體群組。
groupupdate: 後面接軟體群組名稱,更新該名稱軟體群組。

YUN SOFTWARE REPOSITORY

當我們懂得使用yum之後,我們可以了解到有一個完善的yum伺服器是很重要的事情。一般安裝完yum套件之後都會有預設的yum來源。我們可以在/etc/yum.repos.d/下面看到這些*.repo的yum來源檔。如果使用者有需要其他的第三方軟體來源,則可在此目錄下自行新增repo來源檔。檔案內的格示如下。
1410791020-1018159008_n.png-RHCE安裝與管理軟體

[base] 來源代號,必須為唯一值。
name: 來源名稱,類似來源的說明。
mirrorlist: 來源伺服器的映像網址。
baseurl: 來源伺服器的連結網址。
gpgcheck: 是否使用GPG檢查數位簽章,使用0或1表示。
gpgkey: GPG金鑰。
enabled: 此來源是否生效,使用0或1表示。

留言