Linux 基础教程 34-软件包管理-RPM

图片 9

   
对于Linux来讲管理每一样软件,如安装、卸载和晋级等是有史以来的事体和必备的技术。以CentOS为例,常用的安装包命令有rpmyum

RPM基础

    RPM(RedHat Package
Manager)是一个种类软件包,成效周围于Windows中的增加/删除程序,但又比增进/删除程序功用更加强。在Linux界普遍采取的仍为种种开源软件,也便是代码是开放的,这个代码平日会棉被服装进为.tar.gz格局在互联英特网扩充传播,而这一个开源软件被下载后还是须求编写翻译成二进制后才足以利用。这种试就算宽容性好,但接纳起来却不便于,存在一定的依赖关系,而文件相当大时,编写翻译出错的票房价值也充足大,对于家常便饭行招人口也很麻烦。
   
使用RPM能够相当轻松地对RPM格局的软件扩充设置、进级、卸载、核算和查询等操作。RPM能够让顾客一贯以binary格局安装软件包且可代替客商查询是不是业已安装了相关的库文件。在用RPM删除程序时,微机会提醒顾客是不是要刨除相关程序。要是利用RPM实行晋级换代,RPM会保留得得配置。此外RPM还保留了一个带有全部软件包资料的数据库,通过该数据库能够查询各类已经设置的软件包等等。

RPM使用

RPM安装路线

   
Linux的目录是有统大器晚成规范的,这么些专门的职业的效劳是保障别的叁个软件都能找到另大器晚成款软件、文件。

  • 能够运作的文书存放在/bin或/usr/bin目录中
  • 库文件存放在/lib或/usr/lib目录中
  • 部署文件寄存在/etc目录

   
日常,RPM类型的公文在安装的时候,会先去读取文件内记载的装置参数内容,然后将该数额用于比较Linux意况,进而找寻是或不是有总体性信任的软件还从未设置的主题材料。使用RPM情势安装的软件,在成就安装后,会将该软件的有关音信写入到/var/lib/rpm目录下的数据库文件中。该数据库特别关键,借使软件晋级必需依附它,如版本比对正是从那几个数据库中读取数据的。

RPM组成都部队分

    RPM包含RPM数据库RPM软件包文件RPM命令三部分。

  • RPM数据库

   
Linux系统中保留了前段时间设置软件的数据库,路线坐落于/var/lib/rpm,可使用file指令查看目录内容。
图片 1

/var/lib/rpm目录中的文件全部都是数据库文件且为二进制。
  • RPM软件包文件

   
RPM软件包与tar归档文件近似:tar文件含有要设置到系统上的文件,软件包除了tar中的新闻还包含二个RPM呼和浩特,该遵义提供了有关软件包的信息,如名称、安装大小及其内容的回顾描述等。另软件包还包括了质量信任消息,即为了使文件可棉被服装置和行使,必得设置的别的软件包、可施行文件和库文件等。在Linux安装光盘中,软件包文件平常位于Packages目录中。软件包文件的称呼经常由下列几条新闻整合:

名称-版本-发行号.体系结构.rpm

    以CentOS 7中MySQL为例
图片 2

名称:mysql-community-common
版本:5.7.20
发行号:1
体系结构:el7.x86_64。el7代表CentOS 7.x系统,x86_64是指该软件是针对哪种CPU架构开发的。
  • RPM命令

    RPM命令是用来保管数据库的工具,如下所示:

命令选项 作用
-i 安装软件包
-U,-F 软件包升级
-e 删除软件包
-q 查询安装包
-a 查询的所有安装包
-v 显示安装的详细过程
-h 显示安装进度
–checksig 校验签名以确保其完整性和源发性
更多RPM命令解释可以使用man rpm进行查看

RPM安装

RPM包安装格式如下:

rpm -i rpm包的全路径及文件名
rpm -ivh rpm包的全路径及文件名

中间各参数解释如下:

  • -i:代表安装
  • -v:代表verbose,在装置进程中显得详细的新闻
  • -h:代表hash,在装置进度上校展现#表示安装速度

对于较大的RPM包,在安装时需要使用-ivh,可以方便查看在安装过程中的相应信息和进度。在安装过程出现warning时并不影响软件包的安装,出现error则无法继续安装,需要排错。

演示1:本地安装VSFTPD
图片 3

   
在上面我们使用的是地点安装,假设RPM软件包不在本地时,怎样设置?RPM其实也扶持在线安装。
演示2:在线安装VSFTPD
图片 4

可与rpm -i结合使用的参数如下所示:

命令选项 作用
-h,–hash 安装输出#代表安装进度
-v,–verbose 1个-v选项打印软件包名称,多个-v选项提供更多详细信息的输出
–nodeps 即使不符合安装前提条件,仍进行安装
–replace-files 安装时已有的文件会被新文件覆盖替换
–force 即使已经安装了软件包,也要进行安装
–test 不执行任何操作,只打印输出
–noscripts 不执行与RPM安装有关的任何脚本
–prefix 指定安装rpm包安装路径

RPM卸载

   
生机勃勃旦设置了软件包,软件包文件则无关痛痒了,该软件包今后正是本土Computer方面包车型大巴一条数据库记录。由此,不再行使软件包文件名称,如vsftpd-3.0.2-22.el7.x86_64.rpm,而单单使用软件包名称,如vsftpd-3.0.2-22.el7.x86_64来指该软件包,使用

rpm -e packagename

开展删除软件包,当中-e代表earse。

说明1:packagename:可以包含版本等信息,但不能包含后缀名.rpm
说明2:rpm -e vsftpd-3.0.2-22.el7.x86_64(正确)
      rpm -e vsftpd-3.0.2-22.el7.x86_64.rpm(错误)

图片 5

RPM升级

   
使用RPM晋级软件包特别方便不难,首要参数是-U,当然也足以一向写-Uvh或-Fvh,两个分别如下:

-Uvh:如果软件包没有安装,则直接安装,如果要安装的软件包是新的版本,则软件会进行自动更新为新的版本。
-Fvh:如果软件包没有安装,则不会安装,也即只能对已经安装的软件包进行升级

图片 6

RPM查询

    RPM软件包查询中与rpm -q
package-name结合使用的片段采撷和效果如下所示:

命令选项 作用
-a 查询所有已安装的软件包
-f filename 拥有文件filename的软件包
-p packagefilename 直接查询软件包文件packagefilename
-i 软件包信息包头
-l 列出软件包所拥有的文件
–requires 安装包的先决条件
–provides 显示安装包提供的内容
–scripts 显示软件包的安装脚本
-last 按时间排序显示系统上安装的RPM包

1、查看已经安装的RPM包音讯和安装的文书
图片 7
2、查看RPM安装包的依靠项、提供的内容及前段时间安装包
图片 8
本文同步在Wechat订阅号上发布,如各位小朋侪们欣赏笔者的稿子,也能够关切自个儿的Wechat订阅号:woaitest,或扫描下边包车型大巴二维码增多关怀:
图片 9