YUM管理:
yum是RedHat以及CentOS中的软件包管理器,能够通过互联网下载以rpm结尾的包,并且安装,并可以自动处理依赖性关系,无需繁琐的一次次下载安装。

yum install nginx

1.联网获取软件
2.基于RPM管理
3.自动解决依赖
4.命令简单好记
5.生产最佳实践

 

什么是yum源:

要成功的使用yum工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称之为yum源或者yum 仓库这个源可以是本地的也可以是网络的。

各大镜像源:
阿里云:https://opsx.alibaba.com/mirror
清华源:https://mirrors.tuna.tsinghua.edu.cn/
163源:http://mirrors.163.com/
华为源:https://mirrors.huaweicloud.com/
科大源:http://mirrors.ustc.edu.cn/

查看 源列表

[root@zlsedu yum.repos.d]# yum repolist # repolist表示一共有多少个包


最基础的2个源

-rw-r--r-- 1 root root 2523 Jul 30 2019 CentOS-Base.repo  # 基础仓库
-rw-r--r-- 1 root root 664 May 11 2018 epel.repo       # 扩展源

所有的 repo 都位于 /etc/yum.repos.d/目录下,该目录下存在多个。
其实,这些 repo 并没有全都启用,可以使用 yum repolist all 查看你拥有的所有repo及其状态(当前会否启用,启用的会将其标识为 enable)
参考:

 

编辑repo文件
name: 描述
baseurl: 仓库地址(http协议, ftp协议, file也是协议) 如果是本地文件(用file协议file://) file:///var/ftp/pub... file:///最后/一个为路径
enabled: 0表示不启用, 1表示启用(默认是启用)
gpgcheck: 检查签名(可以做个密钥对检查) 0表示关闭

 

搭建yum仓库

仓库机器操作

通过nginx搭建文件服务器,用于查看仓库内容

下载nginx的rpm包

wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.16.0-1.el7.ngx.x86_64.rpm

安装nginx

rpm -ivh nginx-1.16.0-1.el7.ngx.x86_64.rpm

修改nginx的配置

vim /etc/nginx/conf.d/yum_canku.conf

server {
        listen  80;
        server_name 10.0.0.200;
        location / {
                root /data/yum_cangku;  # 从这个地址开始展示
                index index.html index.htm;
                autoindex on;
                access_log off;
        }
}
# 启动nginx命令
nginx
# 重启nginx
/usr/sbin/nginx -s reload
# 关闭nginx
nginx -s stop

搭建yum仓库,把包含rpm的文件夹变为yum仓库

# 安装createrepo命令
[root@localhost yum.repos.d]# yum install -y createrepo
# 创建yum仓库(把该路径变成yum仓库)
createrepo 库文件夹  (会在文件夹内创建xml文件,将文件夹内的rpm文件转为yum软件包索引,让访问机器yum可以识别到,使用yum repolist可以识别)

 

访问机器操作

访问机器配置repo文件,即可通过yum去配置仓库下载

# 进入仓库
cd /etc/yum.repos.d/
# 新建对应包配置
vim nginx.repo
[nginx-zls]  # 仓库名随便写
name=This is zls's yum cangku  # 注释随便写
baseurl=http://10.0.0.200/  # 也可以是ftp协议,或者是本地文件file协议(yum仓库地址)
enable=1  # 弃用
gpgcheck=0  # 不检查

通过 yum repolist 看是否可以识别

 

搭建本地远程yum仓库实例(base源,zabbix,nginx)

仓库服务器

创建仓库

mkdir -p /data/zls/yum_repo
cd /data/zls/yum_repo
mkdir base zabbix nginx

将rpm包放入

# base的rpm包
(用vm创建centos的话,在虚拟机选项,设置选项中,可以看到硬件挂载centos镜像。镜像里rpm包。
mount /dev/cdrom /mnt
在/mnt/Packages中可以看到镜像中的rpm包)
cp /mnt/Packages/* base/    (拷贝全部,此处模拟只拷贝1个rpm即可)
cp /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm base/

# nginx的rpm包
# 去https://nginx.org/官网查找
cd nginx/
wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.16.0-1.el7.ngx.x86_64.rpm

# zabbix的rpm包
# 进入中科大源,采用它的同步方式
cd zabbix/
rsync -avzP rsync://rsync.mirrors.ustc.edu.cn/repo/zabbix ./     #(文件地址有问题,无法同步)
# 采用阿里源下载(此处就下载一个)
wget https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.8-1.el7.x86_64.rpm

搭建仓库

createrepo /data/zls/yum_repo/base/
createrepo /data/zls/yum_repo/nginx/
createrepo /data/zls/yum_repo/zabbix/

给仓库目录协议

# 删除原本的源(防止干扰)
cd /etc/yum.repos.d
# 删除里面所有问题,以免干扰
rm -rf *
# 编辑本地yum源
vim local_base.repo
[local_base_zls]
name='123'
baseurl=file:///data/zls/yum_repo/base
enable=1
gpgcheck=0
# 此时,可通过yum repolist 可以识别当前源

vim local_zabbix.repo
[local_zabbix_zls]
name='456'
baseurl=file:///data/zls/yum_repo/zabbix
enable=1
gpgcheck=0

vim local_nginx.repo
[local_nginx_zls]
name='789'
baseurl=file:///data/zls/yum_repo/nginx
enable=1
gpgcheck=0

本地测试,安装

yum install -y tree

远程访问电脑yum下载

仓库服务器操作

# nginx配置(把文件路径暴露访问机)
vim /etc/nginx/conf.d/yum_canku.conf
server {
        listen  80;
        server_name 10.0.0.200;
        location / {
                root /data/zls/yum_repo;
                index index.html index.htm;
                autoindex on;
                access_log off;
        }
}

访问服务器操作

cd /etc/yum.repos.d/
# 备份内容并清除开始测试
# 编辑本地yum源
vim local_base.repo
[local_base_zls]
name='123'
baseurl=http://10.0.0.200/base/
enable=1
gpgcheck=0

vi local_nginx.repo
[local_nginx_zls]
name='789'
baseurl=http://10.0.0.200/nginx/
enable=1
gpgcheck=0

...

安装测试

yum install -y nginx

 

注意: 修改仓库内rpm包,或者增加rpm包后需要执行下方命令

# 对方配置完repo文件后,执行代码刷新缓存
yum makecache
# 服务器目录下的rpm文件增减后,需要在服务器端执行以下命令,更新一下库才能正常在客户机下载rpm包
createrepo --update /yum/local