• 什么是yum源?如何对其进行配置?


    哈喽,大家好呀!这里是码农后端。今天来聊一聊Linux下的yum源及其配置相关的内容。简单来说,yum源就相当于一个管理软件的工具,可以想象成一个很大的仓库,里面存放着各种我们所需要的软件包及其依赖。

    e60f9d4d3f4d5c08422bbc7df22d80a1.jpeg

    一、Linux下软件包的管理

    1、软件安装方式

    1)RPM包管理

    需要单独解决依赖问题。

    2)YUM包管理

    需要有网络及YUM仓库的支持,会自动联网下载软件,自动解决依赖

    3)源码安装

    安装过程较复杂,但定制性很强。

    2、源码安装的配置过程

    Linux系统中,源码安装一共分为三步(三步走):

    1)配置过程(配置软件的安装路径)

    2)编译过程(把软件由源代码编译成可以安装的程序)

    3)安装过程(把编译后的程序进行安装)

    1. # 配置 && 编译 && 安装
    2. ./configure && make && make install

    3、源码安装配置过程详解

    配置过程体现了较强的定制型,而非编译安装

    1. # 进入软件源码包
    2. cd 软件源码包
    3. # 配置
    4. # ./configure [选项]
    5. # 查看选项帮助
    6. ./configure --help
    7. # 最常用的选项
    8. --prefix=... Directories to put files in /usr/local 软件家目录
    9. # 其他
    10. --bindir=... $prefix/bin 命令的目录
    11. --etcdir=... $prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf
    12. --mandir=... $prefix/share/man man 文档路径
    13. --locale=... $prefix/share/locale 语言编码
    14. ...

    4、编译过程详解

    make

    在Linux操作系统中,make主要功能就是将其他语言的源代码打包成Linux可以识别安装的程序。编译过程需要一个gcc或gcc++软件(开发工具)的支持!

    5、安装过程

    make install

    6、源码安装软件的卸载

    1. # 第一步:进入到源码的安装包中(以axel-2.4为例)
    2. cd axel-2.4
    3. # 删除软件的安装包等程序
    4. make uninstall
    5. # 卸载编译与配置过程
    6. make distclean
    7. # 第二步:删除软件的目录(举例目录为 /opt/axel)
    8. rm -rf /opt/axel

    二、YUM源概述

    1、yum源作用

    作用:软件包管理器,类似360的软件管家。

    de2d9ab80dd81c0c2d8a458a0fea43b6.jpeg

    2、yum源优点

    三种软件安装方式回顾:

    1)RPM安装(下载软件、单独安装、需要解决依赖关系)

    2)源码安装(下载软件的源码包,解压,进入目录=>配置+编译+安装)

    3)yum源:可以理解为rpm软件包管理的升级版

    优点:能够解决软件包之间的依赖关系,提高运维人员的工作效率。

    注:yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,也可以通过 rpm -qa |grep 软件名称  来查询软件包是否已安装。

    3、yum源分类

    3.1 本地yum源

    yum仓库在本地(系统光盘/镜像文件) =>  不需要网络的支持

    3.2 网络yum源

    yum仓库不在本地,在远程。

    1)国内较知名的网络源(aliyun源,163源,腾讯源,知名大学开源镜像等)

    阿里源:https://opsx.alibaba.com/mirror

    网易源:http://mirrors.163.com/

    腾讯源:https://mirrors.cloud.tencent.com/

    清华源:https://mirrors.tuna.tsinghua.edu.cn/

    2)国外较知名的网络源(centos源、redhat源等)

    3)特定软件相关的网络源(Nginx、MySQL、Zabbix等)

    4、本机yum源备份(重要)

    第一步:使用cd命令切换到/etc/yum.repos.d目录

    cd /etc/yum.repos.d/

    第二步:对所有的仓库文件(以.repo结尾)进行备份

    tar -zcf repo.tar.gz *.repo

    第三步:删除所有的以.repo结尾的仓库文件

    rm -rf *.repo

    ea42ed70bec785f35ed8c50227a7f3ec.png

    三、本地YUM源配置

    1、本地YUM配置

    1)方式1:使用光盘镜像作为YUM源仓库

    2)方式2:下载很多软件,使用软件包作为YUM源仓库

    2、使用光盘镜像作为YUM源仓库

    第一步:在VMware系统中装载CentOS7.6系统的光盘镜像

    90940cf0b84a080609303b2df49c74a4.png

    第二步:把光盘挂载到某个目录下

    1. # 回到家目录
    2. cd ~
    3. # 清空 mnt目录
    4. rm -rf /mnt/*
    5. # 以只读的方式将光驱挂载到 mnt目录上
    6. mount -o ro /dev/sr0 /mnt
    7. # 挂载完成后,使用 lsblk列出块设备的信息(这里查询挂载点的信息)
    8. lsblk
    9. # 选项说明:
    10. -o :挂载方式,ro(readonly) =>代表以只读的方式进行挂载
    11. rw(read/write)=>代表以读写的方式进行挂载

    b9fdb0e7c8e5a90662c6ec713312d41b.png

    卸载或解挂可以使用 umount /mnt

    第三步:把光盘挂载添加到开机启动文件中

    1. # 7版本中,需要先给文件增加一个可执行权限
    2. chmod +x /etc/rc.local
    3. # 把挂载命令追加到开机启动文件中
    4. echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local

    注:/etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行该文件

    第四步:编写本地YUM仓库文件

    1. # 进入默认目录
    2. cd /etc/yum.repos.d/
    3. # 创建一个以*.repo结尾的文件,名称任意
    4. vim local.repo
    5. [local]
    6. name=local yum
    7. baseurl=file:///mnt
    8. gpgcheck=0
    9. enabled=1

    注:file://本地协议路径,后面跟仓库的具体路径

    配置完成后,运行以下命令让其生效:

    1. # 清除所有缓存
    2. yum clean all
    3. # 重新给本地仓库建立缓存
    4. yum makecache
    5. # 列出所有仓库信息
    6. yum repolist all

    重点:yum仓库的标准格式:

    1)[仓库标识名称],名称任意,在一个文件中可以拥有多个标识

    2)name=仓库名称 

    3)baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http:// 或 https:// 

    4)gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接) 

    5)enabled=是否启动当前仓库,值可以0,也可以是1(默认为1,代表启动仓库)

    第五步:测试本地YUM仓库是否可用

    yum install httpd -y

    3、man 5扩展

    背景:在Linux系统中,给定一个配置文件,如何查询这个文件中每一个选项的作用?

    1. # 以前我们使用的是 man命令
    2. man 命令

    扩展:man 5 配置文件名称

    man 5 yum.conf

    四、网络YUM源配置

    1、网络YUM源的分类

    1)使用比较知名平台的YUM源(阿里云、腾讯、清华)

    2)有些特定软件(如Nginx、MySQL、Zabbix等)需要根据官网文档自定义网络YUM源

    2、知名平台的YUM源

    阿里源:https://opsx.alibaba.com/mirror

    腾讯源:https://mirrors.cloud.tencent.com/

    网易源:http://mirrors.163.com/

    清华源:https://mirrors.tuna.tsinghua.edu.cn/

    百度搜索 => 腾讯源 mirror镜像源

    举例:使用腾讯mirror镜像源

    1)备份系统旧配置文件

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    2)获取对应版本的CentOS-Base.repo 到/etc/yum.repos.d/目录

    以CentOS7为例:

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

    3)更新缓存

    1. yum clean all
    2. yum makecache

    3、扩展:EPEL源配置

    什么是EPEL源?

    EPEL是对官网源的一个扩展。

    CentOS-Base.repo文件 => 基础源(官方自带的YUM源)

    epel.repo文件 => 扩展源,是对官方YUM源的一个补充

    yum install epel-release -y

    eg:会跑的小火车就是在epel源中

    1. yum install sl -y
    2. sl

    d010f47b3fed65ed2e229eaf5f092997.jpeg

    4、特定软件的YUM源配置

    如特殊的几个软件,Nginx、MySQL、Zabbix

    Nginx:http://www.nginx.org

    MySQL:https://www.mysql.com/ 

    Zabbix:https://www.zabbix.com/

    以安装nginx为例:

    1)找到官方文档,配置YUM源,写入到以下文件中(repo文件)

    1. # 切换到默认yum目录
    2. cd /etc/yum.repos.d
    3. # 新建并编辑配置文件(名称任意)
    4. vim nginx.repo
    5. [nginx-stable]
    6. name=nginx stable repo
    7. baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    8. gpgcheck=1
    9. enabled=1
    10. gpgkey=https://nginx.org/keys/nginx_signing.key
    11. module_hotfixes=true

    2)清理缓存:

    1. yum clean all
    2. yum makecache

    3)安装Nginx:

    yum install nginx -y

    五、自建YUM源仓库

    1、缓存安装软件包

    什么时候需要缓存软件?

    1. 下次还需要安装相同版本的软件包

    2. 由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库

    2、如何缓存软件安装包

    1. # 打开配置文件
    2. vim /etc/yum.conf

    04230f951b86c1b670d5ab6abc4b0f0d.png

    3、把软件及依赖软件全部下载到某个路径

    1)只下载不安装:

    yum install --downloadonly --downloaddir=保存路径 软件名称

    eg:下载samba软件及依赖软件

    1. # 创建一个文件夹用于保存文件
    2. mkdir /soft
    3. # 下载samba及依赖软件
    4. yum install --downloadonly --downloaddir=/soft samba

    4、自定义YUM仓库

    第一步:在系统中安装制作仓库的软件createrepo

    yum install createrepo -y

    第二步:把/soft文件夹做成一个本地的自建仓库

    createrepo /soft

    第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库

    1. cd /etc/yum.repos.d/
    2. vim soft.repo
    3. [soft]
    4. name=soft yum
    5. baseurl=file:///soft
    6. gpgcheck=0
    7. enabled=1

    第四步:清理缓存+重建缓存

    1. yum clean all
    2. yum makecache

    好了,以上就是今天这篇文章的全部内容了。如果你想及时看到我的文章,只需做这几个动作:点星标、点在看(包括赞)、评论、分享,我就会经常出现在您的常读列表,后面更新都会提醒。感谢大家的关注和支持,祝大家生活美满,学业有成,事业蒸蒸日上!

    往期精彩文章推荐(点击下方蓝字即可阅读!)

    往期推荐

    Linux有哪些常用的高级扩展命令?

    腾讯元宝,它来了!!

    2分钟带你快速了解与网络相关的硬件有哪些?

  • 相关阅读:
    Epoch和episodes的区别
    分享云安全实践,透视2022亚马逊云科技re:Inforce全球安全大会
    bag包提取深度图和rgb图
    面向对象(九) 多态 接口
    多线程_线程插队_join()方法与锁的释放
    阿里云、追一科技抢滩对话式AI
    【yaml文件的编写】
    【开源项目】mysql大表数据迁移
    web前端 HTML5
    js模块化
  • 原文地址:https://blog.csdn.net/qq_56999608/article/details/139974630