八、Linux--配置yum源

1. yum简介

1.1 yum是如何安装软件的

yum仓库(也称yum源)用于存放各种rpm的软件包以及软件包之间的依赖关系(repodata目录)
需要安装软件的计算机连接到指定yum仓库来安装软件包

1.2 yum源作用

软件包管理器,类似Windows下的软件管家。

1.3 yum源优势

解决软件包之间的依赖关系,提高运维人员的工作效率。

1.4 yum源分类

本地yum源
所谓本地yum源是指yum仓库在本地,一般是本地系统光盘或镜像文件。

网络yum源
所谓网络yum源是指yum仓库在远程(不在本地),需要联网才能安装。

国内较知名的网络源(aliyun源,163源,sohu源,知名大学开源镜像等)
国外较知名的网络源(centos源、redhat源、红帽扩展epel源等)
特定软件相关的网络源(Nginx、MySQL、Zabbix等)

2. yum源配置

说明:以下操作系统以Centos 7.9为例,其他Linux系统类似。

2.1 本地yum源配置

挂载镜像到本地操作系统
手动挂载光盘到指定目录

1、 创建文件夹用来挂载镜像文件IOS
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom

2、 进入yum源配置文件目录下,备份并创建新的.repo文件
cd /etc/yum.repos.d
mkdir backup
mv *.repo backup
vim local.repo
[local]
# 下载源名字
name=local
# 指定yum仓库的路径(重要),file://表示本地仓库
baseurl=file:///media/cdrom
# 不用校验仓库里软件包的签名,0表示不校验;1表示校验
gpgcheck=0
# 是否禁用 0禁 1不禁
enabled=1

3、删除系统默认的所有源文件
[root@Heima ~]# cd /etc/yum.repos.d/
[root@Heima yum.repos.d]# rm -f ./*

4、清除yum缓存 以及缓存本地yum源
yum clean all
yum maekcache

5、 开机自动挂载
[root@Heima ~]# mount -o ro /dev/sr0 /mnt

[root@Heima ~]# echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local

[root@Heima ~]# echo "/dev/sr0 /mnt iso9660 defaults,ro 0 0" >> /etc/fstab

6、 测试
yum install vsftpd -y

说明:

/etc/rc.local文件是操作系统开机最后读取的一个文件,该文件需要有可执行权限,开机时系统会帮你自动挂载,建议使用该方式。

/etc/fstab文件也可以,但是如果修改错误可能会导致系统起不来。

2.1.1 脚本一键配置本地yum源

#!/bin/bash

# 创建本地源文件夹
mkdir -p /media/mnt

# 挂载镜像文件至指定的目录
mount /dev/cdrom /media/mnt

# 备份原本地源
cp -rf /etc/yum.repos.d  /etc/yum.repos.d_$(date '+%Y%m%d_%H%M%S')

# 删除默认原本地源
rm -rf /etc/yum.repos.d/*

# 配置本地源,创建local.repo文件,并配置如下内容
cd /etc/yum.repos.d/
>Media.repo
echo '[local]'                            >> local.repo
echo 'name=local'                       >> local.repo
echo 'baseurl=file:///media/mnt'    >> local.repo
echo 'gpgcheck=0'                       >> local.repo
echo 'enabled=1'                        >> local.repo
# 清除yum缓存
yum clean all
# 缓存本地yum源
yum makecache

2.2 网络yum配置

1、直接通过修改Centos-Base.repo配置文件

# /etc/yum.repos.d/CentOS-Base.repo,该文件是网络源的默认配置文件。一般是需要替换baseurl地方的前半部分.
特定软件的网络源:
cat nginx.repo 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

基本软件的网络源:
cat 163.repo 
[163]
name=163 network yum
baseurl=http://mirrors.163.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

cat aliyun.repo 
[aliyun]
name=aliyun
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

# Centos-base源文件
[CentOS-base] #yum仓库唯一标识符,避免与其他仓库冲突。
name==CentOS-$releasever - Base #yum仓库的名称描述,易于识别仓库用处
baseurl=https://mirrors.ustc.edu.cn/centos/$releasever/os/$basearch/ #局域网yum仓库配置方法参考
#提供方式包括本地(file:///..)、HTTP(http://..、https://..)、FTP(ftp://..),baseurl中的地址可以配置多个。baseurl最终目的是寻找yum源下根目录下的repodata/repomd.xml文件。
enabled=1 #设置此源是否可用,1为可用,0为禁用。
gpgcheck=1 #设置此源是否校验文件,1为校验,0为不校验。
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release #若为校验请指定公钥文件地址。

# 清除yum缓存、刷新yum缓存
# yum clean all     #清除缓存
# yum makecache     #生成(刷新)缓存

2、通过安装软件包,自动创建.repo文件(自动配置)。
配置epel源为例:

1)下载epel源软件包
wget -P /tmp https://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm --no-check-certificate

2)安装软件包
rpm -ivh /tmp/epel-release-6-8.noarch.rpm 

3)检查配置文件
ls /etc/yum.repos.d/epel*
/etc/yum.repos.d/epel.repo  /etc/yum.repos.d/epel-testing.repo
---
1)备份你的原镜像文件
# mv /etc/yum.repos.d/Centos-Base.repo /etcc/yum.repos.d/Centos-Base.repo.bak

2)下载源
# wget -O /etc/yum.repos.d/CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo

3)配置 将下载的Centos-Base-163.repo放入/etc/yum.repos.d目录下

4)清楚yum缓存,刷新yum缓存
yum clean all # 清除缓存
yum makecache # 生成缓存

3. yum工具相关命令

# yum install package -y
默认是安装来自仓库里的软件,指定的是软件名字。多个包空格隔开;-y (取消交互)
# yum install ./xxx.rpm
或者
# yum localinstall ./xxx.rpm
安装来自本地指定路径下的rpm包,而不是来自仓库
# yum remove 或者 erase package
卸载软件包
# yum update
更新仓库里所有比本机已经安装过的软件要的软件	
# yum update package
指定升级的软件
# yum search mysql
搜索出所有软件名字“mysql”关键字的软件
# yum provides  "libaudiofile.so.0"
找出模块由哪些软件包提供
# yum clean all
清空之前的yum列表缓存
# yum makecache
创建新的缓存
# yum list
列出仓库里的所有软件包
# yum repolist
列出已配置的软件仓库
# yum list |grep 关键字
@代表已经安装成功
# yum list installed
查看已安装的包
# yum grouplist
查看包组
# yum groupinstall  "包组"
安装包组
# yum groupremove "包组"

4. 总结

yum是Linux下用于安装rpm软件包的一个工具,要使用它安装软件包,必须提前配置yum源。

yum源分为本地yum源和网络yum源。本地yum源指软件仓库在本地;网络yum源指软件仓库在远程。

软件仓库里既有软件包也要有repodata目录,即存放软件之间的依赖关系

yum工具安装rpm软件包的最大优势就是解决软件包的依赖关系,提高工作效率

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值