一、应用程序与命令系统的关系

rpm&yum你选谁_数据库

二、典型应用程序的目录结构

rpm&yum你选谁_依赖关系_02

三、常见的软件包封装类型

rpm&yum你选谁_数据库_03

四、RPM简介

4.1RPM概述

RPM软件包管理器Red-Hat package Manager

  • 由Red Hat公司提出, 被众多Linux发行版所采用

  • 建立统一的文件数据库

  • 详细记录软件包安装、卸载、升级等变化信息

  • 自动分析软件包依赖关系

  • 保持各应用程序在一个协调、有序的整体环境中允许

RPM软件包获取途径:

  • RPM软件包软件素材参考:​​http://www.rpm.org​

  • RPM软件包一般命名格式:bash-4.1.2.-28.el6.x86_64.rpm
4.2RPM命令概述
  • pm命令能够实现几乎所有对RPM软件包的管理功能
  • 执行"man rpm"命令可以获得关于rpm命令的详细帮助信息
  • rpm命令功能
  • 查询、验证RPM软件包的相关信息、
  • 安装、升级、卸载RPM软件包
  • 维护重建RPM数据库信息等综合管理操作

五、安装、升级、卸载rpm包


rpm [选项]  RPM软件包
rpm -ivh RPM软件包 #安装软件包,install
rpm -evh RPM软件包 #卸载软件包

常用选项

rpm&yum你选谁_依赖关系_04

要想安装rpm包,首先需要挂载光驱

mount /dev/sr0或者cdrom  /mnt/

rpm&yum你选谁_数据库_05

rpm -ivh /mnt/Packages/lynx.....安装lynx包

rpm&yum你选谁_依赖关系_06

rpm安装常用的一些选项

rpm&yum你选谁_数据库_07

rpm -qa显示软件下面有几个软件包

rpm&yum你选谁_依赖关系_08

rpm -qi显示这个软件的详细信息

rpm&yum你选谁_依赖关系_09

rpm -ql显示已安装文件的列表

rpm&yum你选谁_清除缓存_10

rpm -qc显示软件包的配置文件

rpm&yum你选谁_依赖关系_11

rpm -qd显示软件包的文档位置

rpm&yum你选谁_数据库_12

rpm -qR查看软件包的依赖包

rpm&yum你选谁_数据库_13

rpm -qF查看软件属于哪个包

rpm&yum你选谁_依赖关系_14

查询未安装的RPM软件包文件中信息

rpm&yum你选谁_数据库_15

六、维护RPM数据库

  1. 重建RPM数据库 当RPM 数据库发生损坏,可通过重建RPM数据库修复

  2. 基本格式:rpm --rebuilddb #法一rpm --initdb #法二导入验证公钥 在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一 部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件。

基本格式:mount /dev/cdrom /mnt/ #先挂载cdromrpm --import /mnt/RPM-GPG-KEY-CentOS-7 #导入公钥

七、解决软件包依赖关系的方法

安装有依赖关系的多个软件时
  • 被依赖的软件包需要先安装

  • 可同时指定多个.rpm包文件进行安装

.卸载有依赖关系的多个软件时
  1. 依赖其他程序的软件包需要先卸载

  2. 可同时指定多个软件名进行卸载

忽略依赖关系
  • 结合“- -nodeps”选项,但可能导致软件异常

八、yum命令及安装

什么是yumyum( Yellow dog Updater, Modified)

是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum语法:
yum [可选项] [要进行的操作] [安装包名 ...]
1. yum check-update  //列出所有可更新的软件清单命令

2. yum update //更新所有软件命令

3. yum install <package_name> //仅安装指定的软件命令

4. yum update <package_name> //仅更新指定的软件命令

5. yum list // 列出所有可安裝的软件清单命令

6. yum remove <package_name> //删除软件包命令

7. yum search <keyword> 查找软件包命令

8. 清除缓存命令:
yum clean packages //清除缓存目录下的软件包
yum clean headers // 清除缓存目录下的 headers
yum clean oldheaders //清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) //清除缓存目录下的软件包及旧的 headers
配置yum仓库


rpm&yum你选谁_清除缓存_16


在终端关闭防火墙
systemctl stop firewalld.service
setenforce 0
挂载并查看是否成功
[root@localhost ~]# mount /dev/sr0 /mnt/    //写保护,将以只读的方式挂载,挂载到/mnt目录下
[root@localhost ~]# df -Th #查看挂载
切换至yum.repo.d目录,新建一个文件夹,再将自带的仓库移走
[root@localhost ~]# cd /etc/yum.repos.d/      //切换至cd /etc/yum.repos.d/ 
[root@localhost yum.repos.d]# mkdir beifen //创建一个文件夹,名为beifen
[root@localhost yum.repos.d]# mv *.repo beifen/ //把自带的仓库以.repo结尾的移到新建的beifen文件夹下
新建yum仓库文件
[root@localhost yum.repos.d]# vim yxp.repo //新建yum仓库文件
[yxp]
name=yxp //名字任取
baseurl=file:///mnt //设置链接地址,file://是固定格式,挂在根目录下的mnt
enabled=1 //开机自启
gpgcheck=0 //无需验证
[root@localhost yum.repos.d]# yum list
[root@localhost yum.repos.d]# yum clean all //清除缓存
安装tree软件

rpm&yum你选谁_依赖关系_17