Linux中yum源配置方法

软件安装的版本选择

针对开源的软件:
==>主线版(mainline)
==>稳定版(stale)–会比最新版本晚2-3年

yum源的作用

相当于rpm软件管理的升级版本,能解决软件之间的依赖关系;
yum源的底层是基于rpm进行软件安装操作的,因此yum安装后,也可以使用

rpm -qa | grep 软件名

yum分类

1 本地yum源

yum仓库在本地(系统光盘/镜像文件) --无需网络

2 网络yum源

国内知名的网络源:
阿里云源、腾讯源、网易源、sohu源、知名大学的yum源等
国外知名的网络源:
centos源、redhat源、拓展eple源等
tips:可以在百度上搜索’‘xx mirror镜像源’'的方式来获取yum源

使用光盘镜像作为yum源的仓库

第一步:在VM中装载CentOS光盘镜像

第二步:将光盘挂载到某个目录,通常为/mnt目录
清除/mnt目录下的文件,确保它是一个空目录

rm -rf /mnt/*

挂载光盘

mount -o ro /dev/sr0 /mnt
注释:-o  挂载的方式
				ro  以只读方式进行挂载,一般针对光盘;
				rw  以读写方式进行挂载,一般针对硬盘/U盘;

可以通过命令’lsblk’来查看光盘是否挂载成功
如需解挂可以使用命令:umount /mnt

第三步:将光盘挂载添加到开机启动中,使重启后挂载依然有效
开机启动文件为/etc/rc.local -> /etc/rc.d/rc.local
在配置文件之前需要给他添加执行权限

chmod +x /etc/rc.d/rc.local

除了通过vi命令进入文件,在文件最后一行添加命令外,还可以通过以下命令

echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.d/rc.local

第四步:编写本地yum仓库文件

在此之前需要读本地yum源进行备份

第一步:使用cd命令切换到/etc/yum.repos.d目录
# cd /etc/yum.repos.d/
第二步:对所有的仓库文件进行备份
# tar -zcf repo.tar.gz *.repo
第三步:删除所有的以.repo结尾的仓库文件
# rm -rf *.repo

编写本地yum仓库文件

# cd /etc/yum.repos.d/
创建一个以*.repo结尾的文件,名称任意
# vim local.repo
[local]              [仓库标识名称]名称任意,一个文件中可有多个标识
name=local yum       仓库名称
baseurl=file:///mnt  仓库的路径,支持多种格式,file://本地路径,ftp://,http://或https://
gpgcheck=0           gpg密钥,值可以是0(代表不检测),1(代表检测)
					 	如果是1,下方还要定义一个gpgkey=密钥连接
enabled=1            是否启动当前仓库,值可以0,也可以是1,默认为1,代表启动仓库

清除缓存

yum clean all

建立缓存

yum makecache

检测本地yum源是否可用

 yum repolist all

网络yum源的配置

就是各种知名平台的yum源,例如说
阿里源:https://opsx.alibaba.com/mirror
网易源:http://mirrors.163.com/
搜狐源:http://mirrors.sohu.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
腾讯源、华为源…
可用通过百度来查找

例如:百度搜索 => 阿里云 mirror镜像源

一般像阿里腾讯的yum源官网都有现成的代码,只需要粘贴复制就可以完成操作
在这里插入图片描述
一般来说不外乎几步走

第一步:备份CentOS-Base.repo这个文件

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

第二步:下载wget -O

wget -O http://xxxxxxxx

第三步:清理缓存和建立缓存

yum clean all

yum makecache

扩展:EPEL源配置

什么是EPEL源?
答:EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方在带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充

 yum install epel-release -y

比如:会跑的小火车就是在epel源中

yum install sl -y

特定软件的YUM源配置

比如特殊的几个软件他们拥有yum仓库,如:Nginx,Mysql,Zabbix…
与网络yum源配置相同,可以在对应软件的官网上寻找
Nginx:http://www.nginx.org
MySQL:https://www.mysql.com/
Zabbix:https://www.zabbix.com/
同时,官网上有配置好的yum源配置,直接写入到文件中

# cd /etc/yum.repos.d
# vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

清理+重建缓存

# yum clean all
# yum makecache

安装nginx软件

# yum install nginx -y

自建yum源仓库

为什么要缓存安装软件包,什么情况需要自建yum仓库

  • 下次还需要安装相同版本的软件包
  • 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库

1 如何缓存软件安装包

方式一:通过修改配置文件

# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0    # 0为下载的包会在安装后删除;1为保留
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=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(Yellowdog Updater, Modified)的主配置文件,用于定义YUM在Linux系统上工作时的各种行为和设置。下面是对每个配置项的简单解释:

  • [main]:这是配置文件中的一个节(section),包含了YUM的基本或主要配置。

  • cachedir=/var/cache/yum/$basearch/$releasever:指定了YUM用来存储下载的rpm包及其元数据的缓存目录。$basearch$releasever 是变量,分别代表基础架构(如x86_64)和发行版版本,这样可以确保不同架构和版本的包分开存放。

  • keepcache=0:设定是否保留缓存的rpm包和元数据。值为0表示不保留,默认情况下下载的包会在安装后被删除;如果设为1,则会保留这些文件。

  • debuglevel=2:调试级别,范围是0到10,数字越大,输出的调试信息越详细。这里设置为2,意味着会提供适量的调试输出,适用于一般故障排查。

  • logfile=/var/log/yum.log:指定YUM操作的日志文件位置。所有的安装、更新、删除等操作记录都会被写入此文件。

  • exactarch=1:是否只安装与系统架构完全匹配的rpm包。值为1表示只安装精确匹配的包,有助于避免不必要的错误和提高效率。

  • obsoletes=1:启用对废弃软件包的支持。当新的rpm包可以替代旧的、不再维护的包时,这个选项可以帮助自动处理这种替换关系。

  • gpgcheck=1:是否检查rpm包的GPG签名。值为1表示开启检查,确保安装的软件来自可信源,未被篡改。

  • plugins=1:启用YUM插件支持。YUM插件可以扩展YUM的功能,比如fastestmirror插件可以自动选择最快的镜像源。

  • installonly_limit=5:限制能够同时安装(而非升级)的内核或其他标记为"installonly"的包的数量。这防止了系统中积累过多的内核版本。

  • bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum:当用户报告问题时,指向的错误跟踪器URL。这个链接帮助用户直接向CentOS项目提交关于YUM的问题报告。

  • distroverpkg=centos-release:定义了用于确定系统发行版版本的rpm包。在这个例子中,使用centos-release包来确定CentOS的具体版本,这对于正确地定位和获取软件仓库的适当软件包至关重要。

方式二:把软件及依赖软件全部下载到某个路径

只下载不安装软件(只缓存):

yum install --downloadonly --downloaddir=保存路径 软件名称

案例:下载samba软件及依赖软件

mkdir /soft
yum install --downloadonly --downloaddir=/soft samba

3 自定义YUM仓库

第一步:在系统中安装createrepo制作仓库的软件

yum install createrepo -y

第二步:把/soft文件夹做成一个本地的自建仓库

createrepo /soft

第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库

# cd /etc/yum.repos.d/
# vim soft.repo
[soft]
name=soft yum
baseurl=file:///soft
gpgcheck=0
enabled=1

清理缓存+重建缓存:

# yum clean all
# yum makecache
### 配置 LinuxYum 方法 #### 方法一:配置网络 Yum 为了配置网络 Yum ,可以编辑 `/etc/yum.repos.d/` 目录下的 `.repo` 文件。通常情况下,创建一个新的 repo 文件并指定远程仓库地址即可完成设置。 例如,要配置阿里云的 Yum : ```bash sudo vi /etc/yum.repos.d/aliyun.repo ``` 在打开的文件中输入如下内容[^2]: ```ini [AliYun-Base] name=CentOS-$releasever - Base - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [AliYun-Extras] name=CentOS-$releasever - Extras - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 ``` 保存退出后运行 `yum clean all && yum makecache` 更新缓存。 #### 方法二:通过上传镜像文件配置本地 Yum 当拥有 ISO 或者其他形式的操作系统安装介质时,可以通过挂载这些介质作为本地 Yum 来使用。具体操作为先将光盘映像挂载至某个目录,再修改相应的 .repo 文件指向该路径。 假设已将 CentOS 的 DVD 映像挂载到了 `/mnt/cdrom` 下,则可以在 `/etc/yum.repos.d/local.repo` 添加以下条目[^1]: ```ini [LocalRepo] name=Local Repository baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 ``` 同样地,在更改完成后记得清理旧缓存并重建新索引。 #### 方法三:通过连接存储或本地镜像文件配置本地 Yum (适用于虚拟环境) 对于处于隔离环境中无法访问外网的情况,可利用 NFS、Samba 等协议共享远端服务器上的 RPM 资库;或者是直接复制整个资库到本机硬盘内供离线状态下使用。这一步骤涉及更多关于网络配置的知识以及可能需要额外工具的支持。 如果是在同一局域网内的多台机器间共享同一个 YUM 的话,只需要确保每台客户端都能正确解析主机名并且具有读取权限就可以了[^3]。 以上就是针对不同场景下配置 Yum 的具体实现方案。值得注意的是,无论采用哪种方式都应该保持官方文档所推荐的最佳实践以保障系统的稳定性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值