基礎瞭解
軟件包,顧名思義就是由多個軟件組成的軟件包。
軟件包的組成主要有四大部分:
1、二進制程序。主要存在與系統的/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin.
2、庫文件。存在於/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
3、配置文件。程序的公共配置文件爲/etc/ld.so.conf。各個程序的獨立的配置文件爲/etc/ld.so.conf.d/*.conf。一般建議配置單個程序的配置文件,方便管理。
4、幫助文件。如man文件、info文件、README、INSTALL等。
rpm包管理之命名
命名規則:Pkgname-version-release.arch.rpm
注意:有了爲了讓單個包的功能更單一化,或者一個包的功能太大,用戶肯能只使用其中幾個功能,常常把這種包進行分包,其分包的命名格式是:Pkgname-subPkg-version-release.arch.rpm
Version:major.minor.release
Release:軟件包被開發出來的發行號。
Release:軟件包被編譯爲二進制程序的發行號。
Arch:軟件包被編譯的硬件平臺。如x86_64, ppc等。
subPkg:分包的簡要描述信息。
如:vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
rpm包管理之安裝:
命令:rpm { -i | --install } /path/to/Pkgname
同時還可以與其他選項一同使用,如:
-v(verbose):顯示安裝過程。
-h(hase):以“#”的個數顯示安裝進度,一個“#”表示2%。
--test:只測試不安裝。
依賴性關係解決:
1、將依賴的包每個都安裝上去。
2、忽略依賴關係,使用(--nodeps)
重新安裝:
命令:rpm { -i | --install } --replacepkgs Pkgname
rpm包管理之卸載:
命令:rpm { -e| --erase } name
依賴關係解決:
1、將所依賴的包以一卸載。
2、忽略依賴關係,使用(--nodeps)
rpm包管理之查詢:
命令:rpm { -q | --query } Pkgname
具體操作:
rpm -qa :查詢所有已經安裝的軟件包。
rpm -qi Pkgname:查詢包的信息。
rpm -ql Pkgname:查詢包安裝後在系統上生成的文件列表。
rpm -qf /path/to/filename:查詢該文件是由哪個包生成的。
rpm -qd Pkgname:查詢軟件包安裝之後的幫助文檔。
rpm -qc Pkgname:查詢軟件包安裝之後的配置文件。
rpm -q --scripts Pkgname:查詢軟件包安裝的腳本信息,主要有preinstall、postinstall、preuninstall、postuninstall。這些腳本信息主要是做一些安裝之前和安裝之後的處理。
rpm包管理之升級:
命令:rpm { -U| --upgrade } Pkgname
1、使用(--nodeps)解決升級過程的依賴關係。
2、使用(--force)解決升級過程新舊版本之間的衝突。
rpm包管理之檢驗:
命令:rpm { -V | --verify} Pkgname
結果顯示解析,若一下選項有顯示,表示該選項出問題:
1、S(size):表示文件的大小被修改過。
2、M(mode):表示文件的權限被修改過。
3、5(MD5):表示校驗結果出問題。
4、D(Device major|minor):表示設備的版本號被修改過。
5、L(readlink):符號鏈接的路徑被改變。
6、U(user):文件的屬主不匹配。
7、G(group):文件的屬組不匹配。
8、T(time):文件的時間戳被改變。
rpm包管理之來源合法性檢驗及軟件包完整性檢驗:
來源合法性檢驗:通過單向加密機制(md5|sha1)
完整性檢驗:通過公鑰加密機制(RSA)
命令:rpm { -K| checksig} /path/to/Pkgname
在執行該命令之前應該先導入公鑰,不然會導致RSA和MD5都出錯。
#rpm --import /path/to/Pkg-key
[root@anna-laptop~]# rpm -K/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51) [root@anna-laptop ~]# rpm --import /media/rhel6.5/RPM-GPG-KEY-redhat-release [root@anna-laptop ~]# rpm -K /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
rpm包管理之數據庫重建:
命令:rpm --initdb:初始化數據庫,不會覆蓋原有數據庫
rpm --rebuilddb:重建數據庫,會覆蓋原有數據庫。