软件包管理:

程序组成:二进制程序,库文件,配置文件,帮助文件。

 

软件包管理器的核心功能:

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 软件包管理rpm使用_软件包管理

--nodeps:忽略依赖关系

--replacepkgs  重新安装并替换原有安装

软件包管理rpm使用_软件包管理_02

--force 强行安装,可以实现重装或降级

--test   仅测试,不安装。

软件包管理rpm使用_软件包管理_03

2、查询

rpm -q PACKAGE_NAME    查询指定的包是否安装

软件包管理rpm使用_软件包管理_04

rpm -qa  查询已经安装的所有的包

rpm -qi PACKAGE_NAME 查询指定包的说明信息

软件包管理rpm使用_软件包管理_05

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使用_软件包管理_06

rpm -qpl  /PATH/TO/PACKAGE_NAME

3、升级

rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE       如果装有老版本的,则升级;否则,则安装

rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE       如果装有老版本的,则升级;否则,退出

软件包管理rpm使用_软件包管理_07

--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,略过此项

检验应当先导入密钥文件,然后才能检验其合法性。