天涯共此良辰时

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  6 随笔 :: 0 文章 :: 0 评论 :: 2367 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

一、yum 简介

  Linux系统安装软件的方式一般分为三种:

    第一种:源码包,需要程序员自行编译安装。

      优点:开源,可以实现自定义可裁剪安装软件;软件是编译安装,更加稳定,卸载方便

      缺点:安装过程繁琐,如果是大型项目软件很容易出错

    第二种:rpm(Redhat Package Manager)工具。rpm原是Red Hat Linux发行版专门用来管理Linux的程序工具,遵循GPL规则且功能强大,因而深受喜爱。

      优点:包管理变得简单,通过几个命令就可以实现安装,卸载和更新软件

      缺点:无法解决依赖性问题,比如复杂一点的软件包依赖于别的软件包才能安装,而别的软件包又以来于另外的软件包。非常的麻烦

    第三种:yum(Yellow dogUpdater Modified)工具。yum是一款在RedHat,Fedora以及CentOS中的Shell前端软件管理器。

  

  说明:    

    1. yum软件仓库的产生,就是为了解决软件包之间的依赖关系,最大的优点就是帮助Linux用户降低软件安装要求;

    2.yum的宗旨就是自动化地升级,安装和移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。

    3.yum包含rpm的header部(包含软件描述信息,功能信息,提供的文件信息以及依赖信息),yum会收集这些header部并且分析,所以才自动的处理rpm软件包之间的依赖关系。

二、yum源核心文件

    yum信息存储目录:/etc/yum.repo.d/

[root@centos01 ~]# ll /etc/yum.repos.d/
total 32
-rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo    #
-rw-r--r--. 1 root root 1309 Apr 29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Apr 29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Apr 29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Apr 29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29 2018 CentOS-Vault.repo

    

    *.repo文件定义了一个或多个软件仓库的细节内容,比如从哪里下载以及升级的软件包,repo文件会被yum读取

[root@centos01 ~]# cat /etc/yum.repos.d/CentOS-Base.repo

[base]    # yum ID,基础镜像源
name=CentOS-$releasever - Base    # 具体的yum源名称
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra    # 镜像服务器的地址列表,可以包含多个地址
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/    # 镜像服务器的地址
gpgcheck=1    # 是否需要验证,0表示取消验证,1表示使用公钥检验rpm的正确性
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  # gpgcheck验证的公钥,只有gpgcheck=1时对下载的rpm会进行gpg的校验,密钥时gpgkey

 

    yum源配置文件:/etc/yum.conf

[root@centos01 ~]# cat /etc/yum.conf
[main]  
cachedir=/var/cache/yum/$basearch/$releasever  # yum下载的RPM包的缓存目录
keepcache=0    # 缓存示符保存,1保存,0不保存
debuglevel=2    # 调试级别(0-10),默认为2
logfile=/var/log/yum.log    # yum的日志文件所在的位置
exactarch=1      # 更新的时候,是否运行更新不同版本的RPM包
obsoletes=1      # 是否运行更新陈旧的RPM包
gpgcheck=1      # 是否检查密钥的签名
plugins=1       # 是否运行使用插件
installonly_limit=5    # 运行保留多少个内核包
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release  # bug追踪镜像源地址

 

三、如何优化yum基础镜像源(以阿里云为例)

  第一步:打开阿里镜像源网站

     https://developer.aliyun.com/mirror/

  第二步:选择CentOS

  第三步:配置方法(2.下载最新的Centos-Base.repo)

        curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

 

四、如何优化yum扩展镜像源(主要是跟Base镜像源进行互补,解决软件不够丰富的问题) 

  第一步:打开阿里镜像源网站

     https://developer.aliyun.com/mirror/

  第二步:选择EPEL

  第三步:选择扩展源 

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    

五、yum源常用命令 yum --help

   1. 软件安装  yum install -y

   2. 软件更新  yum update

   3. 软件检查  yum list

   4. 软件卸载  yum remove(强烈不建议使用)

   5. 清除缓存  yum clean 

   6. 检查某个软件是哪个大礼包提供的?  yum provides

  

posted on   天涯共此良辰时  阅读(322)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示