当前位置: 首页 > news >正文

yum仓库

目录

什么是yum仓库

概念

yum的实现过程

Yum的实现过程如下:

yum的配置文件

仓库设置文件

日志文件

yum命令

yum list       显示所有可用的包,包名,支持通配符 yum list*Kernel

yum info     显示包的信息

yum  search ftp      查找包含ftp的所有安装包  (模糊查找)

yum  provides ftp   查找这个命令来源和哪个包      (精确查找)

yum history       查找历史命令(所有操作)

查询  

yum list [软件名]

yum info [软件名] (不加软件名显示所有软件包的详细信息)

yum search <关键词>(模糊查找)

yum provides <关键词>(精确查找)

yum grouplist [包组名]

yum groupinfo <包组名>

yum安装升级

 yum install [软件名]

yum groupinstall <包组名>

yum update <包组名>

软件卸载

yum  remove <软件名>

yum history

搭建仓库

http方式

1.先在服务端挂载光盘镜像

2.在客户端 

3.测试

ftp方式搭建云仓库


什么是yum仓库

概念

Yum仓库是指使用Yum命令下载软件的镜像地址。它是一个基于RPM包构建的软件更新机制,能够自动解决软件包之间的依赖关系。在Yum仓库中,事先存储了众多rpm包以及相关的元数据文件,当Yum客户端利用Yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包以及依赖关系,自动从仓库中找到相关包下载并安装。

yum的实现过程

要有安装包

安装包:  

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

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

服务器:

RPM包 (Packages文件夹中)

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

客户端的配置文件中

baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录

最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)

仓库类型:

光盘的仓库基本仓库    比较常用的

epel扩展仓库 比较新  (第三方源)

Yum的实现过程如下:

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

yum的配置文件

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

[root@localhost]# /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-releaseyum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

仓库设置文件

/etc/yum.repos.d/*.repo                    yum仓库文件位置

日志文件

   /var/log/yum.log                  日志文件   cat查看

yum命令

yum list       显示所有可用的包,包名,支持通配符 yum list*Kernel

yum info     显示包的信息

yum  search ftp      查找包含ftp的所有安装包  (模糊查找)

yum  provides ftp   查找这个命令来源和哪个包      (精确查找)

yum history       查找历史命令(所有操作)

查询  

yum list [软件名]
[root@localhost ~]# yum list httpd  //安装软件[root@localhost ~]# yum list *httpd*    包含httpd的软件包

yum info [软件名] (不加软件名显示所有软件包的详细信息)
[root@localhost ~]# yum info httpd  //显示httpd安装包的详细信息

yum search <关键词>(模糊查找)

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

[root@localhost ~]# yum search httpd

yum provides <关键词>(精确查找)

你知道某个命令却不知道具体的包可以用此命令查找

[root@localhost ~]# yum provides httpd

yum grouplist [包组名]

安装包组的查询 不加包组名 就是显示所有(此处例子由于安装了中文环境,无法显示英文包组名称无法直接复制中文使用,建议直接安装英文操作系统)

[root@localhost ~]# yum grouplist

yum groupinfo <包组名>

不加包组名显示全部 

[root@localhost ~]# yum groupinfo "GNOME Desktop"

yum安装升级

 yum install [软件名]

安装软件包

[root@localhost ~]# yum install nginx -y  //加-y确认安装,后面就无需再次确认

yum groupinstall <包组名>
[root@localhost ~]#  yum group install gnome desktop -y  //安装桌面

yum update <包组名>

更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新(首先要有更新的包组

[root@localhost ~]# yum upgrade

软件卸载

yum  remove <软件名>

[root@localhost ~]# yum upgrade httpd

yum history

可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除

把4删除

如果后悔 卸载 可以使用两种方式

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

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

搭建仓库

http方式

1.先在服务端挂载光盘镜像

2.在客户端 

3.测试

ftp方式搭建云仓库

服务端:192.168.17.25

客户端:192.168.17.30

相关文章:

  • 第二十章:多线程
  • 【Docker】从零开始:2.Docker三要素
  • 3、LeetCode之无重复字符的最长子串
  • CSGO搬砖干货,全网最详细教学!
  • 【深度学习】Transformer简介
  • 从权限跳转看Activity的data android:scheme
  • 男生学什么设计专业好优漫教育
  • Python+Qt虹膜检测识别
  • git stash 用法总结
  • 【GUI】-- 10 贪吃蛇小游戏之静态面板绘制
  • SpringCloud微服务注册中心:Nacos介绍,微服务注册,Ribbon通信,Ribbon负载均衡,Nacos配置管理详细介绍
  • 数据结构 线性表
  • CURL踩坑记录
  • MongoDB相关基础操作(库、集合、文档)
  • c语言:回文字符串
  • 《Java编程思想》读书笔记-对象导论
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Git的一些常用操作
  • idea + plantuml 画流程图
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MobX
  • Python爬虫--- 1.3 BS4库的解析器
  • SQLServer之创建数据库快照
  • Vue.js源码(2):初探List Rendering
  • 对象引论
  • 分类模型——Logistics Regression
  • 规范化安全开发 KOA 手脚架
  • 简单实现一个textarea自适应高度
  • 理解在java “”i=i++;”所发生的事情
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 排序算法之--选择排序
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前嗅ForeSpider中数据浏览界面介绍
  • 区块链共识机制优缺点对比都是什么
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 如何在 Tornado 中实现 Middleware
  • 三栏布局总结
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 回归生活:清理微信公众号
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (007)XHTML文档之标题——h1~h6
  • (C语言)球球大作战
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (补)B+树一些思想
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ****Linux下Mysql的安装和配置