================================================
Linux RPM 使用講解
by AYO 阿佑
================================================
前言:
原文出處:
作者: 我從山中來
http://tw.group.knowledge.yahoo.com/hacker-cracker/article/view?aid=1202
http://doc.linuxpk.com/153.html
歡迎參觀 AYO 阿佑 個人的電腦技術園地
http://tw.myblog.yahoo.com/kain-0913/
AYO阿佑 這次來講說,Linux 世界中,有一種工具叫做 RPM,
這個是 Linux 套件安裝、升級、更新 的方法之一,
先行說明一下幾個名詞解釋 :
RPM : 這是 Linux 安裝、升級、更新方法之一,
泰半都是 Red Hat 公司出品的 Linux 居多,
會這麼說是因為是因為 RPM 全名叫做,RedHat Package Managmer,
所以 Red Hat 相關的 Linux,都 100% 支援此種方式,
例如 : RedHat、RHEL、Fedora Core、CentOS
DPKG : 這又是另外一種 Linux 安裝、升級、更新方法之一,
源出自 Debian Linux,
而 Linux 中,N User 比較常聽過的 Ubuntu,也是支援這個方法喔!!
當然還有 FreeBSD 也是支援此方式做的喔!
YUM : 這是 Linux 線上更新的方式之一,
也是 Red Hat 所發展的線上更新方式,
可以做成自動更新,保證所有的套件都是最穩定的新版本,
以防入侵問題產生,
所以 RedHat、Fedora Core、CentOS 都支援此方式更新
Up2date : 這是 Linux 線上更新的方式之一,
也是 Red Hat 所發展的線上更新方式,
可以做成自動更新,保證所有的套件都是最穩定的新版本,
以防入侵問題產生,唯一不同的是,
這只有 RHEL 獨有,因為 RHEL 叫做 RedHat Enterprise Linux,
這個作業系統可以跟 RedHat 官方購買 ""技術諮詢"",
技術諮詢就包含線上更新
apt-get : 源出自 Debian Linux,而 Linux 中,
End User 比較常聽過的 Ubuntu,
也是支援這個方法喔!!
當然還有 FreeBSD 也是支援此方式做的喔!
tarball : *.tgz、*.tar.gz、*.gz、*.tbz、*.bz2 都是 Linux 壓縮檔案,
而這些壓縮檔,也可以下載之後,
自己來安裝,只是程序上,會比上述幾樣更複雜,
而且也必須更新的時候,純手工更新
本次 AYO阿佑 僅討論 rpm 的部份,而 rpm 要怎麼使用呢??
下面的文件介紹的很詳細,不過呢? 老實說,泰半都少用到,
這邊 AYO阿佑 先介紹 ""實用的"",
其他的比較少用的,您可以用到的時候再查閱即可
安裝:
rpm -ivh *.rpm 這是 rpm 安裝的方式
-i : 指的是 install
-v : 是指 verbose,附加資訊,會在安裝的時候顯示的比較仔細
-h : 這個指的是安裝時顯示安裝進度 hash,
再安裝時候會出現 #### 這種安裝進度
rpm -Uvh *.rpm 這是 rpm 更新的方式
-U : 指的是 Upgrade
-v : 是指 verbose,附加資訊,會在安裝的時候顯示的比較仔細
-h : 這個指的是安裝時顯示安裝進度 hash,
再安裝時候會出現 #### 這種安裝進度
還有剩下這三樣比較常用
--replacepkgs 強制重新安裝已經安裝的套裝軟體
--force 忽略套裝軟體及檔的衝突
--nodeps 不檢查依賴性關係
移除:
rpm -e *.rpm 這是移除套件的辦法
-e : 是指 erase 囉!
查閱:
rpm 不論是 自己 或者是 當初安裝時本身就已經安裝了不少套件囉!!
那想要查閱套件已經裝了哪些怎麼做呢?
rpm -q 這樣就會列出完整的 rpm 列表來囉!
但是往往這個列表超級長,
想找到自己想看的套件簡直會眼花,
所以說大部分的做法是 :
範例 : rpm -q |grep kernel
這個意思是說 查詢 rpm 全部列表,
但是只要顯示有關 kernel 的列表出來
基本上 rpm 的安裝、更新、查閱,重點也就上面這些而已!
不難對吧! 只需要先懂上面這幾項在做什麼,就可以囉!
至於下面的參考文獻,可以當作 Extension 來閱讀即可
================================================
參考文獻如下 :
一、安裝
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
參數:
file1.rpm ... fileN.rpm 將要安裝的RPM包的檔案名
詳細選項:
-h (or --hash) 安裝時輸出hash記號 (``#'')
--test 只對安裝進行測試,並不實際安裝。
--percent 以百分比的形式輸出安裝的進度。
--excludedocs 不安裝套裝軟體中的文檔檔
--includedocs 安裝文檔
--replacepkgs 強制重新安裝已經安裝的套裝軟體
--replacefiles 替換屬於其他套裝軟體的文件
--force 忽略套裝軟體及檔的衝突
--noscripts 不運行預安裝和後安裝腳本
--prefix 將套裝軟體安裝到由 指定的路徑下
--ignorearch 不校驗套裝軟體的結構
--ignoreos 不檢查套裝軟體運行的作業系統
--nodeps 不檢查依賴性關係
--ftpproxy 用 作為 FTP代理
--ftpport 指定FTP的埠號為
通用選項
-v 顯示附加資訊
-vv 顯示調試資訊
--root 讓RPM將指定的路徑做為"根目錄",
這樣預安裝程式和後安裝程式都會安裝到這個目錄下
--rcfile 設置rpmrc檔為
--dbpath 設置RPM 資料庫存所在的路徑為
二、刪除
命令格式:
rpm -e ( or --erase) options pkg1 ... pkgN
參數
pkg1 ... pkgN :要刪除的套裝軟體
詳細選項
--test 只執行刪除的測試
--noscripts 不運行預安裝和後安裝腳本程式
--nodeps 不檢查依賴性
通用選項
-vv 顯示調試資訊
--root 讓RPM將指定的路徑做為"根目錄",
這樣預安裝程式和後安裝程式都會安裝到這個目錄下
--rcfile 設置rpmrc檔為
--dbpath 設置RPM 資料庫存所在的路徑為
三、升級
命令格式
rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
參數
file1.rpm ... fileN.rpm 套裝軟體的名字
詳細選項
-h (or --hash) 安裝時輸出hash記號 (``#'')
--oldpackage 允許"升級"到一個老版本
--test 只進行升級測試
--excludedocs 不安裝套裝軟體中的文檔檔
--includedocs 安裝文檔
--replacepkgs 強制重新安裝已經安裝的套裝軟體
--replacefiles 替換屬於其他套裝軟體的文件
--force 忽略套裝軟體及檔的衝突
--percent 以百分比的形式輸出安裝的進度。
--noscripts 不運行預安裝和後安裝腳本
--prefix 將套裝軟體安裝到由 指定的路徑下
--ignorearch 不校驗套裝軟體的結構
--ignoreos 不檢查套裝軟體運行的作業系統
--nodeps 不檢查依賴性關係
--ftpproxy 用 作為 FTP代理
--ftpport 指定FTP的埠號為
通用選項
-v 顯示附加資訊
-vv 顯示調試資訊
--root 讓RPM將指定的路徑做為"根目錄",
這樣預安裝程式和後安裝程式都會安裝到這個目錄下
--rcfile 設置rpmrc檔為
--dbpath 設置RPM 資料庫存所在的路徑為
四、查詢
命令格式:
rpm -q ( or --query) options
參數:
pkg1 ... pkgN :查詢已安裝的套裝軟體
詳細選項
-p (or ``-'') 查詢套裝軟體的文件
-f 查詢屬於哪個套裝軟體
-a 查詢所有安裝的套裝軟體
--whatprovides 查詢提供了 功能的套裝軟體
-g 查詢屬於 組的套裝軟體
--whatrequires 查詢所有需要 功能的套裝軟體
資訊選項
顯示套裝軟體的全部標識
-i 顯示套裝軟體的概要資訊
-l 顯示套裝軟體中的檔列表
-c 顯示配置檔列表
-d 顯示文檔檔列表
-s 顯示套裝軟體中檔列表並顯示每個檔的狀態
--scripts 顯示安裝、卸載、校驗腳本
--queryformat (or --qf) 以用戶指定的方式顯示查詢資訊
--dump 顯示每個檔的所有已校驗資訊
--provides 顯示套裝軟體提供的功能
--requires (or -R) 顯示套裝軟體所需的功能
通用選項
-v 顯示附加資訊
-vv 顯示調試資訊
--root 讓RPM將指定的路徑做為"根目錄",
這樣預安裝程式和後安裝程式都會安裝到這個目錄下
--rcfile 設置rpmrc檔為
--dbpath 設置RPM 資料庫存所在的路徑為
五、校驗已安裝的套裝軟體
命令格式:
rpm -V ( or --verify, or -y) options
參數
pkg1 ... pkgN 將要校驗的套裝軟體名
套裝軟體選項
-p Verify against package file
-f 校驗所屬的套裝軟體
-a Verify 校驗所有的套裝軟體
-g 校驗所有屬於組 的套裝軟體
詳細選項
--noscripts 不運行校驗腳本
--nodeps 不校驗依賴性
--nofiles 不校驗檔屬性
通用選項
-v 顯示附加資訊
-vv 顯示調試資訊
--root 讓RPM將指定的路徑做為"根目錄",
這樣預安裝程式和後安裝程式都會安裝到這個目錄下
--rcfile 設置rpmrc檔為
--dbpath 設置RPM 資料庫存所在的路徑為
六、校驗套裝軟體中的文件
語法:
rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
參數:
file1.rpm ... fileN.rpm 套裝軟體的檔案名
Checksig--詳細選項
--nopgp 不校驗PGP簽名
通用選項
-v 顯示附加資訊
-vv 顯示調試資訊
--rcfile 設置rpmrc檔為
七、其他RPM選項
--rebuilddb 重建RPM資料庫
--initdb 創建一個新的RPM資料庫
--quiet 盡可能的減少輸出
--help 顯示幫助檔
--version 顯示RPM的當前版本
================================================
篇後語:
本篇文章,已經盡量減短,
但是由於 rpm 可以說的東西真的不少,
也不是短短的一篇文章可以講完,
所以寫著寫著 AYO阿佑 也不知不覺囉嗦的這麼多!!
不知道 讀者們是否看的懂呢?
有關於 rpm 新手,可以嘗試僅閱讀第一段,
然後嘗試看看,其實只需要懂第一段,
您對於 rpm 已經掌握近八成囉!
其他的 rpm 包裝、拆解 等等等,都是很進階的技術,
老實說,就算是專業工程師 也不太常用,
因此以一般駕馭 Linux Server 來說,
本文的第一段已經差不多足夠囉!
================================================
歡迎轉載,但請務必說明原出處
歡迎參觀 AYO 阿佑 個人的電腦技術園地
http://tw.myblog.yahoo.com/kain-0913/
沒有留言:
張貼留言