是rpm的前端程序
解决软件包之间的依赖关系
yum服务器主要存放的就是rpm软件包和软件包的元数据信息。
Packages:存放的是rpm软件包
repodata:存放的是软件包之间元数据信息和以来关系
通过编写好配置文件来访问服务器实现对软件包的相关操作。
客户端的工作流程:
连接到服务器
下载repodata文件,并从中检索对应信息
根据检索到的信息对软件包进行操作,结束后会删除下载的rpm包,但是repodata文件会保存下来。
yum客户端有两个配置文件,其中一个不用修改。
/etc/yum.conf #为所有仓库提供公共配置 一般不用修改
/etc/yum.repos.d/*.repo: #为每个仓库的提供配置文件 需要编写的配置文件
说明:
配置文件需要以.repo作为文件的后缀
配置文件中至少包含以下四个部分
仓库的唯一标识: []
仓库的描述信息:name=
仓库的地址:baseurl= #可以指定多个yum服务器的地址
是否开启gpg校验:gogcheck=0|1
说明:
不指定enabled=1,默认enabled=1,标识启用这个仓库
仓库的地址路径:
能看到repodata的路径,比如/a/b/c/repodata/xxx 则路径就是:/a/b/c/
file:// 使用本地路径,比如挂载本地光盘作为yum源
http:// 使用网络地址
https://
ftp://
#yum仓库指向的路径一定必须是repodata目录所在目录
说明:
阿里云提供了写好的CentOS和ubuntu的仓库文件下载链接,可以通 https://developer.aliyun.com/mirror/ 来下载相关的源
镜像中的仓库:
CentOS8的镜像中有两个yum仓库,AppStream和BaseOS
CentOS7的镜像中将所有的软件包都放在一个仓库中
互联网上的仓库:
epel仓库:全称叫 Extra Packages for Enterprise Linux,不存在于光盘中,而是在互联网上。存放了一些常用的软件
extras仓库:可以通过这个来生成epel源(epel-release这个软件就在extras仓库中)
$releasever: 当前系统的发行版本。OS的主版本号,如:8,7,6
$arch: CPU架构,变量的值通过 uname 命令得出,如:aarch64, i586, i686,x86_64等
$basearch:CPU的架构,系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
#阿里云
https://mirrors.aliyun.com
#腾讯云
https://mirrors.cloud.tencent.com
#华为云
https://repo.huaweicloud.com/centos
#清华大学
https://mirrors.tuna.tsinghua.edu.cn
#为CentOS 8 配置 yum 的系统和EPEL源仓库
[appstream]
name=AppStream
baseurl=file:///mnt/misc/AppStream
gpgcheck=0
enabled=1
[baseos]
name=BaseOS
baseurl=file:///mnt/misc/BaseOS
gpgcheck=0
enabled=1
[epel]
name=EPEL
baseurl=http://mirrors.aliyun.com/epel/$releasever/Everything/$arch/
http://mirrors.cloud.tencent.com/epel/$releasever/Everything/$arch/
http://repo.huaweicloud.com/epel/$releasever/Everything/$arch/
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/Everything/$arch/
gpgcheck=0
enabled=1
[extras]
name=extras
baseurl=http://repo.huaweicloud.com/centos/$releasever/extras/$arch/os/
http://mirrors.aliyun.com/centos-vault/$releasever/extras/$arch/os/
gpgcheck=0
enabled=1
1.在配置文件中指定: enabled=0|1 #0表示禁用,1表示启用。 默认enabld=1
2.通过命令的方式: yum-config-manager --disable或者 --enable 仓库的唯一标识符
-y:自动安装,不用手动输入yes
--showduplicates #这个参数可以列出软件包的所有版本,不加这个参数默认列出最新版本
yum repolist [all|enabled|disabled]
yum repolist #查询本地配置了多少个yum源的信息(默认显示启用的仓库)
yum repolist all #显示系统中所有的仓库
#选项:
-v: 显示yum源的详细信息

yum list # 列出当前仓库中所有的程序包
yum list available #只列出没有装好的程序包
yum list installed # 只列出装好了的程序包
yum list package #查看指定的包是否存在yum源中
yum info package #查看软件包的相关信息
yum install package
yum -y install --downloadonly --downloaddir=xxx packagename #只下载不安装
#downloaddir:下载的软件包的保存路径
yum groupinsatall group #安装软件包组
yum remove package_name #移除指定的软件包
yum update #全部更新
yum update package #更新指定的软件包
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] [...]
例如:yum privodes */gzip
通过名字获取没有安装的包的信息(比如包的信息)
解决方法:yum provides | whatprovides */filename #写通配符解决
使用rpm -ql 只能查询列出所有已经被安装的rpm package

(有的时候不一定能查到,因为没有写路径)
清除目录/var/cache/yum/缓存
yum clean all #清除所有的仓库缓存
yum makecache #构建仓库的缓存
yum localinstall|install rpmfile1 #安装本地的软件包
yum localupdate|update rpmfile1 #升级本地的软件包
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配
遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模