yum网络源的配置

news/2024/9/20 10:48:11/文章来源:https://www.cnblogs.com/takenika/p/18354699

yum 的原理

yum 的全称是 Yellow dog Updater,Modified,yum 是 CentOS 或者是 RedHat 中最常见的包管理器。

早期的 Linux 发行版安装软件包要解决软件包的依赖问题,这些依赖的问题需要人工手动解决,通常是需要安装的软件有多个依赖,依赖又有其他的依赖所以自行手动安装很麻烦。

yum 就是为了解决上述的这类问题,yum 解决了分析需要安装软件的依赖的痛点,由程序完成对软件依赖的分析和下载。

例如:当我需要安装一个httpd的软件,yum的客户机 会向 yum的软件仓库 发出请求,yum的客户机会得到一份软件清单,软件清单记录了 httpd 需要的软件清单关系,yum在安装使用的时候,会基于软件清单分析出下载安装的软件包和所依赖的包,最后以 rpm 这种机制完成。

上面的过程一个命令 yum install httpd 就能完成了

yum 最初登录在一个名为 黄狗Linux 的发型版中,后来进入到了 红帽 ,这就有了现在的 yum 软件。

yum的安装过程

  1. yum客户机向yun软件仓库软件清单

  2. 将下载的软件清单保存在 /var/cache/yum 目录中

  3. 分析出需要下载安装的软件包和依赖的包的列表

  4. 从仓库中下载所需要的软件包

  5. 以 rpm 机制安装下载的软件包

yum 源的设置

安装操作系统之后一般都是自带网络源的。这里是以 CentOS7 发行版示列:
[root@server ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

这是 7.5.1804 的发行版。

[root@server ~]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Apr 28  2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Apr 28  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Apr 28  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Apr 28  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Apr 28  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 28  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 28  2018 CentOS-Vault.repo

默认有7个以 .repo 结尾的文件,yum客户端有repo相当与就是有 yum服务器 联系方式了,这里的 yum服务器 显然就是CentOS官方的软件仓库。

[root@server yum.repos.d]# yum install httpd -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os                                                               
&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"One of the configured repositories failed (Unknown),and yum doesn't have enough cached data to continue. At this point the onlysafe thing yum can do is fail. There are a few ways to work "fix" this:1. Contact the upstream for the repository and get them to fix the problem.2. Reconfigure the baseurl/etc. for the repository, to point to a workingupstream. This is most often useful if you are using a newerdistribution release than is supported by the repository (and thepackages for the previous distribution release still work).3. Run the command with the repository temporarily disabledyum --disablerepo=<repoid> ...4. Disable the repository permanently, so yum won't use it by default. Yumwill then just ignore the repository until you permanently enable itagain or use --enablerepo for temporary usage:yum-config-manager --disable <repoid>orsubscription-manager repos --disable=<repoid>5. Configure the failing repository to be skipped, if it is unavailable.Note that yum will try to contact the repo. when it runs most commands,so will have to try and fail each time (and thus. yum will be be muchslower). If it is a very temporary problem though, this is often a nicecompromise:yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=trueCannot find a valid baseurl for repo: base/7/x86_64

这是我通过 yum install httpd -y 来下载 httpd 软件,-y 表示确认不需要手动输入 y

通过显示的 Could not resolve host: mirrorlist.centos.org; Unknown error 结果表明官网的 yum源 失效了,现在的时间段 CentOS7 已经停止维护了,它的yum源也就终止服务了。

这就需要 第三方 的 yum源,也就第三的软件仓库为我们提供yum的服务。

yum 源的配置文件

第三方的yum源是比较好找的,在配置yum之前先要知道yum的配置文件。

yum 的配置文件以 .repo 的格式为结尾,这写文件在 /etc/yum.repos.d 目录下。

由于先前的官网已经失效所以,现在这些原本的 .repo 文件失去了提供服务的作用,但最好还是将这些没有用的文件先保存起来,保存这些过期文件的文件名叫做 yum_bak

[root@server ~]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# mkdir yum_bak
[root@server yum.repos.d]# mv C* yum_bak/
[root@server yum.repos.d]# ll
total 0
drwxr-xr-x. 2 root root 187 Aug 12 04:18 yum_bak

配置文件:
一个基本的yum的配置文件比较简单,很容易理解。

[main]
name=                ==> 定义软件仓库对于我来说的名字
baseurl=             ==> 软件仓库的网址
enable=              ==> 是否启用该软件仓库 1 表示启动 0 表示不启动
gpgcheck=            ==> 下载软件时候对软件的检查,防止下载到篡改后的文件

通过搜索找到了阿里云的yum软件仓库也就是阿里源的地址:
https://mirrors.aliyun.com/centos-vault/7.5.1804/os/x86_64/ 这个网址就用于 baseurl= 的右边。

[abc]
name=aliyuan
baseurl=https://mirrors.aliyun.com/centos-vault/7.5.1804/os/x86_64/ 
enable=1
gpgcheck=1

将这段文件内容保存在 aliyuan.repo 文件里面,该文件在 /etc/yum.repos.d 目录下。

[root@server yum.repos.d]# ll
total 4
-rw-r--r--. 1 root root  98 Aug 12 05:03 aliyun.repo
drwxr-xr-x. 2 root root 187 Aug 12 04:18 yum_bak

.repo 文件有其他的参数和用法这里不做解释。

使用 rpm 对 GPG-KEY 进行导入,这对应的就是 gpgcheck=1 这个选项。

[root@server yum.repos.d]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

RPM-GPG-KEY-CentOS-7 这个文件是系统自带的,也可以是你自行下载的,第三方网站会在yum软件仓库网络中提供这样的文件。

[root@server yum.repos.d]# yum clean all
Cleaning repos: name
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos[root@server yum.repos.d]# yum makecache

为了方便下载软件的速度 yum 会在本机留下缓存,由于我们更新的yum的配置文件,现在需要通过 yum clean all 进行清理,随后通过 yum makecahe 来构建新的缓存。

通过 yum repolist 列出yum的仓库,可以看出 aliyuan 已经有了。

[root@server yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
name/primary_db                                                   | 5.9 MB  00:00:11
repo id                                  repo name                                 status
name                                     aliyuan                                   9,911
repolist: 9,911
[1]-  Killed                  yum repolist

yum 安装软件

``` [root@server yum.repos.d]# yum -y install httpd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/781847.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络划分

视频 子网划分 用 子网掩码 子网掩码 = 网络位 + 主机位 ip地址自然分类127.0.0.1理解为什么进行子网划分 掌握怎么进行子网划分

谷歌浏览器降级的方法-及chromedriver 下载文件

为了适配python selenium 使用 chromedriver 对应当前谷歌浏览器,降级 https://www.chromedownloads.net/chrome64win/#google_vignette 这个地址为谷歌浏览器老版本的地址http://chromedriver.storage.googleapis.com/index.html 这个地址为谷歌浏览器对应的 chromedriver 的…

记录兼职运维的一天

不以物喜,不以己悲,挣钱为主1.背景 7月底部门的运维大哥离职了,奈何又没有新运维接替,至于为什么没有补位,懂得都懂,按老大的意思是先让开发一人顶一块,8月底争取补上。 打心底我有点排斥这事,但是人到中年又有什么办法呢,上有老下有小,唯有苟。 分派给我的部分是服务…

Teamcenter数据库-获取组别

1、select pg.*,isnull(pn.PIPL10N_NAME_4,pn_EN.PIPL10N_NAME_4) cn_group_name fromPPOM_GROUP pgleft joinPL10N_NAME pn on pg.puid = pn.puid and pn.PIPL10N_NAME_7 = ZH_CNleft joinPL10N_NAME pn_EN on pg.puid = pn_EN.puid and pn_EN.PIPL10N_NAME_7 = EN_US

预见未来科技,尽在指尖滑动间——手机产品模型可视化

在这个日新月异的数字时代,手机已不仅仅是通讯工具,它更是我们生活方式的延伸,是连接世界的窗口,是创意与科技的完美结晶。想象一下,在浩瀚的数字海洋中,一款尚未面世的手机,通过高精度的3D建模技术,以逼真无比的方式展现在你眼前。屏幕上的每一个像素都跃动着生命的活…

数据可视化是什么?带你了解各行业看板!

数据可视化是一种通过图形化手段将数据呈现出来的技术,它将复杂的数据和信息转化为易于理解的图表、地图、仪表盘等视觉元素,使得数据的模式、趋势和关系更加直观地展现出来。通过数据可视化,用户可以快速识别重要信息、发现潜在问题,并做出数据驱动的决策。这种技术不仅提…

Jenkins+gitlab+harbor+docker-compose自动化部署配置

本文主要讲解Jenkins在Linux环境下实现自动化部署项目(提供一种思路) 持续集成与持续部署(CI/CD)流程的实现,需要依赖一系列先进的工具和技术。这些工具不仅提高了开发效率,还确保了代码质量和发布的可靠性。以下是构建CI/CD流程所需的关键工具列表及其作用概述:Jenkins…

手把手教你实现Scrapy-Redis分布式爬虫:从配置到最终运行的实战指南

本文详细讲解了如何通过Scrapy-Redis实现分布式爬虫的全过程,涵盖配置步骤、代码实现以及最终运行的效果展示。通过实战操作,帮助读者快速掌握Scrapy-Redis在分布式爬虫中的应用技巧。1.scrapy-redis的环境准备 pip install scrapy-redis安装完毕之后确保其可以正常导入使用即…

建站过程中很容易让人忽视的三大细节

一个网站的建设是需要专业性、技术性很强的人才能够做的,并不是敲打一些代码、上传一些图片就可以的了,如果在建设网站的时候设计不当,很有可能不会让搜索引擎收录,所以用户也就不可能通过检索来访问网站了。在网站建设中大家都很忽视一些关键的细节,比如:关键词的分布,…

帝国CMS列表页面调用关键字TAG的方法

$nsmalltext=$r[smalltext]; $ntext=strip_tags($nsmalltext);//去除内容简介里的HTML标签 $newtext=esub($ntext,100,...) ;//限制100字 $keyboard=$r[keyboard]; $r_tag=explode(",",$keyboard); $tempid=1;//这里是搜索模板ID for($i=0;$i<count($r_tag);$i++)…

帝国cms数据表删除之后怎么找回来

如果不小心删除了帝国cms数据表,可以尝试以下步骤进行恢复: 1. 从备份中恢复 如果已对数据库进行了备份,则可以从备份中还原数据。确定备份的时间点是否包含要恢复的数据。根据备份类型选择合适的恢复方法,例如使用phpmyadmin、mysqldump或innodb recovery tool。2. 使用“…