Linux软件包管理器及rpm命令总结

时间:2023-02-14 20:00:11

一、软件包管理器

1、功能:
(1)将软件包打包成一个文件,其中包括:
①二进制程序
②库文件
③配置文件
④帮助文件
(2)生成数据库,追中所安装的每一个文件。

2、软件包管理器的核心功能:
(1)制作软件包
(2)安装、卸载、升级、查询、校验

3、不同发行版的不同的软件包管理器:
(1)RedHat,SUSE常用:RPM
原名为RatHat Package Manager(PRM is Package Manager)
(2)Debian常用:dpt

4、RPM不提供自动解决依赖关系的功能。

5、yum和apt-get简介:
(1)yum,apt-get是前端工具
(2)RPM,dpt是后端工具
(3)yum(Yellodog Update Modifier),是RPM提供的更高级工具,能手动管理RPM的依赖关系
(4)apt-get是dpt的常见工具,能为dpt提供了自动解决依赖关系的工具。

二、rpm包介绍

1、rpm功能:管理软件包

2、rpm数据库在/var/lib/rpm中

3、rpm管理工作:
(1)安装
(2)查询
(3)卸载
(4)升级
(5)校验
(6)数据库的重建等工作

4、rpm命名:
(1)rpm包名的组成部分:
①主包:bind-9.7.1-1.e15.i586.rpm
该是一个例子
blind是包名
9.7.1是版本号
e15.i586是平台架构
②子包:bind-libs-9.7.1-1.e15.i586.rpm
或bind-utils-9.7.1-1.e15.i586.rpm

(2)包名一般格式:name-version-release.arch
name—>包名
version—>版本号
release—>发行号
arch—>平台架构
①例:blind-major.minor.release-release.arch.rpm
②major:主版本号,重大改进
③minor:次版本号,某个子功能发生重大变化
④release:发行号,修正了某些bug,调整了一点功能

(3)rpm包的格式:
①二进制格式
②源码格式

(4)用uname {-a,-r}可以查看平台版本,内核版本

三、安装软件包

1、格式:
(1)rpm -i /PATH/TO/PACKAGE_FILE
(2)常用格式:
rpm -ivh /PATH/TO/PACKAGE_FILE
例子:rpm -ivh zsh-4.3.10-7.e16.x86_64.rpm

2、选项
(1)-h:以#来显示安装进度;每个#表示2%。
(2)-v:显示详细的安装过程。
(3)-vv:显示更加详细的安装过程。
(4)–nodeps:安装时忽略依赖关系。
(5)–force:强行安装,可以实现重装或者降级
(6)–replacepkgs:重新安装,替换原有安装。

四、查询软件包

1、格式:
rpm -q /PACKAGE_NAME
例子:rpm -q zsh

2、选项:
(1)-qa:查询已经安装的所有包
例:rpm -qa
(2)-qi:查询指定包的说明信息(information)
(3)-ql:查询指定包安装后生成的文件列表(list)
(4)-qc:查询指定包安装的配置文件(configure)
(5)-qf /path/to/somefile :查询指定的文件由哪个rpm包安装生成的。
例:rpm -qf /bin/ls
(6)-qd:查询指定包安装的帮助文件(document)
(7)-q –scripts PACKAGE_NAME:查询指定包中包含的脚本
例:rpm -q –scripts bash(zsh)
(8)-p:如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件
例:rpm -qp{i,l,c,d} /PATH/TO/PACKAGE_FILE

五、升级软件包

1、格式:
(1)rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE
如果装有老版本的,则升级,否则,则安装
(2)rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE
如果装有老版本的,则升级,否则,则退出

2、选项:
(1)–oldpackage:降级

六、卸载软件包

1、格式
rpm -e PACKAGE_NAME

2、选项:
(1)–nodeps:无视依赖关系

七、校验

1、格式:
rpm -V PACKAGE_NAME
2、加密类型:
(1)对称加密
(2)公钥加密
(3)单向加密

3、校验来源合法性及软件包完整性
(1)sha1,md5:验证软件包完整性
(2)dsa,pgp:验证来源合法性,业即是验证签名。
(3)导入密钥文件格式:
rpm –import /etc/pki/rpm-rgp/RPM-GPG-KEY-FILE

4、只验证软件包签名,不验证软件包合法性格式:
rpm -K –nodigest /PATH/TO/PACKAGE_FILE

5、只验证软件包合法性,不验证软件包签名格式:
rpm -K –nosignature /PATH/TO/PACKAGE_FILE

八、重建rpm数据库

1、rpm数据路在/var/lib/rpm目录下
2、重建数据库格式:
(1)rpm –rebuilddb
重建数据库,一定会重新建立
(2)rpm –initdb
初始化数据库,没有才建立,有就不用建立

上述是我个人的一些总结,如有错误,欢迎大家指出,谢谢大家。