About yum
yum 簡單說就是 rpm 前端方便使用者進行系統套件管理而其實 yum 的運作底層也是透過 rpm 來運作!! 您可利用 yum install、yum remove 來觀察 rpm 的 Database 變化即可知此一事實,另外早期的套件管理工具 up2date 已經被目前的 yum 所取代了。(Linux 軟體包管理和安裝)Configuring Additional Repositories
當您鍵入 yum install 指令欲安裝相關套件時,系統會依照您設定的套件庫檔案 (Repository File) 內容進行套件下載及安全性檢查 (GPG),您可利用預設檔案 /etc/yum.repos.d/rhel-debuginfo.repo 以下為套件庫檔案內容設定概要:- 副檔名必須為 .repo 這樣 yum 才可正確讀取到此一檔案。
- 檔案路徑於 /etc/yum.repos.d 下。
- Repo-Name 此說明文字內容可自訂,屆時也會產生對應的目錄名稱於 /var/cache/yum 下。
- 例如 Repo-Name 名稱為 [RHEL5-Server] 則屆時會產生 /var/cache/yum/RHEL5-Server 資料夾。
- baseurl 為指定屆時下載套件的來源,支援 ftp、http、file。
- ftp://主機 IP or FQDN/path/to/.rpm。
- http://主機 IP or FQDN/path/to/.rpm。
- file:///path/to/.rpm (粗體 / 表根目錄)。
- enable=1 表示啟用剛才設定的 Repo-Name 項目 (若不寫此行則預設值也為 1)。
最後當此檔案新增完成後建議您執行 yum clean all 指令來清除之前的 Repository 設定。
Red Hat Network (RHN)
以下內容引言自 Red Hat Network - Sign InRed Hat Network (RHN) 是 Linux 的完整系統管理平台。它架構於開放式標準,使用簡單、以網際網路為基礎的圖形界面。它也支援模組化的設計:當網路持續成長,管理者能對整個架構做系統更新、管理、以及監控等動作。Red Hat 目前提供三個 Red Hat Network 模組:
- 升級:輕鬆升級的您的 Red Hat 系統。
- 管理:為建置 Linux 提供更精進的管理功能與可擴充性。
- Provisioning:系統快照、整合的 kickstarts、設定管理等等。
Red Hat Network Server
您可將 RHN Server 指向 rhn.redhat.com 或本地端的 Satellite Server 或 Proxy Server 上。- Local Satellite Server: 將所有套件下載至本地端上,但下載完成後隨即與 Red Hat Server 斷線。
- Local Proxy Server: 將所有套件下載至本地端上,且下載完成後仍與 Red Hat Server 保持連線。
Red Hat Network Client
- rhnsd: 每隔 4 小時定時下載套件。
- rhn_check: 馬上下載套件。
RPM Package Manager
在 Red Hat 套件中其套件命名方式為名稱、版本、發行次數、平台、檔名,舉例以 vnc-server 套件來做說明。vnc-server-4.1.2-14.el5.i386.rpm
- 名稱: vnc-server
- 版本: 4.1.2
- 發行次數: 14
- 平台: el5.i386 (For RHEL5 x86)
- 檔名: .rpm
rpm Installation and Removal
-F: 升級套件- 當 無 舊版套件時 不 執行升級安裝。
- 當 有 舊版套件時才 執行 升級安裝。
-U: 升級套件
- 當 無 舊版套件時,直接安裝新版套件。
- 當 有 舊版套件時,先移除舊版套件後再安裝新版套件。
Lab
Lab 1. 指定 Yum Server (指向 Server1.example.com)
# cd /etc/yum.repos.d //切換到 YUM 設定檔路徑
# cp rhel-debuginfo.repo server.repo //複製預設檔來進行修改 (記得附檔名必須為 .repo 即可)
# vi server.repo //修改 YUM 設定檔內容如下
[Server]
name=Red Hat Enterprise Linux - base
baseurl=ftp://server1.example.com/pub/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# yum clean all //清除之前的 YUM 設定
# yum list //列出 YUM 套件資訊 (已安裝、未安裝、升級...)
Lab 2. 利用 rpm 指令安裝套件
# rpm -qf /etc/inittab //查詢檔案 inittab 包含在哪個套件裡
initscripts-8.45.25-1.el5
# rpm -ql initscripts //查詢指定的套件內包含哪些檔案
# rpm -qi initscripts //查詢指定的套件其套件資訊 (類似 yum info)
# rpm -qa initscripts //查詢目前系統中有沒有裝這套件 (有安裝則顯示版本、沒有安裝就顯示空白)
# rpm -K perl-5.8.8-18.el5.i386.rpm //查詢指定的套件其 MD5 是否正確 (有沒有被加料)
perl-5.8.8-18.el5.i386.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#82fd17b2)
# rpm –ivh perl-5.8.8-18.el5.i386.rpm //安裝指定套件 (建議還是使用 yum 安裝套件)