320 likes | 424 Views
Linux 基礎學習. Chapter 23 軟體安裝: RPM 、 SRPM 與 YUM 功能. 內容. 軟體管理員簡介 RPM 軟體管理程式: rpm SRPM 的使用 : rpmbuild YUM 線上升級機制 管理的抉擇: RPM 還是 Tarball. 23.1 軟體管理員簡介. 23.1.1 Linux 界的兩大主流 : RPM 與 DPKG. 23.1 軟體管理員簡介. 23.1.2 什麼是 RPM 與 SRPM. 23.1 軟體管理員簡介.
E N D
Linux 基礎學習 Chapter 23 軟體安裝:RPM、SRPM 與 YUM 功能 Linux基礎--軟體安裝:RPM、SRPM 與 YUM 功能
內容 • 軟體管理員簡介 • RPM 軟體管理程式:rpm • SRPM 的使用 :rpmbuild • YUM 線上升級機制 • 管理的抉擇:RPM 還是 Tarball Linux基礎--軟體安裝:RPM、SRPM 與 YUM 功能
23.1 軟體管理員簡介 • 23.1.1Linux 界的兩大主流: RPM 與 DPKG
23.1 軟體管理員簡介 • 23.1.2 什麼是 RPM 與 SRPM
23.1 軟體管理員簡介 • 23.1.3 什麼是 i386, i586, i686, noarch, x86_64
23.1 軟體管理員簡介 • 23.1.4RPM 的優點 • RPM 內含已經編譯過的程式與設定檔等資料,可以讓使用者免除重新編譯的困擾; • RPM 在被安裝之前,會先檢查系統的硬碟容量、作業系統版本等,可避免檔案被錯誤安裝; • RPM 檔案本身提供軟體版本資訊、相依屬性軟體名稱、軟體用途說明、軟體所含檔案等資訊,便於瞭解軟體; • RPM 管理的方式使用資料庫記錄 RPM 檔案的相關參數,便於升級、移除、查詢與驗證。
23.1 軟體管理員簡介 • 23.1.5RPM 屬性相依的克服方式:YUM 線上升級 YUM 使用的流程示意圖
23.2RPM 軟體管理程式:rpm • 23.2.1RPM 預設安裝的路徑
23.2RPM 軟體管理程式:rpm • 23.2.2RPM 安裝 (install)
23.2RPM 軟體管理程式:rpm • 23.2.2RPM 安裝 (install)
23.2RPM 軟體管理程式:rpm • 23.2.3RPM 升級與更新 (upgrade/freshen)
23.2RPM 軟體管理程式:rpm • 23.2.4RPM 查詢 (query)
23.2RPM 軟體管理程式:rpm • 23.2.5RPM 驗證與數位簽章 (Verify/signature)
23.2RPM 軟體管理程式:rpm • 數位簽章 (digital signature)
23.3SRPM 的使用 :rpmbuild • 23.3.2SRPM 使用的路徑與需要的軟體
23.3SRPM 的使用 :rpmbuild • 23.3.3 設定檔的主要內容 (*.spec) • 系統整體資訊方面
23.3SRPM 的使用 :rpmbuild • 23.3.4SRPM 的編譯指令 (-ba/-bb) • 這個時候系統就會這樣做: • 1.先進入到 BUILD 這個目錄中,亦即是:/usr/src/redhat/BUILD 這個目錄; • 2.依照 *.spec 檔案內的 Name 與 Version 定義出工作的目錄名稱,以我們上面的例子為例,那麼系統就會在 BUILD 目錄中先刪除 rp-pppoe-3.5 的目錄,再重新建立一個 rp-pppoe-3.5 的目錄,並進入該目錄;
23.3SRPM 的使用 :rpmbuild • 3.在新建的目錄裡面,針對 SOURCES 目錄下的來源檔案,也就是 *.spec 裡面的 Source 設定的那個檔案,以 tar 進行解壓縮,以我們這個例子來說,則會在 /usr/src/ redhat/BUILD/rp-pppoe-3.5 當中,將 /usr/src/redhat/SOURCES/rp-pppoe-3.5.tar.gz 進行解壓縮啦! • 4.再來開始 %build 及 %install 的設定與編譯! • 5.最後將完成打包的檔案給他放置到該放置的地方去,如果你的規定的硬體是在 i386 的系統,那麼最後編譯成功的 *.i386.rpm檔案就會被放置在 /usr/src/redhat/RPMS/i386 裡面囉!如果是 i686 那麼自然就是 /usr/src/redhat/RPMS/i686 目錄下囉!
23.3SRPM 的使用 :rpmbuild • 23.3.5 一個打包自己軟體的範例 • 製作原始碼檔案 tarball 產生
23.3SRPM 的使用 :rpmbuild • 建立 *.spec 的設定檔
23.3SRPM 的使用 :rpmbuild • 編譯成為 RPM 與 SRPM
23.3SRPM 的使用 :rpmbuild • 安裝/測試/實際查詢
23.4YUM 線上升級機制 • 23.4.1 利用 yum 進行查詢、安裝、升級與移除功能 • 查詢功能:yum [list|info|search|provides|whatprovides] 參數 [root@www ~]# yum [option] [查詢工作項目] [相關參數] 選項與參數: [option]:主要的選項,包括有: -y :當 yum 要等待使用者輸入時,這個選項可以自動提供 yes 的回應; --installroot=/some/path :將該軟體安裝在 /some/path 而不使用預設路徑 [查詢工作項目] [相關參數]:這方面的參數有: search :搜尋某個軟體名稱或者是描述 (description) 的重要關鍵字; list :列出目前 yum 所管理的所有的軟體名稱與版本,有點類似 rpm -qa; info :同上,不過有點類似 rpm -qai 的執行結果; provides:從檔案去搜尋軟體!類似 rpm -qf 的功能!
23.4YUM 線上升級機制 • 安裝/升級功能:yum [install|update] 軟體 [root@www ~]# yum [option] [查詢工作項目] [相關參數] 選項與參數: install :後面接要安裝的軟體! update :後面接要升級的軟體,若要整個系統都升級,就直接 update 即可
23.4YUM 線上升級機制 • 移除功能:yum [remove] 軟體
23.4YUM 線上升級機制 • 23.4.2yum 的設定檔 • [base]:代表容器的名字!中刮號一定要存在,裡面的名稱則可以隨意取。但是不能有兩個相同的容器名稱,否則 yum 會不曉得該到哪裡去找容器相關軟體清單檔案。 • name:只是說明一下這個容器的意義而已,重要性不高! • mirrorlist=:列出這個容器可以使用的映射站台,如果不想使用,可以註解到這行;
23.4YUM 線上升級機制 • baseurl=:這個最重要,因為後面接的就是容器的實際網址!mirrorlist 是由 yum 程式自行去捉映射站台,baseurl 則是指定固定的一個容器網址!我們剛剛找到的網址放到這裡來啦! • enable=1:就是讓這個容器被啟動。如果不想啟動可以使用 enable=0 喔! • gpgcheck=1:還記得 RPM 的數位簽章嗎?這就是指定是否需要查閱 RPM 檔案內的數位簽章! • gpgkey=:就是數位簽章的公鑰檔所在位置!使用預設值即可
23.4YUM 線上升級機制 • 修改容器產生的問題與解決之道
23.4YUM 線上升級機制 • 23.4.3yum 的軟體群組功能
23.4YUM 線上升級機制 • 23.4.4 全系統自動升級
23.5 管理的抉擇:RPM 還是 Tarball 1.優先選擇原廠的 RPM 功能 2.選擇軟體官網釋出的 RPM 或者是提供的容器網址 3.利用 Tarball 安裝特殊軟體 4.用 Tarball 測試新版軟體