一、先搞懂:Linux装软件有3种办法,yum最省心
咱们在Linux上装软件,不是只有“下一步下一步”,常见有3种方案,对比下来yum(或Ubuntu的apt)最推荐,像手机里的应用商店一样方便:
源代码安装:相当于拿到一堆零件,得自己拼起来(编译),步骤多还容易出错,新手慎选;
rpm包安装:像单个“安装包”,但缺了“配件”(依赖库)就装不了,得自己找配件;
yum包管理器安装:直接从“官方应用商店”(远端软件服务器)下载,自动找配件、自动装、自动卸,小白也能上手。
二、yum到底是啥?就是Linux的“应用商店”
yum本质是Linux的包管理器,核心作用就是帮咱们搞定软件的“找、下、装、卸”,还能自动解决依赖问题。
就像下面这张图里展示的,yum相当于操作系统自带的“应用商店”:咱们搜一搜,就能找到远端服务器上做好的软件,点一下就能下载到自己的服务器用,不用管后面的麻烦事。
更关键的是,yum能解决“依赖坑”——比如你想装个视频软件,它需要“解码库”才能用,yum会自动把“解码库”一起下载安装,不用你手动找。下面这张图就直观展示了它解决依赖的过程:
三、为啥说“生态好”的Linux才好用?
选Linux系统,别只看功能,生态才是关键——就像手机系统,能装的APP多、出问题有人管,才好用。
1. 啥是“生态坏”?
用的人少:开发者懒得做适配,软件更新慢;
出问题没人管:遇到bug,网上搜不到解决办法,官方也不修复;
没人交流:想找个教程、问个问题,都找不到同好。
2. 啥是“好生态”?
反过来:用的人多、软件多、更新及时、出问题能找到解决方案,官方和社区都活跃。
3. 举个例子:CentOS vs Ubuntu vs Kali
这三个系统的生态差别很大,就像下面这张图展示的:
CentOS:服务器常用,稳定,企业级软件多;
Ubuntu:桌面和服务器都能用,新手友好,软件全;
Kali:专门做渗透测试的,自带一堆黑客工具,日常用不合适。
四、为啥要有“软件包服务器”?都是为了生态
工程师想让自己的Linux系统火起来,就得搭“生态”——软件包服务器就是生态的核心之一,流程像下面这张图:
开发者把软件做好,传到官方软件包服务器;
咱们用yum从服务器下载软件;
用的人多了,更多开发者愿意做软件,生态就起来了。
这里提一句:开源不是“免费送”,而是一种商业模式。比如某个开源项目用的企业多(比如CentOS),万一项目快倒闭了,企业怕影响自己业务,就会主动给钱支持,让项目继续维护。![[../../../../../attchment/Pasted image 20250812210747.png]]
五、yum怎么找到软件?靠“配置文件”和“镜像”
咱们用yum下载软件时,它咋知道该从哪个服务器下?答案是配置文件和国内镜像。
配置文件指路:Linux里有专门给yum的配置文件,里面写着“软件服务器的网址(URL)”,yum照着这个网址找软件;
国内镜像更快:国外的服务器下载慢,国内厂商(阿里云、华为云)会把国外服务器的内容“原封不动拷贝”过来(这就是镜像),现在咱们买的云服务器,配置文件里默认都是国内镜像,下载飞快。
再强调下依赖问题:比如你装软件A,它需要依赖库B和C,yum会自动从服务器下载B和C,一起安装,不用你手动找。下面这张图就是依赖安装的过程:
六、常用yum指令:3分钟上手
yum指令很简单,记住几个常用的就行,但要注意:装软件需要“管理员权限”(root或sudo)。
1. 查看所有可安装的软件
想知道yum能装啥,用这个指令:yum list(会列出所有软件,内容很多,翻页按“空格”,退出按“q”)
2. 安装软件:sudo yum install 软件名
比如装个好玩的“小火车”软件(sl),直接输yum install sl会报错(缺权限),得加sudo提权:sudo yum install sl
如果不想让系统每次都问“是否安装(y/n)”,可以加-y参数,自动确认:sudo yum install sl -y
提示:root用户装的软件,所有用户都能用,因为是“系统级安装”。
3. 卸载软件:sudo yum remove 软件名
比如卸载刚才的sl,指令:sudo yum remove sl同样可以加-y自动确认:sudo yum remove sl -y
4. 解决yum冲突:killall yum
如果提示“yum正在运行”,用这个指令关掉占用的进程:killall yum
七、yum的“软件源”:基础源和扩展源
“软件源”就是yum找软件的“仓库”,分两种:基础源(系统自带)和扩展源(更多软件)。
1. 软件源的存放路径
所有软件源的配置文件,都在这个文件夹里:/etc/yum.repos.d/打开Xshell,输cd /etc/yum.repos.d/就能进入,像下面这张图:
2. 基础源:CentOS-Base.repo
系统自带的核心源是CentOS-Base.repo,里面分3类:
base:基础软件库;
update:软件更新库;
extra:额外基础软件库。
用cat命令能查看这个文件的内容,比如看里面的服务器地址:cat /etc/yum.repos.d/CentOS-Base.repo
下面两张图分别是阿里云和华为云的基础源地址,能看到URL里有“aliyun”或“huaweicloud”,这就是国内镜像:
3. 扩展源:epel(装更多好玩的软件)
基础源里的软件有限,想装更多工具(比如好玩的命令、实用工具),就得加“扩展源”,最常用的是epel源(Extra Packages for Enterprise Linux)。
4. 怎么切换/添加软件源?
本质就是“下载新的配置文件到软件源文件夹”,用wget命令下载epel源的配置文件(以阿里云epel为例):wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
下面这几张图就是下载和查看epel源的过程:
下载完epel源,再用yum install就能装更多好玩的软件啦(比如htop、figlet这些)!