rpm是一個軟件包管理器,是用來管理軟件包的,軟件包管理器的核心功能是製做軟件包;安裝、卸載、升級、查詢、校驗。
包的組成分爲:主包(bind-9.7.1-1.el5.i586.rpm)、子包(bind-libs-9.7.1-1.el5.i586.rpm或bind-utils-9.7.1-1.el5.i586.rpm),其中bind是包名;9.7.1是版本號。
rpm包的安裝:
rpm -i bind-9.7.1-1.el5.i586.rpm即安裝bind-9.7.1-1.el5.i586.rpm包
-h: 以#顯示進度;每一個#表示2%; -v: 顯示詳細過程;-vv: 更詳細的過程
有的軟件包安裝須要有依賴關係,因此安裝不上,那麼這就得手動解決他們的依賴關係。
rpm --nodeps: 忽略依賴關係;
rpm --replacepkgs: 從新安裝,替換原有安裝;
rpm --force: 強行安裝,能夠實現重裝或降級;
rpm包的查詢:
rpm -q zip: 查詢指定的包是否已經安裝;zip爲包名;
rpm -qa : 查詢已經安裝的全部包zip爲包名;;
rpm -qi zip: 查詢指定包的說明信息;zip爲包名;
rpm -ql zip: 查詢指定包安裝後生成的文件列表;zip爲包名;
rpm -qc zip:查詢指定包安裝的配置文件;zip爲包名;
rpm -qd zip: 查詢指定包安裝的幫助文件;zip爲包名;
rpm -q --scripts zip: 查詢指定包中包含的腳本
rpm -qf /etc/inittab 查詢指定的文件是由哪一個rpm包安裝生成的;
若是某rpm包還沒有安裝,咱們需查詢其說明信息、安裝之後會生成的文件;就用命令:rpm -qpi bind-9.7.1-1.el5.i586.rpm;bind-9.7.1-1.el5.i586.rpm 是指定的安裝包。
rpm包的升級:
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE ;(/PATH/TO/NEW_PACKAGE_FILE)指的是新的版本的安裝包,若是裝有老版本的,則升級;不然,則安裝;
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE;(/PATH/TO/NEW_PACKAGE_FILE)指的是新的版本的安裝包,若是裝有老版本的,則升級;不然,退出;
--oldpackage :表示爲降級
rpm包的卸載:
rpm -e (或者--nodeps) zip ;zip軟件包包名
rpm包的校驗:
rpm -V zip; zip軟件包包名
rpm --rebuilddb: 重建數據庫,必定會從新創建;
rpm --initdb:初始化數據庫,沒有才創建,有就不用創建;
檢驗來源合法性,及軟件包完整性;
首先要導入密鑰文件:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release;而後在執行rpm -K bind-9.7.1-1.el5.i586.rpm;bind-9.7.1-1.el5.i586.rpm爲本身指定的軟件安裝包。
yum 倉庫中的元數據文件:
primary.xml.gz
全部rpm包的列表、依賴的關係、每一個rpm安裝生成的文件列表
filelists.xml.gz
當前倉庫中全部rpm包的全部文件列表
other.xml.gz
額外信息,rpm包的修改日誌
repomd.xml
記錄的是上面三個文件的時間戳和校驗和
yum的配置文件:/etc/yum.confg
如何爲yum定義repo文件
[Repo_ID]
name=Description
baseurl= 這裏是repo庫所在的訪問路徑,能夠爲三種方式
ftp:// 格式
http://格式
file:///本地文件路徑
enabled={1|0} 是否容許使用 1表示使用,0表示禁用
gpgcheck={1|0}是否引用gpg來驗證軟件包來源的合法性信息完整性,若是禁用,後面的gpgkey就能夠省略不然後面的gpgkey文件的路徑必定不能省略。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
yum list:列出你所配置的yum倉庫中全部的軟件包
yum clean: 清理緩存
yum repolist: 顯示repo列表及其簡要信息
yum install packagename: 安裝軟件包,packagename爲軟件包的包名
yum update : 升級
update_to : 升級爲指定版本
remove|erase:卸載
yum remove php53-pda, 卸載php53-pda;php53-pda表示包名
yum provides|whatprovides: 查看指定的文件或特性是由哪一個包安裝生成的;
如:yum provides /etc/inittab