本節主要介紹基於Red Had的系統(測試系統centos)node
1.3 安裝位置不一樣帶來的影響web
若是你的光驅中還有系統安裝盤的話,你能夠經過」mount /dev/cdrom /mnt」命令把光驅掛載到/mnt目錄下,那麼你會在/mnt/Packages目錄下看到不少.rpm的文件,這就是RPM包。數據庫
2.1 rpm包的組成apache
name-version-release.arch.rpmcentos
yum-utils-1.1.31-45.el7.noarch.rpm網絡
zziplib-0.13.62-5.el7.x86_64.rpm函數
2.2 RPM包管理的用途工具
2.3 RPM 的使用權限測試
2.4 RPM命令管理
參數 | 參數解釋 | 舉例 | |
安裝命令 | -i | 安裝 | |
-v|-vv|-vvv | 顯示詳細信息 | ||
-h | 以#顯示安裝進度一個#2表示%的進度 | ||
--nodeps | 忽略依賴關係 | ||
--test | 測試安裝 | ||
--replacepkgs | 從新安裝(以前安裝包已經安裝了) | ||
升級命令 | -U -Uvh | 升級+安裝 | |
-F -Fvh | 升級(以前已經安裝包了) | ||
--force | 有衝突強制升級 | ||
--nodeps | 忽略包依賴性關係 | ||
卸載命令 | -e | 卸載 | rpm -e 包名 |
--nodeps | 忽略包依賴性關係 | ||
查詢命令 | -q |--query | rpm -q|--query 包名 | |
-qa | 查看全部已經安裝的包 | rpm -qa 查看全部包名 |
|
-qi | 查看包的摘要信息 | ||
-qf | 查看文件是有那個包安裝的 | rpm -qf /path/to/file | |
-ql | 查看包安裝生成的文件清單 | ||
-qc | 查看包安裝生成的配置文件 | ||
-qd | 查看包安裝生成的幫助文檔 | ||
-q --scripts | 查看相關的腳本 | rpm -q--script 包名 | |
-qp[i|l|d|c] | 查看還沒有安裝包的詳細信息 | rpm -qpi /path/to/rpm_file | |
校驗 | -V | rpm -V 包名 | |
數據庫管理 | --initdb | 新建 | rpm --initdb |
--rebuilddb | 重建 | rpm --rebuilddb |
rpm -ivh package_name01 #安裝package_name01,並顯示詳細安裝信息及安裝進度
rpm -ivh package_name01 package_name02 #同時安裝兩個package_name01 package_name02 ,並顯示詳細安裝信息及安裝進度
rpm -ivh http://websites.name/path/pkgname.rpm #直接由網絡上面的某個文件安裝,以網址安裝
依賴性問題舉例:
rpm -qa | grep dhcp # 查詢是否訊在DHCP包
[root@localhost Packages]# rpm -e dhcp-common # 刪除dhcp包報錯 error: Failed dependencies: dhcp-common = 12:4.2.5-68.el7.centos is needed by (installed) dhclient-12:4.2.5-68.el7.centos.x86_64 [root@localhost Packages]# rpm -e dhcp-common --force #刪除時不能使用強制--force rpm: only installation and upgrading may be forced [root@localhost Packages]# rpm -e dhcp-common --nodeps #刪除時使用忽略強制 --nodeps [root@localhost Packages]# rpm -e dhcp-libs --nodeps [root@localhost Packages]# rpm -qa | grep dhcp # 刪除後查詢不到dhcp包 [root@localhost Packages]#
[root@localhost Packages]# rpm -ivh dhcp-common-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-common-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY error: Failed dependencies: dhcp-libs(x86-64) = 12:4.2.5-68.el7.centos is needed by dhcp-common-12:4.2.5-68.el7.centos.x86_64 # 若是先安裝dhcp-common,依賴於dhcp-libs,因此要先安裝dhcp-libs
[root@localhost Packages]# rpm -ivh dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:dhcp-libs-12:4.2.5-68.el7.centos ################################# [100%] [root@localhost Packages]# rpm -ivh dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] package dhcp-libs-12:4.2.5-68.el7.centos.x86_64 is already installed [root@localhost Packages]# rpm -ivh dhcp-common-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-common-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:dhcp-common-12:4.2.5-68.el7.cento################################# [100%] [root@localhost Packages]#
Linux系統維護中令管理員很頭疼的就是軟件包之間的依賴性了,每每是你要安裝A軟件,可是編譯的時候告訴你X軟件安裝以前須要B軟件,而當你安裝Y軟件的時候,又告訴你須要Z庫了,好不容易安裝好Z庫,發現版本還有問題等。
因爲歷史緣由,RPM軟件包管理系統對軟件之間的依存關係沒有內部定義,形成安裝RPM軟件時常常出現使人沒法理解的軟件依賴問題。其實開源社區早就對這個問題嘗試進行解決了,不一樣的發行版推出了各自的工具,好比Yellow Dog的YUM,Debian的APT等。開發這些工具的目的都是爲了要解決安裝RPM時的依賴性問題,而不是額外再創建一套安裝模式。這些軟件也被開源軟件愛好者們逐漸移植到別的發行版上。目前,APT和YUM均可以運行在Red Hat系統上。目前yum是Red Hat/Fedora系統上默認安裝的更新系統。
........