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