软件包管理:
程序组成:二进制程序,库文件,配置文件,帮助文件。
软件包管理器的核心功能:
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,略过此项
检验应当先导入密钥文件,然后才能检验其合法性。