yum源 三大常用配置方式
目前企业中yum的配置方式有如下场景
- 场景一:iSO镜像搭建yum本地源(无法上公网,服务器较少)
- 场景二:搭建阿里云/163 yum源
- 场景三:HTTP搭建网络yum源(本地镜像多,服务器较多)---推荐
下面分别对三个场景进行傻瓜式配置 :joy:
一、 iSO镜像搭建yum本地源
1.1 挂载光驱
将光盘插入,通过mount挂在光驱至/mnt/cdrom目录下
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
1.2 (可选) 将挂载写入开机启动项
echo "/dev/cdrom /mnt/cdrom iso9660 defaults 0 0" >> /etc/fstab
测试是否生效
umount /dev/cdrom
mount -a
df -h
查看/dev/sr0已经被挂载,OK
1.3 配置本地yum源
1.3.1 备份源repo文件(养成好习惯)
1.3.2 创建repo文件
vim Centos7.repo
[Centos7] #yum唯一标识
name=Centos7_iso #yum名称,任意
baseurl=file:///mnt/cdrom #yum镜像路径地址(还有ftp:// 和 http://)
enable=1 #1启用,0禁用
gpgcheck=0 #1校验,0不校验
1.3.3 清除缓存,加载yum源
yum clean all && yum makecache
1.3.4 验证yum配置
yum list | grep nginx
显示正常即OK
二、配置阿里云yum源
2.1 备份原yum文件
mv /etc/yum.repos.d/Centos-Base.repo /etc/yum.repos.d/Centos-Base.repo.bak20200709
2.2 下载阿里云镜像yum文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
2.3 清除缓存,加载yum源
yum clean all && yum makecache
2.4 验证配置
yum list | grep nginx
2.5 (可选)安装扩展EPEL源
场景:如果需要安装的包在Base yum源没有,就需要安装外部扩展yum源,如下以ansible安装为例
yum install ansible -y
通过查看ansible 需要安装EPEL源
yum list | grep ansible
2.5.1 查看系统的版本
cat /etc/redhat-release
2.5.2 下载对应系统版本的epel-release rpm包
wget https://mirrors.aliyun.com/centos/7.8.2003/extras/x86_64/Packages/epel-release-7-11.noarch.rpm
2.5.3 安装epel rpm包
rpm -ivh epel-release-7-11.noarch.rpm
2.5.4 清除缓存,加载yum源
yum clean all && yum makecache
2.5.5 验证配置
yum install ansible -y
正常显示OK
三、HTTP搭建网络yum源(推荐)
场景:iso镜像只能本机使用,如果需要内网中其他服务器使用,就需要构建http yum源仓库,也是企业中常用的配置方式。(ftp 也是可以的)
3.1 挂载iso本地镜像(详见一)
3.2 安装httpd等服务
yum install httpd httpd-devel -y
systemctl restart httpd.service
3.3 配置防火墙
setenforce 0 #临时关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久关闭SELinux(重启生效)
systemctl stop firewalld.service #临时关闭防火墙
systemctl disable firewalld.service #永久关闭防火墙
3.4 将镜像中/mnt/cdrom/Packages 拷贝至/var/www/html/yum/centos7.8
mkdir -p /var/www/html/yum/centos7.8
cp -R /mnt/cdrom/Packages/* /var/www/html/yum/centos7.8
3.5 安装createrepo本地仓库包,并建立索引
yum install createrepo* -y
createrepo /var/www/html/yum/centos7.8/
创建完成会有repodata文件夹生产
3.6 另一台客户端配置yum文件,使用网络镜像
vim /etc/yum.repos.d/Centos7.8-http.repo
[centos7.8]
name=centos7.8-http
baseurl=http://192.168.197.128/yum/centos7.8
enable=1
gpgcheck=0
yum clean all && yum makecache
3.7 验证配置
yum list | grep nginx
客户端能正常获取yum服务器文件,OK
3.8 (可选)另外一种场景
企业研发发布新rpm,如何更新yum服务器,让其他客户端正常获取,以下以docker安装为例
3.8.1 下载docker rpm包并上传至镜像仓库/var/www/html/yum/centos7.8
wget https://mirrors.aliyun.com/opensuse/history/20200218/tumbleweed/repo/oss/x86_64/docker-19.03.5_ce-4.1.x86_64.rpm
cp docker-19.03.5_ce-4.1.x86_64.rpm /var/www/html/yum/centos7.8/
3.8.2 更新repodata索引
createrepo --update /var/www/html/yum/centos7.8/
3.8.3 另一台客户端验证是否能获取docker
yum clean all
yum list | grep docker
四、yum常用命令
yum install # 安装
yum remove #卸载
yum update #更新
yum clean all #清除缓存
yum makecache #加载缓存
yum info #查看信息
yum list #查看包列表