【Linux】软件包管理器:Linux 的“应用商店”

刚接触 Linux 时,装软件是一件让人困惑的事。Windows 上,下载一个 exe 双击就能装;但在 Linux 上,更常见的做法是下载源码、配置、编译、安装------四个步骤,每一步都可能踩坑。直到后来理解了软件包管理器的存在,一切才豁然开朗。

目录

[1. 什么是软件包?为什么要用包管理器?](#1. 什么是软件包?为什么要用包管理器?)

[2. Linux 软件生态:为什么有人免费做这件事?](#2. Linux 软件生态:为什么有人免费做这件事?)

[3. yum / apt 的基本操作](#3. yum / apt 的基本操作)

[3.1 搜索软件包](#3.1 搜索软件包)

[3.2 安装软件](#3.2 安装软件)

[3.3 卸载软件](#3.3 卸载软件)

[3.4 安装源的位置](#3.4 安装源的位置)

[3.5 注意事项](#3.5 注意事项)


1. 什么是软件包?为什么要用包管理器?

软件包的概念其实和手机上的 App 类似。有人提前把常用的软件编译好,打包放到一个服务器上。你需要装什么,通过包管理器直接从服务器下载安装,它还会自动处理依赖关系------也就是"这个软件依赖哪个库,那个库又需要哪个版本"这套理不清的账。

  • CentOS / Red Hat 系 :使用 yum 作为包管理器。

  • Ubuntu / Debian 系 :使用 apt

两者的底层实现不同,但目标完全一致:让你用一条命令完成软件安装,而不是在源码和报错中折腾。

2. Linux 软件生态:为什么有人免费做这件事?

一个操作系统好不好用,很大程度上取决于它的软件生态。生态的背后,是无数社区开发者和镜像站维护者在支撑。你可能会问:为什么有人愿意免费提供软件、甚至搭服务器让别人下载?

在 Linux 世界里,开源文化是核心动力。很多开发者本身就是某款软件的用户,他们贡献代码、打包、维护,一来解决自己的需求,二来在社区中建立声望。企业在背后也扮演了重要角色------Red Hat、Google、阿里云等公司都需要稳定且高质量的底层软件栈,资助开源项目、搭建镜像站,是它们基础设施投资的一部分。

国内的镜像站(阿里云、清华、中科大、网易等)为中文用户提供了更快的下载速度。更换镜像源,往往是装好系统后的第一件事。

3. yum / apt 的基本操作

3.1 搜索软件包

bash

复制代码
# CentOS
yum list | grep lrzsz

# Ubuntu
apt search lrzsz

输出会显示软件包名称、版本号、架构等信息。x86_64 表示 64 位,i686 表示 32 位,必须与你的系统匹配。

3.2 安装软件

bash

复制代码
# CentOS
sudo yum install -y lrzsz

# Ubuntu
sudo apt install -y lrzsz

-y 表示自动确认,不用每次停下来等输入。安装需要向系统目录写入,因此需要 sudo 或 root 权限。

3.3 卸载软件

bash

复制代码
# CentOS
sudo yum remove lrzsz

# Ubuntu
sudo apt remove lrzsz

3.4 安装源的位置

修改软件源,本质上就是修改配置文件中的下载地址。

bash

复制代码
# CentOS 的源配置
ls /etc/yum.repos.d/

# Ubuntu 的源配置
cat /etc/apt/sources.list

云服务器通常已经预配了国内镜像源,不用手动换。虚拟机或自装的物理机可能需要自行更换。

3.5 注意事项

  • 必须保证网络畅通,可以用 ping www.baidu.com 验证。

  • 一次只能进行一个 yum/apt 操作,不能同时装两个软件,会报锁冲突。

相关推荐
唐青枫2 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计