RHCE 5.x 筆記 - RH131 Unit1 Package Management

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 以下為套件庫檔案內容設定概要:
  1. 副檔名必須為 .repo 這樣 yum 才可正確讀取到此一檔案。
  2. 檔案路徑於 /etc/yum.repos.d 下。
  3. Repo-Name 此說明文字內容可自訂,屆時也會產生對應的目錄名稱於 /var/cache/yum 下。
  4. 例如 Repo-Name 名稱為 [RHEL5-Server] 則屆時會產生 /var/cache/yum/RHEL5-Server 資料夾。
  5. baseurl 為指定屆時下載套件的來源,支援 ftp、http、file。
  6. ftp://主機 IP or FQDN/path/to/.rpm。
  7. http://主機 IP or FQDN/path/to/.rpm。
  8. file:///path/to/.rpm (粗體 / 表根目錄)。
  9. enable=1 表示啟用剛才設定的 Repo-Name 項目 (若不寫此行則預設值也為 1)。

最後當此檔案新增完成後建議您執行 yum clean all 指令來清除之前的 Repository 設定。



Red Hat Network (RHN)

以下內容引言自 Red Hat Network - Sign In

Red 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 安裝套件)