Linux之yum源配置
- yum源的概述
- yum命令
- yum源分类
- 本地yum源
- 网络yum源
- 本地yum源配置
- 本机yum源备份
- 本地yum配置
- 使用光盘镜像作为yum源仓库
- 网络yum源配置
- 配置阿里云的yum源
- 配置清华yum源
- 配置腾讯yum源
- 配置扩展源:EPEL源配置
- 特定软件的yum源配置
- 配置Nginx的yum源
- 自建yum源仓库
- 如何缓存软件的安装包
- 把软件及依赖软件全部下载到某个路径
- 自定义yum仓库
yum源的概述
- yumi源作用:软件包管理器,类似360的软件管家。
yum源优点: - RPM安装 (下载软件、单独安装、需要解决依赖关系)。
- 源码安装 (下载软件的源码包,有依赖需要解决依赖,解压,进入目录 => 配置+编译+安装)。
- yum源能够解决软件包之间的依赖关系,提高工作效率。(相当于RPM软件包管理的升级版本)
yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,我们也可以通过rpm -qa |grep 软件名称
方式进行查询。
yum命令
# yum install [选项] 软件名称
选项说明:
-y:全部选是进行下载
remove:卸载软件
--downloadonly: --downloadonly --downloaddir=/soft,只下载不安装,将软件缓存到/soft 目录下
# yum list => 列出仓库里的所有软件包
# yum repolist => 列出已配置的软件仓库
# yum list|tail => 查看未安装的软件包
# yum list |grep 关键字 => @代表已经安装成功
# yum list installed => 查看已安装的包
yum源分类
本地yum源和网络yum源
本地yum源
yum仓库在本地 (系统光盘、镜像文件) => 不需要网络的支持
网络yum源
yum源仓库不在本地,在远程
国内较知名的网络yum源:
- 阿里源:https://opsx.alibaba.com/mirror
- 网易源:http://mirrors.163.com/
- 搜狐源:http://mirrors.sohu.com/
- 清华源:https://mirrors.tuna.tsinghua.edu.cn/
国外较知名的yum源:(centos源、redhat源、扩展epel源等)
特定软件相关的网络源(Nginx、MySQL、Zabbix等安装需要单独配置)
本地yum源配置
本机yum源备份
将本机的本地yum源备份
第一步:使用cd命令切换到 /etc/yum.repos.d 目录
# cd /etc/yum.repos.d
第二步:对所有的仓库文件进行备份
# tar -zcf repo.tar.gz *.repo
第三步:删除所有的以.repo结尾的仓库文件
# rm -rf *.repo
本地yum配置
第一种方式:使用光盘镜像作为yum原仓库
第二种方式:下载很多软件,使用软件包作为yum源仓库
使用光盘镜像作为yum源仓库
第一步:在VMware系统中装载CentOS7.6系统的光盘镜像第二步:把光盘挂载到 /mnt 目录下
- 解挂
# lsblk => 查看系统镜像挂载情况
[root@localhost yum.repos.d]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─centos-root 253:0 0 37G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.3G 0 rom /run/media/admin/CentOS 7 x86_64
#l 可知sr0的挂载目录为 /run/media/admin/CentOS 7 x86_64
# umount /run/media/admin/CentOS 7 x86_64 => 解挂载sr0镜像
- 挂载,当访问/mnt 目录就是访问光驱设备(镜像)
#l 挂载到 /mnt 目录
# mount -o ro /dev/sr0 /mnt => /dev/sr0 代表光驱设备(临时挂载)
#l 查询挂载情况
# lsblk
[root@localhost yum.repos.d]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─centos-root 253:0 0 37G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.3G 0 rom /mnt
第三步:把光盘挂载到开机启动文件中
# chmod +x /etc/rc.local => 需要给这个文件添加可执行权限,不然配置不生效(CentOS7需要添加执行权限)
# echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc/local => 添加到开机启动文件中(永久挂载)
第四步:编写本地yum仓库文件
- yum仓库的标准格式
#l [仓库标识名称],名称任意,在一个文件中可以拥有多个标识
#l name=仓库名称
#l baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http://或https://
#l gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接)
#l enabled=是否启动当前仓库,值可以0,也可以是1,默认为1,代表启动仓库
- 实操配置本地yum仓库文件
进入到yum配置目录
# cd /etc/yum.repos.d
创建本地仓库
# vim local.repo => 创建一个以*.repo结尾的文件,名称任意
[local]
name=local yum
baseurl=file:///mnt
gpgcheck=0
enabled=1
注:file://本地协议路径,后面跟仓库的具体路径
使本地yum源配置生效:
# yum clean all => 清理yum缓存
# yum makecache => 重新建立缓存(让新YUM源生效)
显示yum源仓库:
# yum repolist all
[root@localhost yum.repos.d]# yum repolist all
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id repo name status
local local yum enabled: 4,021
repolist: 4,021
第五步:测试本地yum源仓库是否可用
# yum install httpd -y
网络yum源配置
网络yum源分类:
- 使用比较知名平台的YUM源(阿里云、腾讯、清华)
- 有些特定软件(如Nginx、MySQL、Zabbix等等)需要根据官网文档自定义网络YUM源
使用知名平台的YUM源:
- 阿里源:https://opsx.alibaba.com/mirror
- 网易源:http://mirrors.163.com/
- 搜狐源:http://mirrors.sohu.com/
- 清华源:https://mirrors.tuna.tsinghua.edu.cn/
- 腾讯源:https://mirrors.cloud.tencent.com/
配置阿里云的yum源
第一步:百度,搜索你想要的YUM源(阿里 mirror),进入官网,找到CentOS
第二步:根据官网提示,配置阿里云的YUM源
#l 备份
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#l 下载阿里yum源
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all => 清理缓存
# yum makecache => 更新缓存
配置清华yum源
需要自己创建一个.repo
文件,根基提示编写文件
CentOS 镜像使用帮助
配置腾讯yum源
查看帮助文档,根据提示配置
https://mirrors.cloud.tencent.com/help/centos.html
配置扩展源:EPEL源配置
- epel源是对官网源的一个扩展(对官方yum源的补充)
- 有些第三方软件需要到特定的官方网站进行下载,而
epel
扩展源加载了第三方软件,如Nginx
软件 - 当下载某个软件无法下载就配置epel源,如果epel源也没有就需要到软件官网进行下载
配置epel源:
# cd
# yum install epel-release -y => 安装
# yum install epel-release -y => 正确卸载epel源方式
# rm -rf epel*.repo => 错误卸载epel源方式
特定软件的yum源配置
比如特殊的几个软件,如Nginx
、MySQL
、Zabbix
:
- Nginx:http://www.nginx.org
- MySQL:https://www.mysql.com/
- Zabbix:https://www.zabbix.com/
找到官方文档,把YUM源配置,写入到一下文件中(repo文件)
配置Nginx的yum源
配置Nginx的yum源:http://nginx.org/en/linux_packages.html#RHEL-CentOS
# vim /etc/yum.repos.d/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
或
# vim /etc/yum.repos.d/nginx.repo
[nginx-mainline] => 主线版
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
# yum clean all
# yum makecache
安装Nginx:
# yum install nginx -y
自建yum源仓库
缓存安装软件包:
- 使用网络yum源下载软件,在下载完成后会删除软件包
- 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库。用于下次安装 相同版本的软件包
如何缓存软件的安装包
修改配置文件:/etc/yum.cof
# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 定义软件包的缓存路径
keepcache=1 1开启缓存;0关闭
debuglevel=2
logfile=/var/log/yum.log
...
把软件及依赖软件全部下载到某个路径
只下载不安装软件:
# yum install --downloadonly --downloaddir=保存路径 软件名称
案例:下载samba软件及依赖软件到/soft目录
# mkdir /soft
# yum install --downloadonly --downloaddir=/soft samba
自定义yum仓库
第一步:在系统中安装createrepo制作仓库软件
# yum install createrepo -y
第二步:把/soft文件夹做成一个本地的自建仓库
# createrepo /soft
#l 如果/soft 文件夹多了一个repodata的目录就代表自建仓库完成
第三步:在 /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