一文搞懂 Linux 里的 yum:像用手机应用商店一样装软件
一、先搞清楚:yum 到底是个啥?
在 Linux 里装软件,不是像 Windows 那样点“下一步”就行,以前主要有三种方式:
- 源代码安装:得自己编译,步骤多还容易出错,新手劝退;
- rpm 包安装:虽然是现成的安装包,但缺了“依赖”就装不了(比如装个播放器,可能得先装解码库);
- 包管理器安装:这就是 yum(还有 Ubuntu 里的 apt),相当于 Linux 自带的“应用商店”,推荐新手直接用!
为啥说 yum 像“应用商店”?
你手机上的应用商店,能搜应用、下应用、自动装;yum 也一样——它能连到远程的“软件仓库服务器”,帮你找软件、下软件,还能自动解决依赖问题。
就像这张图里展示的,你不用管软件存在哪、需要啥辅助文件,yum 全帮你搞定:
而且它不止能装软件,卸载、更新、处理依赖(比如 A 软件需要 B 库,yum 会自动把 B 也装上)这些麻烦事,全给你包了:
二、插个知识点:为啥不同 Linux 系统,yum 体验不一样?
其实核心是“操作系统生态”的问题,咱用大白话讲:
- 要是一个系统没人用,开发者就不想给它做软件,没人维护、没人修 bug,遇到问题连个交流的社区都没有——这就是“生态差”;
- 反之,“好系统”一定是生态好的:用的人多、软件全、有问题能查到解决方案、官方更新也及时。
像 CentOS、Ubuntu、Kali 这三种常见 Linux,差别就在于生态:
- CentOS 稳定,服务器上用得多;
- Ubuntu 对新手友好,桌面版做得好;
- Kali 专门用来做安全测试,自带一堆黑客工具。
它们的生态不一样,能装的软件、用的包管理器(CentOS 用 yum,Ubuntu 用 apt)也不一样,看这张图就懂了:
再深一点:为啥要有“软件仓库服务器”?
开发者想让自己的系统火起来,就得搭“软件仓库”——相当于给用户建了个“软件超市”,你能随时来挑软件。这个流程本身就是生态的一部分:
这里还得提一句“开源”:开源不是“免费做慈善”,而是一种商业模式。比如一个开源项目用的企业多了,万一项目快没钱维护了,发个声明说“快撑不住了”,企业为了不影响自己的业务,就会主动打钱支持——毕竟项目倒了,自己的系统可能也会出问题。
![[…/…/…/…/…/attchment/Pasted image 20250812210747.png]]
三、yum 怎么找到软件仓库?
你可能会问:yum 怎么知道该连哪个服务器下软件?答案是“配置文件”。
Linux 里有专门给 yum 用的配置文件,存着软件仓库的网址(URL)。而且国内的云服务器(比如阿里云、华为云),会把国外的仓库“拷贝”一份到国内(这叫“镜像”),这样你下软件会更快——不用跨洋传输了。
看这张图,配置文件里已经帮你写好国内镜像的地址了:
再强调下 yum 的核心优势——自动解决依赖。比如你要装软件 A,A 需要依赖库 B 和 C,yum 会自动把 B、C 也一起下载安装,不用你手动找:
四、常用 yum 命令:装软件、卸软件全靠它
下面是最常用的几个命令,记熟就行,全是大白话操作。
1. 查看能装哪些软件:yum list
想知道仓库里有啥软件,输这个命令就能列出所有可安装的软件:
yum list
2. 安装软件:yum install
比如我想装一个叫 sl
的趣味软件(运行后会有小火车在终端跑),直接输命令就行。但要注意:Linux 里装软件需要管理员权限,所以得加 sudo
(或者用 root 账号),不然会报错。
看这张图,直接输 yum install sl
会提示“权限不够”:
正确的命令应该是加 sudo
:
# 普通用户用这个,会提示输密码
sudo yum install sl
# 要是已经是 root 账号,直接输
yum install sl
另外,装软件时系统会问你“确定要装吗(y/n)”,要是不想手动输 y,可以加 -y
参数,让它自动确认:
sudo yum install sl -y
还有个小知识点:用 root 装的软件,所有用户都能用——因为 root 是系统管理员,装的软件是全局的。
3. 卸载软件:yum remove
不想用某个软件了,用 yum remove
卸载,同样需要权限,也能加 -y
自动确认:
# 卸载 sl 软件,加 -y 不弹窗确认
sudo yum remove sl -y
看这张图,就是卸载时的界面:
如果遇到 yum 进程卡住的情况,还可以用 killall yum
强制关掉进程:
killall yum
五、yum 配置文件在哪?带你找“软件源”
刚才说的“软件仓库地址”,都存在“安装源配置文件”里,路径是 /etc/yum.repos.d/
。用 Xshell 连接服务器后,输命令就能进到这个目录:
cd /etc/yum.repos.d/
看这张图,这个目录里存的全是 yum 的配置文件:
最核心的配置文件:CentOS-Base.repo
里面最基础的是 CentOS-Base.repo
,这个文件定义了系统默认的软件源。用 cat
命令能查看文件内容:
cat CentOS-Base.repo
打开后会看到三类源:
base
:基础软件源,存着最常用的软件;update
:更新源,存着软件的更新包;extra
:额外源,存着一些扩展软件。
而且你能看到,里面的 URL 是阿里云的镜像地址(国内用着快):
不同云服务器的默认源不一样,比如这张图是华为云的,URL 就变成了华为云的镜像:
软件源分两类:稳定源和扩展源
- 稳定源:就是刚才说的
base
/update
/extra
,里面的软件经过测试,比较稳定; - 扩展源:最常用的是
epel
(Extra Packages for Enterprise Linux),里面有很多官方源里没有的软件(比如一些好玩的工具、新出的软件)。
看这张图,装了 epel 源后,就能看到更多可安装的软件了:
怎么切换/添加软件源?
本质就是“改配置文件”,最常用的方式是用 wget
命令下载新的配置文件(比如下载 epel 源):
# 下载 epel 扩展源的配置文件(以阿里云的 epel 源为例)
wget https://mirrors.aliyun.com/repo/epel-7.repo
执行命令后,会看到下载过程:
下载完成后,新的配置文件会出现在 /etc/yum.repos.d/
目录里:
之后再用 yum install
就能装 epel 源里的软件了,比如装个 htop
(比系统自带的 top
更好用的进程管理工具):
sudo yum install htop -y
简单说:装了扩展源,你能用的 Linux 工具就更多了,玩起来也更有意思~
- 点赞
- 收藏
- 关注作者
评论(0)