rpm
rpm是一個(gè)功能十分強(qiáng)大的軟件包管理系統(tǒng),它使得在Linux下安裝、升級(jí)和刪除軟件包的工作變得容易,并且具有查詢、驗(yàn)證軟件包的功能。與圖形化工具相比,使用命令行可以獲得更大的靈活性。以下的例子都以example-1.2.3-1.i386.rpm代表對(duì)象軟件包的名稱
參數(shù)與選項(xiàng)
一、安裝選項(xiàng)
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
參數(shù):
file1.rpm ... fileN.rpm 將要安裝的RPM包的文件名
詳細(xì)選項(xiàng):
-h (or --hash) 安裝時(shí)輸出hash記號(hào) (``#'')
--test 只對(duì)安裝進(jìn)行測(cè)試,并不實(shí)際安裝。
--percent 以百分比的形式輸出安裝的進(jìn)度。
--excludedocs 不安裝軟件包中的文檔文件
--includedocs 安裝文檔
--replacepkgs 強(qiáng)制重新安裝已經(jīng)安裝的軟件包
--replacefiles 替換屬于其它軟件包的文件
--force 忽略軟件包及文件的沖突
--noscripts 不運(yùn)行預(yù)安裝和后安裝腳本
--prefix 將軟件包安裝到由 指定的路徑下
--ignorearch 不校驗(yàn)軟件包的結(jié)構(gòu)
--ignoreos 不檢查軟件包運(yùn)行的操作系統(tǒng)
--nodeps 不檢查依賴性關(guān)系
--ftpproxy 用 作為 FTP代理
--ftpport 指定FTP的端口號(hào)為
通用選項(xiàng)
-v 顯示附加信息
-vv 顯示調(diào)試信息
--root 讓RPM將指定的路徑做為"根目錄",這樣預(yù)安裝程序和后安
裝程序都會(huì)安裝到這個(gè)目錄下
--rcfile 設(shè)置rpmrc文件為
--dbpath 設(shè)置RPM 資料庫(kù)存所在的路徑為
二、刪除選項(xiàng)
命令格式:
rpm -e ( or --erase) options pkg1 ... pkgN
參數(shù)
pkg1 ... pkgN :要?jiǎng)h除的軟件包
詳細(xì)選項(xiàng)
--test 只執(zhí)行刪除的測(cè)試
--noscripts 不運(yùn)行預(yù)安裝和后安裝腳本程序
--nodeps 不檢查依賴性
通用選項(xiàng)
-vv 顯示調(diào)試信息
--root 讓RPM將指定的路徑做為"根目錄",這樣預(yù)安裝程序和后安裝
程序都會(huì)安裝到這個(gè)目錄下
--rcfile 設(shè)置rpmrc文件為
--dbpath 設(shè)置RPM 資料庫(kù)存所在的路徑為
三、升級(jí)選項(xiàng)
命令格式
rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
參數(shù)
file1.rpm ... fileN.rpm 軟件包的名字
詳細(xì)選項(xiàng)
-h (or --hash) 安裝時(shí)輸出hash記號(hào) (``#'')
--oldpackage 允許"升級(jí)"到一個(gè)老版本
--test 只進(jìn)行升級(jí)測(cè)試
--excludedocs 不安裝軟件包中的文檔文件
--includedocs 安裝文檔
--replacepkgs 強(qiáng)制重新安裝已經(jīng)安裝的軟件包
--replacefiles 替換屬于其它軟件包的文件
--force 忽略軟件包及文件的沖突
--percent 以百分比的形式輸出安裝的進(jìn)度。
--noscripts 不運(yùn)行預(yù)安裝和后安裝腳本
--prefix 將軟件包安裝到由 指定的路徑下
--ignorearch 不校驗(yàn)軟件包的結(jié)構(gòu)
--ignoreos 不檢查軟件包運(yùn)行的操作系統(tǒng)
--nodeps 不檢查依賴性關(guān)系
--ftpproxy 用 作為 FTP代理
--ftpport 指定FTP的端口號(hào)為
通用選項(xiàng)
-v 顯示附加信息
-vv 顯示調(diào)試信息
--root 讓RPM將指定的路徑做為"根目錄",這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下
--rcfile 設(shè)置rpmrc文件為
--dbpath 設(shè)置RPM 資料庫(kù)存所在的路徑為
四、查詢
命令格式:
rpm -q ( or --query) options
參數(shù):
pkg1 ... pkgN :查詢已安裝的軟件包
詳細(xì)選項(xiàng)
-p (or ``-'') 查詢軟件包的文件
-f 查詢屬于哪個(gè)軟件包
-a 查詢所有安裝的軟件包
--whatprovides 查詢提供了 功能的軟件包
-g 查詢屬于 組的軟件包
--whatrequires 查詢所有需要 功能的軟件包
信息選項(xiàng)
顯示軟件包的全部標(biāo)識(shí)
-i 顯示軟件包的概要信息
-l 顯示軟件包中的文件列表
-c 顯示配置文件列表
-d 顯示文檔文件列表
-s 顯示軟件包中文件列表并顯示每個(gè)文件的狀態(tài)
--scripts 顯示安裝、卸載、校驗(yàn)?zāi)_本
--queryformat (or --qf) 以用戶指定的方式顯示查詢信息
--dump 顯示每個(gè)文件的所有已校驗(yàn)信息
--provides 顯示軟件包提供的功能
--requires (or -R) 顯示軟件包所需的功能
通用選項(xiàng)
-v 顯示附加信息
-vv 顯示調(diào)試信息
--root 讓RPM將指定的路徑做為"根目錄",這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下
--rcfile 設(shè)置rpmrc文件為
--dbpath 設(shè)置RPM 資料庫(kù)存所在的路徑為
五、校驗(yàn)已安裝的軟件包
命令格式:
rpm -V ( or --verify, or -y) options
參數(shù)
pkg1 ... pkgN 將要校驗(yàn)的軟件包名
軟件包選項(xiàng)
-p Verify against package file
-f 校驗(yàn)所屬的軟件包
-a Verify 校驗(yàn)所有的軟件包
-g 校驗(yàn)所有屬于組 的軟件包
詳細(xì)選項(xiàng)
--noscripts 不運(yùn)行校驗(yàn)?zāi)_本
--nodeps 不校驗(yàn)依賴性
--nofiles 不校驗(yàn)文件屬性
通用選項(xiàng)
-v 顯示附加信息
-vv 顯示調(diào)試信息
--root 讓RPM將指定的路徑做為"根目錄",這樣預(yù)安裝程序和后安裝程序都會(huì)安裝到這個(gè)目錄下
--rcfile 設(shè)置rpmrc文件為
--dbpath 設(shè)置RPM 資料庫(kù)存所在的路徑為
六、校驗(yàn)軟件包中的文件
語(yǔ)法:
rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
參數(shù):
file1.rpm ... fileN.rpm 軟件包的文件名
Checksig--詳細(xì)選項(xiàng)
--nopgp 不校驗(yàn)GPG簽名
通用選項(xiàng)
-v 顯示附加信息
-vv 顯示調(diào)試信息
--rcfile 設(shè)置rpmrc文件為
七、其它RPM選項(xiàng)
--rebuilddb 重建RPM資料庫(kù)
--initdb 創(chuàng)建一個(gè)新的RPM資料庫(kù)
--quiet 盡可能的減少輸出
--help 顯示幫助文件
--version 顯示RPM的當(dāng)前版本
八、例子
[root@localhost ~]# rpm -ivh ipchains-1.3.6-1.i386.rpm #安裝包,并顯示詳細(xì)進(jìn)度
[root@localhost ~]# rpm -i ftp://ftp.xxx.xxx #在線安裝
[root@localhost ~]# rpm -Va #校驗(yàn)所有的rpm包,查找丟失的文件
[root@localhost ~]# rpm -qf /usr/bin/who #查找一個(gè)文件屬于哪個(gè)rpm包
[root@localhost ~]# rpm -qpi mon-0.37j-1.i386.rpm #列出一個(gè)rpm包的描述信息
[root@localhost ~]# rpm -qpl mon-0.37j-1.i386.rpm #列出一個(gè)rpm包的文件信息
[root@localhost ~]# rpm -Uvh ipchains-1.3.6-1.i386.rpm #升級(jí)包
[root@localhost ~]# rpm -q httpd #查看httpd的安裝包
[root@localhost ~]# rpm -e httpd #移除安裝包
[root@localhost ~]# rpm -qi httpd #得到httpd安裝包的信息
Name : httpd Relocations: (not relocatable)
Version : 2.2.3 Vendor: CentOS
Release : 45.el5.centos.1 Build Date: 2011年05月04日 星期三 18時(shí)54分56秒
Install Date: 2011年06月29日 星期三 08時(shí)05分34秒 Build Host: builder10.centos.org
Group : System Environment/Daemons Source RPM: httpd-2.2.3-45.el5.centos.1.src.rpm
Size : 3281960 License: Apache Software License
Signature : DSA/SHA1, 2011年05月04日 星期三 20時(shí)31分28秒, Key ID a8a447dce8562897
URL : http://httpd.apache.org/
Summary : Apache HTTP 服務(wù)器
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.
[root@localhost ~]# rpm -ql httpd #列出httpd中有哪些文件
[root@localhost ~]# rpm -qa #列出所有已安裝的包
yum
yum 命令:用于添加/刪除/更新RPM包,自動(dòng)解決包的依賴問(wèn)題以及系統(tǒng)更新升級(jí)
參數(shù)
-e 靜默執(zhí)行
-t 忽略錯(cuò)誤
-R[分鐘] 設(shè)置等待時(shí)間
-y 自動(dòng)應(yīng)答yes
--skip-broken 忽略依賴問(wèn)題
--nogpgcheck 忽略GPG驗(yàn)證
check-update 檢查可更新的包
clearn 清除全部
clean packages 清除臨時(shí)包文件(/var/cache/yum 下文件)
clearn headers 清除rpm頭文件
clean oldheaders 清除舊的rpm頭文件
deplist 列出包的依賴
list 可安裝和可更新的RPM包
list installed 已安裝的包
list extras 已安裝且不在資源庫(kù)的包
info 可安裝和可更新的RPM包 信息
info installed 已安裝包的信息(-qa 參數(shù)相似)
install[RPM包] 安裝包
localinstall 安裝本地的 RPM包
update[RPM包] 更新包
upgrade 升級(jí)系統(tǒng)
search[關(guān)鍵詞] 搜索包
provides[關(guān)鍵詞] 搜索特定包文件名
reinstall[RPM包] 重新安裝包
repolist 顯示資源庫(kù)的配置
resolvedep 指定依賴
remove[RPM包] 卸載包
例:
1,安裝
[root@localhost ~]# yum install php53 #安裝php5.3
[root@localhost ~]# yum groupinstall "MySQL Server" #安裝mysql數(shù)據(jù)庫(kù)組
2,更新和升級(jí)
[root@localhost ~]# yum update #全部更新
[root@localhost ~]# yum update php53 #更新php
[root@localhost ~]# yum check-update #檢查可更新的程序
[root@localhost ~]# yum upgrade php53 #升級(jí)php53
[root@localhost ~]# yum groupupdate "MySQL Server" #升級(jí)mysql服務(wù)組
3,查找和顯示
[root@localhost ~]# yum info php53 #查看php53的安裝信息
[root@localhost ~]# yum list #列出所有可安裝的程序包
[root@localhost ~]# yum list php53 #列出所有php53的程序包
[root@localhost ~]# yum groupinfo "MySQL Server" #查看mysql服務(wù)組的,相關(guān)安裝包
[root@localhost ~]# yum deplist php53 #查看php53依賴情況
4,刪除
[root@localhost ~]# yum remove php53 #刪除php53
[root@localhost ~]# yum groupremove "MySQL Server" #刪除mysql服務(wù)組
5,清除緩存
[root@localhost ~]# yum clean packages #清除緩存目錄下的軟件包
[root@localhost ~]# yum clean headers #清除緩存目錄下的 headers
[root@localhost ~]# yum clean oldheaders #清除緩存目錄下舊的 headers
[root@localhost ~]# yum clean, yum clean all #清除所有