軟件包管理:
程序組成:二進制程序,庫文件,配置文件,幫助文件。
軟件包管理器的核心功能:
1、製作軟件包;
2、安裝,卸載,升級,查詢,校驗。
三大軟件包生產商:
Redhat,SUSE ,Debian
前端工具:yum,apt-get
後端工具:RPM,dpt
rpm命令:
rpm:
數據庫:/var/lib/rpm
rpm命名:
包:組成部分
主包 例如:bind-9.7.1-1.i568.e15.rpm
子包 例如:bind-libs-9.7.1-1.e15.i586.rpm
bind-utils-9.7.1-1.e15.i586.rpm
包名格式:
name-version-release.arch.rpm
name-major.minor.release-release.arch.rpm
主版本號:重大改進
次版本號:某個字功能發生重大變化
發行號:修正了部分BUG,調整了一點功能
rpm:
1、安裝
rpm -i /PATH/TO/PACKAGE_FILE
-h :以#顯示進度,每個#表示2%;
-v :顯示詳細過程
-vv :顯示更詳細過程
rpm -ivh /PATH/TO/PACKAGE_FILE
--nodeps:忽略依賴關係
--replacepkgs 重新安裝並替換原有安裝
--force 強行安裝,可以實現重裝或降級
--test 僅測試,不安裝。
2、查詢
rpm -q PACKAGE_NAME 查詢指定的包是否安裝
rpm -qa 查詢已經安裝的所有的包
rpm -qi PACKAGE_NAME 查詢指定包的說明信息
rpm -ql PACKAGE_NAME 查詢指定包安裝後生成的文件列表
rpm -qc PACKAGE_NAME 查詢指定包安裝的配置文件
rpm -qd PACKAGE_NAME 查詢指定包安裝的幫助文件
rpm -q --scripts PACKAGE_NAME 查詢指定包中包含的腳本
rpm -qf /PATH/TO/SOMEFILE 查詢指定的文件是由哪個rpm包安裝生成的
如果某rpm包尚未安裝,我們需查詢器說明信息、安裝以後會生成的文件;
rpm -qpi /PATH/TO/PACKAGE_NAME
rpm -qpl /PATH/TO/PACKAGE_NAME
3、升級
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE 如果裝有老版本的,則升級;否則,則安裝
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE 如果裝有老版本的,則升級;否則,退出
--oldpackage:降級
4、卸載
rpm -e PACKAGE_NAME
-nodeps 強行卸載
5、校驗
rpm -V PACKAGE_NAME
rpm
6、重建數據庫
rpm
--rebuilddb:重建數據庫,一定會重新建立
--initdb :初始化數據庫,沒有才建立,有就不用建立
7、檢驗來源合法性,及軟件完整性
加密類型:
對稱:加密解密使用同一個密鑰
公鑰:一對兒密鑰,公鑰,私鑰;公鑰隱含於私鑰中,可以提取出來,並公開出去
# ls /etc/pki/rpm-gpg/
RPM-GPG-KEY-redhat-release
--import /etc/pki/rpm-gpg/ 導入密鑰文件
rpm -K /PATH/TO/PACKAGE_FILE
dsa ,gpg:驗證來源合法性,也即驗證簽名;可以使用--nosignature,略過此項
sha1,md5:驗證軟件包完整性,可以使用--nodigest,略過此項
檢驗應當先導入密鑰文件,然後才能檢驗其合法性。