yum仓库

文章目录

  • yum仓库
    • 一、 yum仓库简介
      • 1、yum简介
      • 2、yum实现过程
        • 2.1 光驱里自带 挂载提供软件包
        • 2.2 yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
        • 2.3 实现安装服务
    • 二、yum配置文件及命令
      • 1、主配置文件
      • 2、yum仓库文件位置
      • 3、日志
      • 4、 yum命令解释
        • 命令查询
          • yum list [软件名]
          • yum info [软件名]
          • yum search <关键词>
          • yum provides <关键词>
          • yum grouplist [包组名]
          • yum groupinfo <包组名>
    • 三、 搭建仓库的方式
      • 1、搭建本地yum仓库
        • 1.1 搭建yum仓库步骤
        • 2.2 命令格式
        • 2.3 命令格式(图文详解)
      • 2、http方式搭建云仓库
        • 2.1 http方式搭建云仓库步骤
        • 2.2 命令格式
        • 2.3 命令格式(图文详解)

yum仓库

一、 yum仓库简介

1、yum简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

先在yum服务器上创建yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包以及依赖关系,自动从仓库中找到相关包下载并安装。yum需要依赖环境,依赖于服务端和客户端,允许跨网路。

2、yum实现过程

2.1 光驱里自带 挂载提供软件包

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

2.2 yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器

  • RPM包 (Packages文件夹中)

  • 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系;软件的位置)

客户端的配置文件

  • 必须要放在 /etc/yum.repos.d/文件夹下

  • 必须要以 .repo 结尾

  • baseurl=地址一定要写到这两个文件夹 repodata、packages 的上级目录 ,最终形成两个文件夹Packages (包文件夹一般取名packages)和repodata(元数据文件夹)

    1. file:// — 代表本机位置
    2. file:///mnt — 代表本机光盘的挂载点(在/mnt文件夹下)
    3. http:// ip地址 — 代表网络地址
    4. https:// ip地址 — 代表网络地址

仓库类型

  • 光盘的仓库基本仓库比较常用的
  • epel扩展仓库比较新
2.3 实现安装服务

yum仓库_第1张图片

  • 客户端根据配置文件找到服务端
  • 客户端将元信息下载到本地(元信息:安装包的位置,以及安装包的依赖关系)
  • 根据元信息去下载对应的安装包到本地后,然后安装
  • 安装完成后再删除安装包

元信息:是一个文件,记录安装包的路径和安装包的依赖关系

二、yum配置文件及命令

1、主配置文件

  • 位置:vim /etc/yum.conf

yum仓库_第2张图片

[root@localhost]#vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever #yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0                                   #是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                  #调试级别了解即可
logfile=/var/log/yum.log					 #日志文件位置
exactarch=1								     #是否允许不同版本的rpm安装
obsoletes=1									#update 的一个参数是否可以允许旧版本的运行	
gpgcheck=1                                  #验证秘钥
plugins=1                                   #是否允许插件1代表可以
installonly_limit=5                         #保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

2、yum仓库文件位置

  • 位置:/etc/yum.repos.d/*.repo

yum仓库_第3张图片

[root@localhost abc]#cd /etc/yum.repos.d
#切换目录
[root@localhost yum.repos.d]#ll
#查看当前目录
总用量 28
-rw-r--r--. 1 root root 1664 830 2017 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 830 2017 CentOS-CR.repo
-rw-r--r--. 1 root root  649 830 2017 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 830 2017 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 830 2017 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 830 2017 CentOS-Sources.repo
-rw-r--r--. 1 root root 3830 830 2017 CentOS-Vault.repo
[root@localhost yum.repos.d]#ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

3、日志

  • 位置:/var/log/yum.log

yum仓库_第4张图片

[root@localhost yum.repos.d]#cat /var/log/yum.log
#查看日志文件
Jan 16 18:50:00 Installed: apr-1.4.8-7.el7.x86_64
Jan 16 18:50:00 Installed: apr-util-1.5.2-6.el7_9.1.x86_64
Jan 16 18:50:00 Installed: httpd-tools-2.4.6-99.el7.centos.1.x86_64
Jan 16 18:50:00 Installed: mailcap-2.1.41-2.el7.noarch
Jan 16 18:50:01 Installed: httpd-2.4.6-99.el7.centos.1.x86_64

4、 yum命令解释

命令 不加关键字 加入关键词、软件包、软件包组
yum list 显示所有可用包 单个的可安装包
yum info 显示所有可用包的信息 单个具体的信息
yum search \ 模糊查找所有的相关信息
yum provides \ 精确查找
yum grouplist 显示所有可用包组 显示具体的包组
yum groupinfo 显示所有的包组具体信息 显示具体的包组的具体信息
yum install \ 安装具体软件包
yum groupinstall \ 安装具体软件包组
yum update 所有软件升级 具体软件升级
yum group update 所有包组升级 具体包组升级
yum remove \ 卸载具体软件
yum groupremove \ 卸载具体包组软件
yum history 查看当前yum操作历史 \
yum history undo 加入序号卸载序号里安装的软件 \
yum history redo 加入序号重新执行序号里的操作 \
命令查询
  1. yum list [软件名]
    • 显示可用的安装包,如不加软件名是显示所有的可用安装包,

    yum仓库_第5张图片

  2. yum info [软件名]
    • 显示安装包详细信息,如不加软件名是显示所有包的详细信息

    yum仓库_第6张图片

  3. yum search <关键词>
    • 根据关键字查找软件安装包

    yum仓库_第7张图片

  4. yum provides <关键词>
    • 知道某个命令,查找具体的安装包

    yum仓库_第8张图片

  5. yum grouplist [包组名]
    • 安装包组的查询 不加包组名 就是显示所有

    yum仓库_第9张图片

  6. yum groupinfo <包组名>
    • 不加包组名显示全部

    yum仓库_第10张图片

三、 搭建仓库的方式

1、搭建本地yum仓库

1.1 搭建yum仓库步骤
  • 首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)

  • 切换到 yum.repo.d 目录 将自带的仓库移走,多个开启仓库文件可能会造成冲突无法使用

  • 新建yum仓库文件

  • yum list 检查仓库无报错信息即可正常使用

2.2 命令格式
mount /dev/sr0 /mnt   #挂载

cd /etc/yum.repos.d    #切换到规定目录

mkdir bak    #新建备份文件夹

mv *.repo bak    #移动所有以repo结尾的文件到bak

vim xxxx.repo    #新建yum仓库文件
[xxxx]
name=xxxx
baseurl=file:///mnt
gpgcheck=0

yum clean all    #清除缓存

yum makecache    #重新下载元数据

yum insstall httpd -y    #使用yum安装httpd软件
2.3 命令格式(图文详解)

yum仓库_第11张图片

2、http方式搭建云仓库

  • 服务端:192.168.10.11

  • 客户端:192.168.10.12

2.1 http方式搭建云仓库步骤
  • 服务端安装httpd服务

  • 服务端切换到/var/www/html/目录下新建一个centos7目录

  • 服务端将光驱里的文件包全部拷到centos7里面(将光驱挂载到 了centos7目录)

  • 服务端开启相关服务,关闭防火墙

  • 客户端安装http服务并启动关闭防火墙

  • 测试http服务是否正常

  • 编写yum仓库文件

  • 测试是否yum可以正常使用

2.2 命令格式
##服务端和客户端首先要关闭防火墙和防护中心
##服务端:
systemctl stop firewalld    #关闭防火墙

setenforce 0    #关闭防护中心

yum install httpd -y    #安装软件

cd /var/www/html/    #切换目录

mkdir centos7    #新建文件夹

mount /dev/sr0 centos7/    #挂载

systemctl start httpd    #开启服务

##客户端:
cd /etc/yum.repos.d    #切换到规定目录

mkdir bak    #新建备份文件夹

mv *.repo bak    #移动所有以repo结尾的文件到bak

vim httpd.repo    #新建yum仓库文件
[http]
name=httpd
baseurl=http://192.168.10.11/centos7
gpgcheck=0

yum clean all    #清除缓存

yum makecache    #重新下载元数据

##验证
yum list    #检查仓库无报错信息即可正常使用

yum install ftp -y    #安装软件(软件源来自于http)
2.3 命令格式(图文详解)
  • 服务端

yum仓库_第12张图片

  • 客户端

yum仓库_第13张图片

  • 验证

yum仓库_第14张图片

你可能感兴趣的:(linux,运维)