yum源配置,这一篇就够了!(包括本地,网络,本地共享yum源)(代码片段)

炒香菇的书呆子 炒香菇的书呆子     2023-03-13     148

关键词:

服务器yum源配置

文章目录

1. 引言

1.1 什么是yum源

yum(全称为 Yellow dog Updater, Modified)是一个在 Fedora ,centos,BClinux,RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理 , 能够从指定的服务器自动下载 RPM 包并且安装 , 可以自动处理依赖性关系 , 并且一次安装所有依赖的软件包 , 无须繁琐地一次次下载、安装。

我们可以使用 yum 工具通过 http,ftp 等协议去下载软件包 ,yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,让你很方便地使用命令直接管理软件包 ( 安装 , 卸载 , 更新 rpm 包 ), 甚至是 kernel 的更新。也可以将其理解为红旗环境下的 apt 管理工具。

1.2 为什么要搭建内网yum源

在生产和工作中,出于安全性考虑,很多服务器并不能直接访问公网,当使用rpm安装包安装一些软件时,经常出现缺少依赖而不能安装的情况,此时我们需要配置本地yum源,配置本机yum源相对容易,一般只需要将系统镜像上传到主机后进行挂载,但是当内网内多台机器需要配置yum源时,再一台一台的配置单机yum源就十分麻烦和耽误时间,下面将分别介绍如何搭建网络yum源,本机单机yum源和内网共享yum源。

1.3 准备工作

  1. 在搭建yum源之前,我们需要至少准备一台服务器

配置网络yum源,只需要一台服务器

配置单机本地yum源,只需要一台服务器

配置本地共享yum源,至少需要两台可以ping通的服务器

  1. 要升级的yum源iso镜像,当搭建本地yum源时,需要提前下载好要配置的yum镜像

  2. 掌握mount命令

2. yum源搭建

2.1 网络yum源配置

我们通常使用 yum install 命令来在线安装 linux系统的软件, 这种方式可以自动处理依赖性关系,并且一次安装所有依赖的软件包。众所周知,从国外下载软件速度非常慢,很多情况下都无法下载。国内一些大公司做镜像同步国外的软件, 那么我们可能使用国内的下载地址,就能下载我们需要的软件。

2.1.1 yum仓库配置

yum 的配置文件在 /etc/yum.repos.d 目录下, 其中有多个配置文件,每一个配置文件中都可以配置一个或多个repository, 但是最终会被合并为一个交给系统,所以多个文件只是为了方便管理。

当我们登录我们的纯净服务器后,尝试命令行

yum install -y tree

发现无法安装

这时,我们需要配置网络yum源,国内有很多公司提供了yum源,我们只需要选择其中一个即可,这里以华为云yum源为例。

首先输入指令查看本地操作系统版本

cat /etc/redhat-release		

此处我的linux版本为centos7.6

打开华为云开源镜像站

https://mirrors.huaweicloud.com/home,找到我们对应的操作系统版本:https://repo.huaweicloud.com/repository/conf/

找到对应的.repo文件,下载后上传到服务器对应的/etc/yum.repos.d/目录,

或者执行下列命令

cd /etc/yum.repos.d/
vi local.repo
# 按i输入下列内容
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS7
baseurl=https://repo.huaweicloud.com/centos/$releasever/os/$basearch/
gpgcheck=0

 
#released updates 
[updates]
name=CentOS-$releasever - Updates - repo.huaweicloud.com
baseurl=https://repo.huaweicloud.com/centos/$releasever/updates/$basearch/
#mirrorlist=https://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - repo.huaweicloud.com
baseurl=https://repo.huaweicloud.com/centos/$releasever/extras/$basearch/
#mirrorlist=https://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - repo.huaweicloud.com
baseurl=https://repo.huaweicloud.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=https://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7

2.1.2 更新yum源

#输入完成后按Esc ,然后输入:,wq,回车

执行下面指令

yum clean all # 清除系统所有的yum缓存
yum makeacache # 生成新的yum缓存
yum repolist

再次尝试安装tree

yum install -y tree

安装成功,网络yum源配置完成

2.1.3centos yum源一键配置命令

mv /etc/yum.repos.d/* *.bak
echo "[base]
name=CentOS7
baseurl="https://repo.huaweicloud.com/centos/\\$releasever/os/\\$basearch/"
enabled=1
gpgcheck=0" > local.repo
yum clean all
yum makecache

2.1.4 其他yum源参考

附centos7yum源地址

1、清华大学yum源
https://mirrors.tuna.tsinghua.edu.cn/help/centos/

2、网易yum源
http://mirrors.163.com/.help/centos.html

3、阿里云yum源

http://mirrors.aliyun.com/repo/Centos-7.repo

4、中科大yum源

https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=3

5、北京理工大学

http://mirror.bit.edu.cn

6、兰州大学

http://mirror.lzu.edu.cn

7、厦门大学

http://mirrors.xmu.edu.cn

8、东北大学

http://mirror.neu.edu.cn

2.2 本机单机yum源配置

当服务器无法访问公网或者所需要依赖无法在公网获取,我们可以通过

使用挂载本地iso镜像来获取我们需要的rpm包和依赖

2.2.1 iso镜像获取并上传到服务器

由于的的服务器为centos7.6,所以我准备下获取centos7.6的镜像

一下为部分centos下载地址,随意选择一个就可以,切记选择来源安全可靠的镜像下载

http://man.linuxde.net/download/CentOS
http://mirrors.btte.net/centos/7/isos/x86_64/
http://mirrors.cn99.com/centos/7/isos/x86_64/
http://mirrors.sohu.com/centos/7/isos/x86_64/
[http://mirrors.aliyun.com/centos/7/isos/x86_64/](http://mirrors.aliyun.com/centos/7/isos/x86_64/)
http://centos.ustc.edu.cn/centos/7/isos/x86_64/
http://mirrors.neusoft.edu.cn/centos/7/isos/x86_64/
http://mirror.lzu.edu.cn/centos/7/isos/x86_64/
http://mirrors.163.com/centos/7/isos/x86_64/
http://ftp.sjtu.edu.cn/centos/7/isos/x86_64/

将下载好后的镜像上传到/mnt

/mnt目录下创建文件夹 centos72

然后输入下面命令进行挂载

mount -o loop /mnt/CentOS* /mnt/centos72

2.2.2 repo文件配置

进入etc/yum.repos.d/目录,

将之前的repoll文件进行备份

mv /* ..

然后创建新的repo源,输入以下命令

mv -r * ..


echo "
[local]
name=bendiyum
baseurl=file:///mnt/centos72/
enabled=1
gpgcheck=0" > local.repo

yum clean all
yum makecache
yum repolist

配置完成

尝试使用yum

yum install -y tree

本地yum源配置完成

2.2.3 centos本地yum源一键配置

只需要输入下面命令即可

当服务器可以访问公网时

wget -p /mnt/ -o centos.iso http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
mkdir /mnt/centos
mount  -o loop /mnt/centos.iso  /mnt/centos 
cd /mnt/yum.repos.d/
mv -r * ..
echo "
[local]
name=bendiyum
baseurl=file:///mnt/centos72/
enabled=1
gpgcheck=0" > local.repo

yum clean all
yum makecache
yum repolist

当服务器不可以访问公网时

需要将待挂载的镜像上传到服务器/mnt目录,然后执行下面命令

mv /mnt/* centos.iso
mkdir /mnt/centos
mount  -o loop /mnt/centos.iso  /mnt/centos 
cd /mnt/yum.repos.d/
mv -r * ..
echo "
[local]
name=bendiyum
baseurl=file:///mnt/centos72/
enabled=1
gpgcheck=0" > local.repo

yum clean all
yum makecache
yum repolist

2.3局域网共享yum源配置

在内网时,当多台机器需要配置本地同一yum源时,我们不需要在每台服务器上单独配置并挂载镜像,只需要在一台服务器上配置好yum源,并通过httpd服务让其他服务器能够正常访问即可

2.3.1 httpd介绍

httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

2.3.2 安装并启动httpd

选择一台服务器作为配置节点,通过yum配置httpd,若无法使用yum,可以下载httpd的rpm包上传后安装。

yum install -y httpd 

安装后启动httpd,关闭防火墙

systemctl start httpd    # 启动httpd
systemctl stop firewalld #临时关闭防火墙
systemctl status httpd  #查看httpd是否启动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A4KlmddQ-1678618188009)(https://typorabc.obs.cn-east-3.myhuaweicloud.com/tuchuang//image-20230312175524714.png)]

httpd启动成功

使用下面命令查看本机ip

ifconfig	

在浏览器输入本机ip,出现下面页面代表配置完成

httpd服务的目录文件在/var/www/html下面

进入httpd服务目录,创建文件夹centosiso

将要挂载的镜像放在/mnt下面,

mv /mnt/* centosiso.iso
mount /mnt/centosiso.iso /var/www/html/centosiso

在浏览器访问http://192.168.220.129/centosiso/

2.3.3访问机配置yum

当在上一台机器已经配置好httpd后,我们选择同一网段内网其他机器配置yum源去访问此台服务器

cd /mnt/yum.repos.d/
mv -r * ..
echo "
[local]
name=net_bendiyum
baseurl=http://192.168.220.129/centosiso/ 
enabled=1
gpgcheck=0" > local.repo

yum clean all
yum makecache
yum repolist

上述命令中的192.168.220.129此处ip地址为挂载镜像的服务器ip

配置完成,此时当内网内其他机器需要使用内网yum源可以使用此方法,当然,挂载其他共享yum也可以使用同样方法

git常用命令及应用这一篇就够了(新手向)(代码片段)

...地分支名]origin/[远程分支名]#拉取远程分支#查看项目中git配置gitconfig--list#配置全局信息gitconfig--globaluser.name"[name]"gitconfig--globaluser.email"[emailaddress]"#项目中配置gitconfiguser.name"[name]"gitconfiguser.email"[emailaddre... 查看详情

git入门这一篇就够了(代码片段)

前言欢迎关注公众号,白嫖原创PDF,也可以催更,微信搜:JavaPub,回复:【666】Git在生产工作中是使用频率很高的工具,但我发现很多文章只是对它做了简单的提交命令说明,真正遇到版本冲突或文件丢失等问题又定位不到原... 查看详情

elasticsearch入门,看这一篇就够了(代码片段)

...xff0c;看这一篇就够了前言可视化工具kibanakibana的安装kibana配置kibana的启动Elasticsearch入门操作操作index创建index索引别名有什么用删除索引查询索引exist索引操作document插入document查询document删除document更新document使用脚本更新documentre... 查看详情

(2022版)零基础入门网络安全/web安全,收藏这一篇就够了

废话不多说,我们一起看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西废话不多说,我们一起看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西 查看详情

linux常用的命令,学习linux,这一篇就够了(代码片段)

linux常用的命令,学习linux,这一篇就够了文件/目录的基本操作01.ls命令02.pwd命令03.cd命令04.touch命令05.mkdir命令06.rm命令07.cp命令08.mv命令09.cat命令10.man命令11.less命令12.head命令13.tail命令14.date命令搭建部署环境1.使用yum命令2... 查看详情

计算机网络知识点全面总结(有这一篇就够了!!!)

一、计算机网络概述1.1计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2计算机网络的层次结构TCP/IP四层模型与... 查看详情

如何使用git命令从分支拉取代码到本地,修改后提取代码到该分支,看这一篇就够了!(代码片段)

1.前言上一份工作在一家研究所,比较少用git命令进行操作,使用最多的是gitclone操作,平时在github上的其他操作是使用界面进行实现。最近新换了一家企业,发现大家都在用git命令,今天也接到了一个新任务&... 查看详情

关于http协议,一篇就够了

关于HTTP协议,一篇就够了 作者 RaphetS 关注2016.10.1306:48* 字数4806 阅读12969评论26喜欢203赞赏1HTTP简介HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到... 查看详情

matplotlib三维绘图,这一篇就够了(代码片段)

Matplotlib三维绘图,这一篇就够了1.效果图1.13D线效果图1.23D散点效果图1.33D随机颜色散点效果图1.43D散点不同mark点效果图1.53D线框效果图1.63D曲面不透明效果图1.73D曲面透明效果图2.源码参考这篇博客将介绍使用mplot3d工具包进行... 查看详情

2023网络安全入门学习路线,收藏这一篇就够了

最专业、全面的网络安全学习路线来咯~(虽然是网络安全学习路线,但重心还是在Web安全上)展示学习路线之前,建议大家先了解一下这几个问题,既是认清形势,也是认清自我:为什么要学网络安全... 查看详情

计算机网络基础知识这一篇就够了(代码片段)

文章目录一、常见的网络设备1.集线器(HUB)2.交换机3.路由器4.路由器和交换机的区别汇总5.网关6.常见的网络连接介质1)双绞线2)双绞线中两种标准3)网络设备连接4)光纤二、IP地址基础知识1.IP和MAC地址2.IP地址和... 查看详情

ajax入门这一篇就够了

什么是AjaxAjax(AsynchronousJavaScriptandXML)异步JavaScript和XMLAjax实际上是下面这几种技术的融合:(1)XHTML和CSS的基于标准的表示技术(2)DOM进行动态显示和交互(3)XML和XSLT进行数据交换和处理(4)XMLHttpRequest进行异步数据检索(5)Javascript将以上... 查看详情

[转]关于深度学习,看这一篇就够了

关于深度学习,看这一篇就够了原文地址:http://www.dlworld.cn/XueXiSuanFa/13.html[日期:2016-04-26]来源:36氪 作者:[字体:大 中 小]    编者按:本文作者王川,投资人,中科大少年班校友,现居加州硅谷,个人微信号... 查看详情

强化学习入门这一篇就够了!!!万字长文

强化学习强化学习入门这一篇就够了万字长文带你明明白白学习强化学习...强化学习入门这一篇就够了强化学习前言一、概率统计知识回顾1.1随机变量和观测值1.2概率密度函数1.3期望1.4随机抽样二、强化学习的专业术语2.1Stateanda... 查看详情

给力!python配置文件,这一篇就够了!(代码片段)

点击机器学习算法与Python学习,选择加星标精彩内容不迷路来源丨网在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的... 查看详情

给力!python配置文件,这一篇就够了!(代码片段)

点击机器学习算法与Python学习,选择加星标精彩内容不迷路来源丨网在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到的部分,往往会将其写到一个固定文件中,避免在不同的... 查看详情

go全总结学习go这一篇就够了

目录1、基础篇1.1概述1.2变量 1.3常量1.4数据类型 整数类型 查看详情

redis这一篇就够了

概述什么是RedisRedis(RemoteDictionaryServer)是一个使用C语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。Redis可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持... 查看详情