yum仓库


一、yum仓库

简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间。
为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

yum实现过程

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

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

仓库类型:

  • 光盘的仓库基本仓库 比较常用的
  • epel扩展仓库 比较新
    在这里插入图片描述
    在这里插入图片描述

yum配置文件

主配置文件

[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:自定义变量

在这里插入图片描述
yum仓库文件位置:/etc/yum.repos.d/*.repo
yum仓库日志文件:/var/log/yum.log

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 [软件名]
显示可用的安装包,可以支持通配符。
在这里插入图片描述
2.yum info [软件名]
显示安装包的详细信息。
在这里插入图片描述
3. yum search <关键词>
根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来。
4.yum provides <关键词>
知道某个命令却不知道具体的包可以用此命令查找
5. yum install [软件名]
可以用来安装软件,也可以用来升级软件。
6.yum remove [软件名]
卸载已安装的软件必须加软件名,但不可以卸载因为安装软件时的依赖关系而安装的软件。
7.yum history
查看历史的使用记录,选择ID 1,2,3,4,5。可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除。
yum history info 4,查看第四次具体安装了什么。
在这里插入图片描述
如果后悔 卸载 可以使用两种方式:
1.yum history redo 4 (重新安装一遍);
2.yum history undo 6(反悔卸载等于重新安装一遍)。

二、搭建仓库的方式

本地yum仓库,在没有网络的情况下,可以利用光盘单间yum仓库。

软件仓库的提供方式:
FTP服务:ftp://ip地址/站点里路径
HTTP服务:http://域名或者ip地址/站点里的路径
本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)

搭建本地yum仓库

1.http协议
/var/www/html 存放网页文件的地方
先挂载
在这里插入图片描述
客户端设置
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak/
vim http.repo
[http]
name=http
baseurl=http://192.168.91.100/centos7
gpgcheck=0

在这里插入图片描述
搭建本地仓库(自己既是服务端优势客户端)

mount /dev/sr0 /mnt
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak

vim local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
yum list
rm -rf /var/run/yum.pid
yum list
yum install tree -y
在这里插入图片描述

ftp方式搭建云仓库

服务端:192.168.232.10
客户端:192.168.232.20

  • 服务端安装vsftp服务
  • 服务端切换到 ftp目录下新建一个centos7目录
cd /var/ftp/
mkdir centos7 other
  • 服务端将光驱里的文件包全部拷到centos7里面
[root@localhost ftp]# cp -rf /mnt/* centos7/ &                                //&代表后台运行应为文件较大
[root@localhost ftp]# cd centos7/
[root@localhost centos7]# ls                                                 //已将安装包文件拷入
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost ~]cd /var/ftp/other
[root@localhost other] createrepo -g /mnt/repodata/repomd.xml ./ 
[root@localhost other]# ls
repodata
[root@localhost other]# cd repodata 
createrepo -g /mnt/repodata/repomd.xml ./
建立数据库文件

在这里插入图片描述

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

  • 客户端安装ftp 服务并启动关闭防火墙和selinux
    在这里插入图片描述

  • 测试ftp服务是否正常(参照ftp服务器)

  • 编写yum仓库文件

vim centos7.repo
[centos7]
name=centos7
baseurl=ftp://192.168.232.10/centos7
enabled=1
gpgcheck=0


[other]
name=other
baseurl=ftp://192.168.232.10/other
enabled=1
gpgcheck=0

-测试是否yum可以正常使用
在这里插入图片描述

搭建阿里云仓库

国外yum仓库较慢,可以使用阿里云残酷替代。

CentOS系统的yum源
#阿里云
https://mirrors.aliyun.com/centos/$releasever/ 
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/ 
#华为云
https://repo.huaweicloud.com/centos/$releasever/ 
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/


EPEL的yum源
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64

#更新源
http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/


baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
		https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
		https://mirrors.huaweicloud.com/epel/$releasever/x86_64
		https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64

新建阿里云仓库

[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

  • 33
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值