Linux 从入门到跑路第十二讲 -- 软件包管理之 rpm 命令管理

软件包分类

在 Linux 下,软件包可以分为两类:

  1. 源码包:顾名思义,就是把源代码直接给你
  2. 二进制包:又称 RPM 包,也称系统默认包,与源码包不同,二进制包是经过编译的,可以加快安装速度,简化安装操作

RPM 包的两种管理方式

RPM 包有两种管理方式,分别是:rpm 命令管理和 yum 在线管理,它们之间的主要区别为 rpm 命令一般是手动安装查询卸载,而 yum 会自动进行在线安装。

在本讲,我们会重点介绍 rpm 命令管理。

RPM 包命名原则

下面是一个 RPM 包,第一眼望去,是不是觉得很包名很长,看不懂呢?其实,RPM 包名不是随便取的,它是有命名原则的。
在这里插入图片描述
RPM 包的命名原则如下:

  1. httpd:软件包名
  2. 2.2.15:软件版本
  3. 15:软件发布的次数
  4. el6.centos:适合的 Linux 平台
  5. i686:适合的硬件平台
  6. rpm:RPM 包扩展名

注意,RPM 包的包名和包全名是两个不同的概念,在上面的例子中,包名指的是软件包名 httpd,而包全名指的是 httpd-2.2.15-15.el6.centos.1.i686.rpm。

RPM 包依赖性

在 Linux 中,RPM 包之间的依赖关系一般可以分为以下三类:

  1. 树形依赖:即 A-B-C-D,要安装 A 必须先安装 B,而要安装 B 又必须安装 C…解决方案为从后往前安装,即先安装 D,再安装 C,然后安装 B,最后安装 A
  2. 环形依赖:即 A-B-C-D-A,各个软件安装的依赖关系构成一个环,解决方案为用一条命令同时安装所有软件包
  3. 模型依赖:软件包的安装需要借助其他软件包的某些文件(比如库文件),解决方案为通过特定网站找到包含此文件的软件包并直接安装

包全名和包名

前面我们已经简单介绍了包全名和包名的概念,那么,我们应该什么时候使用包全名,什么时候使用包名呢?

  1. 包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径
  2. 包名:操作已经安装的软件包时,使用包名

RPM 包的安装,升级与卸载

RPM 包安装

RPM 安装命令为 rpm,命令格式为:

rpm -ivh 包全名

选项含义如下:

  • -i:安装
  • -v:显示详细信息
  • -h:显示进度
RPM 包升级

RPM 包升级命令为:

rpm -Uvh 包全名

其中,-U 选项表示升级。

RPM 包卸载

RPM 包卸载命令为:

rpm -e 包名

其中,选项 -e 表示卸载。

RPM 包的查询

查询是否安装
rpm -q 包名

选项 -q 表示查询。

如果你想查看所有已经安装的 RPM 包,可以使用以下命令:

rpm -qa

-a 选项表示所有。

示例如下:
在这里插入图片描述

查询软件包详细信息
rpm -qi 包名

其中,-i 选项表示查询软件信息。另外,如果我们想查询未安装包信息,可以使用 -p 选项。

例如,我们想查询 filesystem 软件包的详细信息,命令可以这么写:
在这里插入图片描述

查询包中文件安装位置
rpm -ql 包名

选项 -l 表示列表。另外,如果我们想查询未安装包信息,可以使用 -p 选项。

查询系统文件属于哪个 RPM 包
rpm -qf 系统文件名

-f 选项表示查询系统文件属于哪个软件包。

在这里插入图片描述

查询软件包的依赖性
rpm -qR 包名

-R 选项表示查询软件包的依赖性。另外,如果我们想查询未安装包信息,可以使用 -p 选项。

在这里插入图片描述

RPM 包的校验和文件提取

RPM 包的校验
rpm -V 已安装的包名

-V 选项表示校验指定 RPM 包中的文件。

该命令可以检验 RPM 包中的文件信息是否被修改。

RPM 包的文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径

该命令一般用于误操作导致删除了一些文件之后的修复工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值