Linux基础15 yum概述,yum仓库搭建

发布时间 2023-03-31 18:07:37作者: 战斗小人

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)
参考: https://blog.csdn.net/weixin_39094034/article/details/127561524

 

编辑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仓库,把文件地址变为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协议
enable=1
gpgcheck=0

通过 yum repolist 看是否可以识别