【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 操作,不能同时装两个软件,会报锁冲突。

相关推荐
leisoo80973 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
爱喝水的鱼丶4 小时前
SAP-ABAP:接口与报表场景专项优化:RFC/ODATA 接口、ALV 报表的性能提升方案
运维·性能优化·接口·sap·abap·rfc·经验交流
青瓦梦滋4 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
ltl5 小时前
机密计算:SGX、SEV-SNP、TDX 与 ARM CCA
linux
ltl5 小时前
互联与网络:NVLink、InfiniBand、RoCE 与国产替代
linux
码上上班5 小时前
tengine知识点
linux·服务器·centos
画中有画5 小时前
自动化脚本开发最佳实践
运维·自动化
雾时之林7 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
江南风月7 小时前
如何使用WGCLOUD实现智能运维
运维·zabbix·运维开发·prometheus
xiaoxiangsiyan8 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础