Linux软件包管理器yum

跳动的bit 发表于 2022/06/15 23:03:23 2022/06/15
【摘要】 一、Linux软件包管理器yum 💦 什么是软件包在 Linux 下安装软件,一个通常的办法是下载到程序的源代码,进行编译,得到可执行程序但是这样太麻烦了,于是有些人把一些常用的软件编译好,做成软件包(可以理解成 windows 上的安装程序)放在服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装软件包和软件包管理器,就好比 ”APP" 和 “应用商店” 这样的关系...

一、Linux软件包管理器yum

💦 什么是软件包

  • 在 Linux 下安装软件,一个通常的办法是下载到程序的源代码,进行编译,得到可执行程序
  • 但是这样太麻烦了,于是有些人把一些常用的软件编译好,做成软件包(可以理解成 windows 上的安装程序)放在服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装
  • 软件包和软件包管理器,就好比 ”APP" 和 “应用商店” 这样的关系
  • yum(Yellow dog Updater, Modified)是 Linux 下非常常用的一种包管理器,主要应用在 Fedora、RedHat、Centos 等发行版上,yum 除了查找、安装、卸载,还可以解决依赖关系,后面再说

💦 如何安装软件

通过 yum 我们可以通过一条很简单的命令安装 lrzsz

sudo yum install -y lrzsz

-y 表示有关于这次安装的问题不用请求我的同意,出现 “complete" 字样,说明安装完成。

⚠ 注意

  • 安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切换到 root 帐户下才能完成
  • yum 安装软件只能一个装完了再装另一个,正在 yum 安装一个软件的过程中,如果再尝试 yum 安装另一个软件,yum 会报错
  • 如果 yum 报错,请自行百度

💦 如何卸载软件

仍然是一条命令:

sudo yum remove -y lrzsz

-y 表示有关于这次卸载的问题不用请求我的同意,出现 “complete" 字样,说明卸载完成。

💦 关于rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 xshell 传输文件,安装完毕之后输入 rz 命令后可以通过拖拽的方式将文件上传。
在这里插入图片描述

💦 注意事项

  1. 关于 yum 的所有操作必须保证主机(虚拟机)网络畅通,可以通过 ping 指令验证(当然云服务器的话就可忽略了)

ping www.baidu.com

  1. yum 不能同时跑一台机器

💦 查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包,由于包的数目可能非常多,我们可以使用 grep 命令筛选到我们关注的包。

yum list | grep lrzsz

结果如下:
在这里插入图片描述
说明:

  • lrzsz.x86_64:软件包的名称和适合的版本
  • 0.12.20-36.el7:el7 表示操作系统发行版本 —— Centos7、RedHat7
  • @base:通常指的是这个软件的提供者是谁;
    epel 指的是它的发布发属于扩展源,对于源,稍后会说明

我们可以筛选出 sl 命令,它就属于扩展源:
在这里插入图片描述
这里安装 sl 命令后运行 sl 命令就可以看到小火车了:
请添加图片描述
Centos 7 好玩的命令:用于练手

yum 源 ❓

在这里要提一句,有很多同学玩的是虚拟机,有可能默认带的 yum 源是不满足需求的(国外的或老版本的),这时就需要手动的去更新 yum 源,yum 要安装软件,那么它是怎么知道要去哪个地方找呢 ???

这里 yum 源是在 etc 路径下:
在这里插入图片描述
yum.conf 是 yum 的主配置,这个文件尽量不要变换:
在这里插入图片描述
可以看到这里的 yum 源,而我们需要改的是 CentOS-Base.repo:
在这里插入图片描述
此时我们 vim CentOS-Base.repo,这里已经配置过了 —— 阿里云的服务
在这里插入图片描述
其中可以看到很多链接,说人话就是有了这个配置后,当你 yum 时,它会根据你的配置去找,这里我们也可以去复制链接去浏览器试试(注意这里有些链接可能失效了):
在这里插入图片描述
说了这么多,我们就来配置一下(这里可以直接百度 Centos 7 更新 yum 源):

  1. 备份

cd /etc/yum.repos.d/
mkdir repo_bak
mv *.repo repo_bak/

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

wget http://mirrors.aliyun.com/repo/Centos-7.repo

  1. yum chean all 清除缓存,运行 yum makecache 生成新的缓存

yum clean all
yum makecache

  1. 安装 EPEL(Extra Packages for Enterprise Linux) 扩展源

yum install -y epel-release

  1. 再次运行 yum clean all 清除缓存,运行 yum makecache 生成新的缓存,查看启用的 yum 源和所有的 yum 源

yum repolist enabled
yum repolist all

  1. 更新 yum

yum -y update

扩展源 ❓

CentOS-Epel.repo 就是扩展源,它一般默认是没有的,像 Base 这种 yum 源对软件的要求就是稳定、可靠、来源明确,但是这样软件更新的速度就比较慢,所以有很多软件都已经开发出来了,这些软件就放在 Epel 中,这里 Base 就像应用商城,Epel 就像浏览器。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。