Linux Yum源创建与配置(Centos 7为例)

1 概述

在我们的日常工作中经常会遇到系统自带的yum源下载安装包速度慢,或因为网络原因导致无法使用系统自带的yum源的问题。本篇文章就是跟大家分享下如何在Centos下创建或配置yum源信息。

什么是Yum?

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

2 Yum配置文件

yum的配置文件都默认放置在 /etc/yum.repos.d/目录下,以.repo为文件名后缀,比如Centos.repo,一般都会有一下配置:

[Centos-yum]
name=Centos-yum
baseurl=http://www.centos.com/yum/centos/$releasever/$basearch/
enabled=1
gpgcheck=0
常用配置项解释:

解释:
[…] :代表这个库的名字,必须是唯一的,不可以重复;
name:是这个库的说明,没有太大的实际意义,只是一个字段说明;
baseurl: 说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等;
enabled:说明启用这个更新库,1表示启动,0表示不启用;
gpgcheck:1表示使用gpg文件来检查软件包的签名,0表示不检查;
gpgkey: 表示gpg文件所存放的位置,此处也可以有http方式的位置。
使用一下命令可以查看yum的手册

man yum.conf

当创建了新的yum repo后需要创建索引,执行一下命令

yum clean all
yum makecache

想要查看,已经配置的repo,执行一下命令

yum repolist

3 Yum常用命令

Yum的命令格式一般是如下:

yum [options] [command] [package ...]

其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package …]是操作的对象。

常用命令
  • 自动搜索最快镜像插件: yum install yum-fastestmirror
  • 安装yum图形窗口插件: yum install yumex
  • 查看可能批量安装的列表: yum grouplist
安装命令
  • 全部安装: yum install
  • 安装指定的安装包package1: yum install package1
  • 安装程序组group1: yum groupinsall group1
更新和升级
  • 全部更新:yum update
  • 更新指定程序包package1:yum update package1
  • 检查可更新的程序 yum check-update
  • 升级指定程序包package1:yum upgrade package1
  • 升级程序组group1:yum groupupdate group1
查找和显示
  • 显示安装包信息package1:yum info package1
  • 显示所有已经安装和可以安装的程序包:yum list
  • 显示指定程序包安装情况package1:yum list package1
  • 显示程序组group1信息yum search string 根据关键字string查找安装包:yum groupinfo group1
删除程序
  • 删除程序包package1:yum remove | erase package1
  • 删除程序组group1:yum groupremove group1
  • 查看程序package1依赖情况:yum deplist package1
删除程序
  • 清除缓存目录下的软件包:yum clean packages
  • 清除缓存目录下的 headers:yum clean headers
  • 清除缓存目录下旧的 headers:yum clean oldheaders
  • 清除缓存目录下的软件包及旧的headers:yum clean,yum clean all (= yum clean packages; yum clean oldheaders) `

4 挂载Yum repo的方法

在第2节中已经描述了,Yum repo配置文件的位置和配置方法,在这里就不再赘述了,主要是以下三种配置方式http、本地目录、远程目录

4.1 http协议配置

可以使用网上现成的repo服务,如阿里(http://mirrors.aliyun.com/repo/[linux-release])、163等提供的repo服务器,也可以自己搭建web服务器根据自己的需求准备rpm包通过web服务器代理Yum repo。

  1. 安装apache服务器,其他web服务器也可以
# 安装apache服务
yum install httpd
#开启apache服务
service httpd start
#配置apache服务开机自启
systemctl enable httpd.service
  1. 创建http服务映射 (以CDH的CM的repo为例)
ln -s /opt/software/cloudera/cm6.3.0/ /var/www/html/cm 
  1. 配置yum repo文件
vi /etc/yum.repos.d/cm.repo
# 编辑yum源配置
[cm]
name=cm
baseurl=http://132.46.112.97/cm
enabled=1
gpgcheck=0

如果是别人的web服务器,将baseurl修改成对应的url,如果别人有提供好的repo配置如阿里的repo,可将repo文件直接放到/etc/yum.repos.d/目录下

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  1. 重新加载
yum clean all
yum makecache
yum search cm
4.2 本地挂载目录
  1. 下载iso文件
    从CentOS的官网下载CentOS的完整版iso文件,并上传到Linux文件系统中,例如/opt/tools/。

  2. 创建挂载目录
    为iso文件的挂载创建目录。

mkdir /mnt/vcdrom
  1. 挂载
    将iso文件挂载到挂载目录。
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom
  1. 移除或备份Centos-Base.repo文件
cd /etc/yum.repos.d/
mv Centos-Base.repo Centos-Base.repo.back
  1. 编辑Centos-Media.repo文件
vim /etc/yum.repos.d/Centos-Media.repo
name=CentOS-$releasever - Media
baseurl=file:///mnt/vcdrom/#将baseurl修改为DVD的挂载目录
gpgcheck=1
enabled=1#开启本地更新模式
  1. 重新加载yum
yum clean all
yum makecache
4.3 挂载远程目录

使用nfs创建远程目录通过把远程目录挂载到本地,然后在通过与4.2中的方法一样进行配置repo

5 创建Yum Repo

如果有现成的rpm包,我们也可以创建自己的yum repo

  1. 创建yum源位置
#创建test yum的仓库目录
mkdir -p /usr/local/test.repo
#将准备好的rpm包拷贝到test.repo目录里
mv ./*.rpm /usr/local/test.repo/
#创建仓库
cd /usr/local/test.repo/
createrepo ./

创建完成后会生成/usr/local/test.repo/repodata,这个目录就是我们创建的test repo的元数据目录。
2. 挂载yum源
Yum挂载 repo(根据本文第4章中的任意方法挂载,本章使用http为例)
首先通过创建软连接的方式,将我们创建好的test yum repo 挂载到apache服务器上:

ln -s /usr/local/test .repo/ /var/www/html/test 

配置repo文件

# 编辑mysql yum源配置 vim /etc/yum.repos.d/test .repo
[test ]
name=test 
baseurl=http://192.168.1.200/test 
enabled=1
gpgcheck=0

重新建立Yum缓存

yum clean all
yum makecache

6 关于Yum Repo的优先级

  1. 安装 yum-priorities ,查看是否已安装 rpm -qa yum-priorities
yum install yum-priorities -y
  1. priorities的配置文件是/etc/yum/pluginconf.d/priorities.conf,确认其是否存在。内容为:
cat /etc/yum/pluginconf.d/priorities.conf
#配置以下内容
[main]
enabled = 1 # 0禁用 1启用
  1. 编辑 /etc/yum.repos.d/目录下的*.repo 文件来设置优先级。参数为:
priority=N # N值为1-99,数字越大,优先级越低

★推荐的设置为:

[base], [addons], [updates], [extras] … priority=1 
[centosplus],[contrib] … priority=2
Third Party Repos such as rpmforge … priority=N (where N is > 10 and based on your preference)

例:

echo "priority=1" >> CentOS7.repo

例:编辑 /etc/yum.repos.d/目录下的*.repo 文件来设置优先级

[base]
name=CentOS-$releasever – Base
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=0
priority=1

7 Q&A

  1. 如果包的名字记不全或包名称有不能输入的特殊字符,如(中文或其他特殊字符):
    yum install test*
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TBicycle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值