---
url: /blog/85h4eaah/index.md
---
![软件包管理](./Linux.jpg)

## 第一节 RPM

1 什么是RPM

```shell
RPM（RedHat Package Manager），RedHat软件包管理工具，类似windows里面的setup.exe.是Linux这系列操作系统里面的打包安装工具，它虽然是RedHat的标志，但理念是通用的。
```

2 RPM包的名称格式

```shell
Apache-1.3.23-11.i386.rpm   ||  xxx-1.0.exe
​    -  “apache” 软件名称
​    -  “1.3.23-11”软件的版本号，主版本和次版本
​    -  “i386”是软件所运行的硬件平台，Intel 32位微处理器的统称
​    -  “rpm”文件扩展名，代表RPM包
```

> RPM查询命令

* 基础语法

  ```shell
  rpm -qa       （功能描述：查询所安装的所有rpm软件包）
  rpm -ql  服务名 (功能描述:查看安装位置)
  ```

* 经验技巧

  ```shell
  由于软件包比较多，一般都会采取过滤。rpm -qa | grep rpm软件包
  ```

* 实操案例

  * （1）查询firefox软件安装情况

  ```shell
  [root@hadoop101 Packages]# rpm -qa | grep firefox 
  firefox-45.0.1-1.el6.centos.x86_64
  ```

> RPM卸载命令

* 基本语法

  ```shell
  （1）rpm -e   软件包  
  （2）rpm -e --nodeps 软件包
  ```

* 选项说明

  | 选项       | 功能                                          |
  | -------- | ------------------------------------------- |
  | -e       | 卸载软件包                                       |
  | --nodeps | 卸载软件时，不检查依赖。这样的话，那些使用该软件包的软件在此之后可能就不能正常工作了。 |

* 实操案例

  * （1）卸载firefox软件

  ```shell
  [root@hadoop101 Packages]# rpm -e firefox
  ```

> RPM安装命令

* 基本语法

  ```shell
  rpm -ivh RPM包全名
  ```

* 选项说明

  | 选项       | 功能                |
  | -------- | ----------------- |
  | -i       | -i=install，安装     |
  | -v       | -v=verbose，显示详细信息 |
  | -h       | -h=hash，进度条       |
  | --nodeps | --nodeps，不检测依赖进度  |

* 实操案例

  * （1）安装firefox软件

  ```shell
  [root@hadoop101 Packages]# pwd
  /media/CentOS_6.8_Final/Packages
  [root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm 
  warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
  Preparing...        ########################################### [100%]
    1:firefox        ########################################### [100%]
  ```

## 第二节YUM

1 什么是YUM

```shell
YUM（全称为 Yellow dog Updater, Modified）是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理，能够从指定的服务器自动下载RPM包并且安装，可以自动处理依赖性关系，并且一次安装所有依赖的软件包，无须繁琐地一次次下载、安装。该功能类似手机中的应用商店,通过网络下载程序包安装即可.功能类似在JAVA中使用MAVEN工具从远程仓库中下载依赖一样,可以自动处理依赖关系.YUM
```

![](./image/y1_acv-SC0ehK.png)

> yum安装程序命令

* 基本语法

  ```shell
  # 切换yum源，系统自带下载源已经停止维护，切换成阿里源！！
  sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
  yum [选项] [参数]
  ```

* 选项说明

  | 选项 | 功能            |
  | -- | ------------- |
  | -y | 对所有提问都回答“yes” |

* 参数说明

  | 参数           | 功能               |
  | ------------ | ---------------- |
  | install      | 安装rpm软件包         |
  | update       | 更新rpm软件包         |
  | check-update | 检查是否有可用的更新rpm软件包 |
  | remove       | 删除指定的rpm软件包      |
  | list         | 显示软件包信息          |
  | clean        | 清理yum过期的缓存       |
  | deplist      | 显示yum软件包的所有依赖关系  |

* 实操案例

  * （1）通过yum获取火狐浏览器软件包名称

  ```shell
  [root@hadoop101 ~]#yum list | grep firefox
  ```

  * （2）采用yum方式安装firefox

  ```shell
  [root@hadoop101 ~]#yum -y install firefox.x86_64
  ```
