Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]

一、yum源

  • yum : yellowdog updater modified,是rpm的一个前端程序,主要目的是设计用来解决RPM的依赖关系问题,特点如下:安装rpm包时自动解决依赖关系;可对rpm包进行分组,并基于分组进行安装;引入了仓库的概念,支持多个配置文件,每个配置文件多个仓库;配置简单;
  • YUM仓库:用来存放rpm包,会在仓库中自动查找安装软件需要的rpm包(如果找不到则无法安装),仓库可以是本地的,也可以通过HTTP、FTP或NFS形式集中管理的网络仓库。
  • YUM仓库的配置文件:/ etc / yum.repos.d / 保存在/etc/yum.repos.d/下,每个配置文件的名字不做限制,但是必须以 . repo 结尾。

1、1 仓库配置文件格式

脚本 含义
[仓库名称] 随意写
name= 仓库描述信息 随意写
baseurl= 仓库地址,网络或本地(file://开头) 安装源访问地址
gpgcheck=1 校验rpm包,0不校验

二、yum源的创建

条件 : 有一个与本机系统版本一致的镜像

1、配置本地yum源

实验步骤:

mkdir /iso
scp [email protected]:/镜像路径 /iso    |把真机的镜像拷贝至虚拟机的/iso目录下

cd /iso
ls
cd
mkdir /westossource
mount /iso/rhel-server-7.0-x86_64-dvd.iso /westossource/
  |我的系统版本是7.0
ls /westossource/
mount

cd /westossource/Packages/
ls
                           |可以看到仓库里的官方软件安装包

(1)建立一个可以挂载镜像的目录:mkdir /iso
(2)移动镜像到 /iso
(3)挂载镜像: mount 设备 挂载点mount /iso/rhel-server-7.3-x86_64-dvd.iso /rhel7.3

  • 挂载就是把光盘镜像放在一个目录下,好让系统读取镜像里的资源。

  • 选择镜像资源时一定要选择和自己系统版本匹配的镜像资源版本,可用hostnamectl 查看系统版本

  • repodate :含有依赖性的文件
    packages:软件包组

(4)切换到 /etc/yum.repos.d/ 下编辑westos.repo文件

  • file : // :本地文件
  • gpgcheck=0 不让红帽公司检测要下载的第三方软件是否授权

(5)yum clean all 清除所有的yum缓存,才会使用新的yum源
(6)yum repolist 列出软件仓库信息

  • 注意:若软件仓库信息repolist=0,则说明yum源的指向文件westos.repo有问题.
    Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
    Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
    Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
  • 到此时为止,我们搭建的本地yum源为临时yum源,即重启后还要重新配置.
  • 永久性yum源还要进行下列操作。

(7)进入到 / etc / rc.d / 编辑 rc.local 文件

 /etc /rc.d/rc.local   |开机自动运行脚本,将挂载命令直接写入此文件中即可实现永久性挂载

Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
(8)给脚本一个可执行权限 chmod +x /etc/rc.d/rc.local

  • 注意:必须重启,才能生效
    Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]

2、配置共享yum源

(1)安装apacheyum install httpd 提供超文本传输协议来实现yum源文件共享,通过这个协议使yum源共享

  • / var / www /html 是 apache的默认发布目录

(2)开启apache服务 systemctl start httpdsystemctl enable httpd
(3)关闭防火墙 systemctl stop firewalld systemctl disable firewalld当共享/westos/下的文件给其它主机时,必须关闭防火墙
(4)将本地yum源挂载即将镜像挂载在 /var/www/html/下才能实现yum源共享
(5)给脚本一个可执行权限 chmod +x /etc/rc.d/rc.local重启即生效
(6)在浏览器中可以看到主机的共享目录为 172.25.70.250/westos
(7)我们可以在镜像里面 /etc/yum.repo.d下设置一个系统安装源导向,即westos.repo
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]

三、yum命令

命令 含义
yum clean all 清除所有的yum缓存,才会使用新的yum源
yum repolist 列出软件仓库信息
yum install software 安装一个软件
yum update 更新
yum list software 查看软件
yum list all 查看所有软件
yum list installed 列出所有已安装软件
yum list available 列出可安装软件
yum reinstall software 重新安装软件
yum remove software 卸载软件
yum info software 查看软件信息
yum search software信息 根据软件信息查找软件
yum whatprovides file 根据文件信息找出包含此文件信息的软件(不管有没有装过该软件)
yum history 查看系统中软件管理信息
yum history info 数字 对数字为id的信息进行显示
yum groups list 列出软件组
yum groups info 查看软件组的信息
yum groups install sfgroup 安装软件组
yum groups remove sfgroup 卸载软件组

Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]
Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]

  • 注意:
    1.只有本地yum源的时候安装第三方软件会出现死循环
    2.此时就要先用rpm命令强行安装一个,再用yum命令寻找依赖性的那个再去安装,yum与rpm结合使用。
    3.用yum命令进行安装可以解决大多数的问题,但是不能解决死循环的问题
    4.用rpm命令安装软件可以解决死循环的问题
    5.系统是什么样的版本就用什么样的安装包

四、第三方软件仓库的搭建

  • 可以用于解决死循环类安装
    (1)建立一个目录/software:mkdir /software ,用于存放软件包
    Linux系统的软件管理 [ yum源(本地、共享)、第三方软件仓库搭建 、rpm、yum]