Linux网络服务 四:yum仓库的搭建和管理

文章目录

    • 1.yum仓库概述
      • 1.1yum仓库简介
      • 1.2yum的实现过程
      • 1.yum仓库的安装原理
    • 2.yum配置文件及命令
      • 2.1yum 配置文件
        • 2.1.1主配置文件
        • 2.1.2仓库设置文件
        • 2.1.3日志文件
      • 2.2yum命令
        • 2.2.1命令简述
        • 2.2.2命令示例
          • 2.2.2.1查询命令
          • 2.2.2.2 升级和安装命令
          • 2.2.2.3软件卸载
    • 3.搭建yum仓库的方式
        • 1.搭建阿里云仓库
        • 1.自建yum仓库
        • 2.以http方式搭建yum仓库
        • 3.以ftp的方式搭建yum仓库

1.yum仓库概述

1.1yum仓库简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。

1.2yum的实现过程

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

1.yum仓库的安装原理

Linux网络服务 四:yum仓库的搭建和管理_第2张图片

  • 客户端根据自己配置文件找到yum仓库服务器位置
  • 服务端向客户端发送元数据包(包含软件依赖关系、和软件位置) //相当于软件安装目录
  • 客户端下载后,在元数据包中查找目标,发送请求
  • 服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装

2.yum配置文件及命令

2.1yum 配置文件

2.1.1主配置文件
/etc/yum.conf

Linux网络服务 四:yum仓库的搭建和管理_第3张图片

[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.1.2仓库设置文件
/etc/yum.repos.d/*.repo/

在这里插入图片描述

2.1.3日志文件
/var/log/yum.log

在这里插入图片描述

2.2yum命令

2.2.1命令简述
命令 不加关键字 加入关键词、软件包、软件包组
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 加入序号重新执行序号里的操作 \
2.2.2命令示例
2.2.2.1查询命令
yum list [软件名]
显示该软件可以软件包

Linux网络服务 四:yum仓库的搭建和管理_第4张图片

yum info [软件名]
显示该软件包的详细信息


##不加软件名显示所有包的详细信息

Linux网络服务 四:yum仓库的搭建和管理_第5张图片

yum search <关键词>
根据关键词来查找软件包,相当于你只知道这个包里的某个关键字会全部给你匹配出来

Linux网络服务 四:yum仓库的搭建和管理_第6张图片

yum provides <关键词>
知道命令但不知道具体的包可以用这个寻找

Linux网络服务 四:yum仓库的搭建和管理_第7张图片

yum grouplist [包组名]
安装包组的查询 

###不加包组名 就是显示所有

Linux网络服务 四:yum仓库的搭建和管理_第8张图片

yum groupinfo <包组名>
显示所有的包组具体信息

不加组名显示全部

Linux网络服务 四:yum仓库的搭建和管理_第9张图片

2.2.2.2 升级和安装命令
yum install [软件名] -y
直接安装软件包

#-y 直接安装 不加则会多出一大堆的步骤

Linux网络服务 四:yum仓库的搭建和管理_第10张图片

yum groupinstall <包组名> -y
包组安装同yum install
yum update
更新包组 

可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新
yum groupupdate
组包更新和单个安装包更新差不多

例子中没有更新的包组所以无法安装。

Linux网络服务 四:yum仓库的搭建和管理_第11张图片

2.2.2.3软件卸载
yum remove <软件名>
卸载已安装软件 必须加软件名

Linux网络服务 四:yum仓库的搭建和管理_第12张图片

yum groupremove <包组名>
同软件卸载

yum history
查看历史的使用记录

Linux网络服务 四:yum仓库的搭建和管理_第13张图片

yum history redo 4 (重新安装一遍)

yum history undo 6 (反悔卸载等于重新安装一遍)

3.搭建yum仓库的方式

在外网环境

1.搭建阿里云仓库

1.切换到yum.repos.d目录将系统自带的仓库移走

cd /etc/yum.repos.d #切换到yum.repos.d目录
mkdir bak           #创建空目录
mv *.repo bak       #将系统自带的仓库移动到新建目录中

Linux网络服务 四:yum仓库的搭建和管理_第14张图片
2.创建阿里云仓库(也可以再加一些其他的仓库)

vim aliyun.repo

[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/                  //开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/    //变量参见主配置文件2.1小节
gpgcheck=0

[epel]                                                                //epel源仓库
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0

[update]                                                             //更新包仓库
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0

Linux网络服务 四:yum仓库的搭建和管理_第15张图片

yum clean all
#清除安装包缓存
yum makecache
#创建元数据

Linux网络服务 四:yum仓库的搭建和管理_第16张图片

在内网连接不上外网的环境

1.自建yum仓库
mount /dev/sr0/ mnt
#将光驱挂载到/mnt目录下
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
#将系统自带的yum仓库移进自建目录

Linux网络服务 四:yum仓库的搭建和管理_第17张图片

vim scj.repo

Linux网络服务 四:yum仓库的搭建和管理_第18张图片

yum clean all
#清理缓存

yum makecache
#创建元数据

Linux网络服务 四:yum仓库的搭建和管理_第19张图片

2.以http方式搭建yum仓库

服务端:192.168.67.100
客户端:192.168.67.101

1.服务端配置

yum  install   httpd -y          #下载软件
mount  /dev/sr0   /var/www/html  #挂载
systemctl start httpd            #开启软件服务

Linux网络服务 四:yum仓库的搭建和管理_第20张图片
2.客户端配置

cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim httpd.repo

[httpd]
name=http
baseurl=http://192.168.91.100
gpgcheck=0

Linux网络服务 四:yum仓库的搭建和管理_第21张图片
2.2测试是否成功

yum clean all
yum makecache

Linux网络服务 四:yum仓库的搭建和管理_第22张图片
成功

3.以ftp的方式搭建yum仓库

服务端:192.168.67.100
客户端:192.168.67.101

1.服务端配置

yum install vsftpd.x86_64 -y
#安装vsftpd服务
systemctl start vsftpd
#启动服务
mkdir /var/ftp/centos7
#新建目录
mount /dev/sr0/ /var/ftp/centos7
#挂载

Linux网络服务 四:yum仓库的搭建和管理_第23张图片
2.客户端配置

yum install vsftpd.x86_64 -y
#安装vsftpd服务
systemctl start vsftpd
#启动服务
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
vim ftp.repo

[ftp]
name=ftp
baseurl=ftp://192.168.91.100/centos7
gpgcheck=0

Linux网络服务 四:yum仓库的搭建和管理_第24张图片
2.1验证是否成功
Linux网络服务 四:yum仓库的搭建和管理_第25张图片
成功

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