• 【Linux精讲系列】——yum软件包管理


    作者主页

    📚lovewold少个r博客主页

       ⚠️本文重点Linux系统软件包管理工具yum讲解

    😄每日一言:踏向彼岸的每一步,都是到达彼岸本身。

    目录

    前言

     Linux系统下的软件下载方式

    yum

    查看软件包

    如何安装软件

    如何卸载软件

    yum下载源

    更换yum源(以阿里云为例)

    下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

    运行 yum makecache 生成缓存

    总结


    前言

            无论是使用Windows还是使用安卓手机,我们的生活越来越方便离不开软件的支持。在Windows中,我们能通过软件商店或者各种各样的平台下载想要的软件来支撑自己更加舒服的使用电脑。而软件商店的出现,起一个中间管理的身份,处于客户端和服务商之间的一个平台。对于每一个使用自家设备的用户,要想保证用户体验就得避免垃圾软件和捆绑下载。

            相比较通过第三方下载的无保障,各家的软件商店起到一个分类集合以及甄别的过程,特别是对于p2p下载方式的软件。自带各家产品经理跑到用户电脑进行捆绑安装,这种流氓行为只会引起用户的投诉,要想保证软件的合理安装,各家的软件商店就得保障软件的安全可靠问题。而yum也就是Linux系统的软件管理工具。

     Linux系统下的软件下载方式

            对于一款系统,支持软件生态是必须的,Linux系统下也可以安装软件。

            一种方式是下载程序的源代码,自行编译,得到可执行程序。但是这种方式是有极大的风险的,源代码虽然可以观察,但是也可能留各种bug漏洞引起系统问题。同时对于使用者来讲,需要自行编译,这种方式是非常复杂的。

            于是有人就把一些常用的软件提前编译好,做成软件包,放在一个服务器上,通过包管理器可以很方便的获取到这个已经编译好的软件直接安装。

             yum (Yellow dog Updater,Modified) 是Linux系统下一种非常常用的包管理器,主要应用在Fedora,RedHat,Centos等发行版上。

            基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

             yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

    yum

    查看软件包

    使用yum所有操作之前,首先要保证主机或者虚拟机网络畅通。

    通过 ping 指令验证网络是否联通。

    ping www.baidu.cow

    通过 yum list 命令可以罗列当前一共有哪些软件包,由于包的数目非常多,我们需要使用 grep 命令罗列我们关注的包,例如:

    yum list | grep lrzsz

    结果如下:

    显示结果的软件信息展示主要包含以下内容:

    • 软件包名称.主版本号.次版本号.源代码发行号-软件包的发行号.主机平台.cup架构
    • "x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统的安装包,选择软件包的时候要与系统匹配。
    • "el7"表示操作系统的版本,"el7"表示的是centos7/redhat7,"el6"表示centos6/redhat6。
    • 最后一列,@os表示的是"软件源"的名称,类似于"小米应用商店","华为应用商店"这样的概念。

    如何安装软件

    通过yum,我们通过一条很简单的命令完成sl的安装。

    sudo yum install sl

    结果如下:

    接着系统会确定是否安装,输入y确定安装即可。

    出现Complete!就表示安装成功

    注意事项

    •         安装软件一般需要向系统目录写入文件,因此权限上需要使用sudo指令或者切换到root账户下才能完成。
    •         yum安装软件只能安装完一个后再安装另一个,如果安装过程中尝试安装另一个yum会报错

    如何卸载软件

    sl为卸载软件名,我这里卸载的是sl软件。

    sudo yum remove sl

    yum下载源

            下载软件除了指定的部分来源,还有很多下载的地方。好比去商店买水,不是每一家都买的有一块钱的矿泉水,而yum的下载源也不止一个。

            我们知道Linux作为一个开源平台,维护和大部分系统贡献者是国外的程序员。大部分软件都是国外程序员写的,因此我们不一定能访问到他们发布的软件源。同时CentOS自带yum仓库源网址是国外的网址,所以从国内下载国外网址的rpm包有时候会很慢或者无法下载,这时可以更换国内的yum仓库源来解决这个问题。因此,为了避免软件下载缓慢和下载软件厂商不能访问到,国内将这些软件包进行集中整理,形成了不同的下载源。

    国外的yum源访问速度较慢,一般情况下建议替换成国内的免费yum源。国内提供了不少优秀的yum源,例如:

    • 搜狐开源镜像站:http://mirrors.sohu.com/
    • 网易开源镜像站:http://mirrors.163.com/
    • 中国科学技术大学:   http://mirrors.ustc.edu.cn/
    • 清华大学: http://mirrors.tuna.tsinghua.edu.cn/
    • 电子科技大学:http://ubuntu.uestc.edu.cn/

    更换yum源(以阿里云为例)

    进入/etc/yum.repos.d目录下,可以查看yum源文件。

    cd /etc/yum.repos.d
    

    结果如下:

    备份

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

    下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

    下载需要对应Linux系统版本我这里是Centos7

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

    结果如下:

    运行 yum makecache 生成缓存

    1. yum clean all
    2. yum makecache

    结果如下:


    总结

            yum(Yellowdog Updater, Modified)是一个在Linux系统中用于管理软件包的包管理工具。它通常用于基于Red Hat的发行版,如Fedora和CentOS。以下是一些常见的Yum指令及其用途的总结:

    1. 安装软件包: 用于安装指定软件包及其依赖项。

    yum install package_name
    

    2. 升级软件包:用于更新特定软件包。

     yum update package_name

    3. 升级系统中的所有软件包:用于更新系统中的所有软件包和依赖项。

    yum update

    4. 搜索软件包: 用于在仓库中搜索与关键字匹配的软件包。

    yum search keyword
    

    5. 列出已安装的软件包:用于列出系统上已安装的软件包。

    yum list installed
    

    6. 列出可用的软件包: 用于列出仓库中所有可用的软件包。

    yum list available
    

    7. 删除软件包:用于卸载指定的软件包。

    yum remove package_name
    

    8. 清理缓存:用于清理已下载的软件包文件。

    yum clean packages
    

    9. 显示软件包信息: 用于显示特定软件包的详细信息,包括版本、依赖关系等。

    yum info package_name
    

    10. 禁用或启用仓库:用于禁用或启用特定仓库,可以帮助管理软件包源。

    1. yum-config-manager --disable repository_name
    2. yum-config-manager --enable repository_name

    11. 清除所有事务:用于清除Yum事务的缓存,可以用于解决一些包管理问题。

    yum clean all
    

    12. 检查依赖关系:用于列出指定软件包的依赖关系。

    yum deplist package_name
    

            这些是一些常见的yum指令,用于在Linux系统上管理软件包。yum提供了强大的包管理功能,使您可以轻松地安装、更新和卸载软件包,并处理它们之间的依赖关系。


        作者水平有限,如有错误欢迎指正!


  • 相关阅读:
    云原生架构体系
    植物大战僵尸各种僵尸攻略
    你好,法语!A2知识点总结(2)
    性能测试分析与使用
    Java审计对比工具JaVers使用
    JS逆向实战24—— 补环境过某房地产瑞数4.0
    A1151 LCA in a Binary Tree(30分)PAT 甲级(Advanced Level) Practice(C++)满分题解【LCA+树】
    JVM 直接内存
    全国科技者工作日—为创新和未来而努力
    redis基础3——配置文件核心参数实测+RDB持久化、AOF持久化核心参数详解
  • 原文地址:https://blog.csdn.net/lovewold_/article/details/133519832