软件包管理器(Redhat Package Manager)
打包成一文件:二进制程序,库文件,配置文件,帮助文件
生成数据库,追踪所安装的每一个文件
软件包管理器的核心功能:
1.制作软件包
2.安装、卸载、升级、查询、校验、数据库的重建、验证数据包等工作;
- rpm命令: rpm: 数据库:/var/lib/rpm rpmbuild:
- rpm命名: 包:组成部分 主包: Bind-9.7.1-1.el5.i586.rpm
子包:
Bind-libs-9.7.1-1.el5.i586.rpm Bind-utils-9.7.1-1.el5.i586rpm
包含格式:
Name-version-release.arch.rpm
Bind-major.minor.release-release.arch.rpm
主版本号:重大改进
次版本号:某个子功能发生重大变化
发行号:修正了部分bug,调整了一点功能
Bind-9.7.1.tar.gz
rpm包:
二进制格式
rpm包作者下载源程序,编译配置完成后,制作成rpm包
Bind-9.7.1-1.i686
I686是32位镜像
不仅要与CPU匹配,还要与平台上的操作系统匹配
rpm相关命令:
-
安装
rpm -I /PATH/TO/PACKAGE_FILE
-h :以#显示进度:每个#表示2%
-v :显示详细过程
-vv:更详细的过程
rpm -ivh /PATH/TO/PACKAGE_FILE
–nodeps:忽略依赖关系
–replacepkgs:重新安装,替换原有安装:
–force:强行安装,可以实现重装或降级 -
查询
rpm -q PACKAGE_NAME
rpm -qa 查询已经安装的所有包
rpm -qi PAXKAGE_NAME:查询指定包的说明信息
rpm -ql PACKAGE_NAME:查询指定包安装后生成的文件列表
rpm -qf .path/to/somefile:查询指定的文件是由哪个rpm 包安装生成的
rpm -qc PACKAGE_NAME:查询指定包安装的配置文件
rpm -qd PACKAGE_NAME:查询指定包安装的帮助文件
rpm -q --scripts PACKAGE_NAME:查询指定包中包含的脚本
-
升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE
:如果装有老版本的,则升级,否则,则安装
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE
:如果装有老版本的,则升级,否则,退出
–oldpackages:降级 -
卸载
rpm -e PACKAGE_NAME
–nodeps -
校验
rpm -V PACKAGE_NAME
-
检验来源合法性,及软件完整性。
#ls /etc/pki/rpm-gpg/ RPM-GPG-KEY-redhat-release
rpm -K /PATH/TO/PACKAGE_FILE
Dsa,gpg:验证来源合法性,也即验证签名:可以使用–nosignature,略过此项
Sha1,md5:验证软件包完整性:可以使用–nosignature,略过此项rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入密钥文件
-
重建数据库
rpm
–rebuilddb:重建数据库
–initdb:初始化数据库,没有才建立,有就不用建立