news 2026/8/2 1:11:41

Linux软件安装终极指南:APT与YUM双雄对决

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux软件安装终极指南:APT与YUM双雄对决

前言

Linux世界的软件安装方式多样,但最核心、最高效的莫过于包管理工具。掌握apt和yum这两个主流包管理器,就能解决90%的软件安装需求。本文深度对比两大阵营的安装操作,涵盖软件搜索、安装、更新、卸载全流程,助你从安装新手蜕变为包管理专家。

一、发行版选择:先认准你的系统

关键第一步:确认你的Linux发行版

bash

查看系统信息

cat /etc/os-release

lsb_release -a
常见结果:

包含"Ubuntu"、"Debian"字样 → APT阵营

包含"CentOS"、“RHEL”、"Fedora"字样 → YUM/DNF阵营

包含"openSUSE"字样 → Zypper阵营(本文略)

二、APT阵营:Debian/Ubuntu系列

  1. 基础操作四部曲
    bash

1. 更新软件源(必须!获取最新软件列表)

sudo apt update

2. 升级已安装的软件(可选)

sudo apt upgrade

3. 搜索软件包

apt search nginx

4. 安装软件

sudo apt install nginx
2. 高级安装技巧
bash

安装特定版本

sudo apt install nginx=1.18.0-0ubuntu1

安装多个软件

sudo apt install nginx mysql-server php-fpm

重新安装(修复损坏)

sudo apt reinstall nginx

安装build-essential(编译环境)

sudo apt install build-essential
3. 管理已安装软件
bash

查看已安装软件

apt list --installed | grep nginx

查看软件详情

apt show nginx

卸载软件(保留配置文件)

sudo apt remove nginx

完全卸载(删除配置文件)

sudo apt purge nginx

自动清理无用依赖

sudo apt autoremove
4. APT源配置
配置文件位置:/etc/apt/sources.list

bash

备份原配置

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

修改源(如更换为阿里云源)

sudo sed -i ‘s/archive.ubuntu.com/mirrors.aliyun.com/g’ /etc/apt/sources.list

更新生效

sudo apt update

三、YUM/DNF阵营:CentOS/RHEL系列

  1. 基础操作流程
    bash

1. 更新缓存(类似apt update)

sudo yum check-update

2. 搜索软件

yum search nginx

3. 安装软件

sudo yum install nginx

4. 查看已安装

yum list installed | grep nginx
2. DNF:YUM的下一代
CentOS 8/RHEL 8/Fedora默认使用DNF,语法兼容YUM但性能更优:

bash

基础操作(将yum替换为dnf即可)

sudo dnf update
sudo dnf install nginx
sudo dnf remove nginx
3. 特殊功能对比APT
bash

查看哪个软件包提供某个命令

yum provides /usr/bin/nginx

查看软件包依赖树

yum deplist nginx

安装开发工具组

sudo yum groupinstall “Development Tools”

启用EPEL仓库(额外软件源)

sudo yum install epel-release
4. RPM包的直接安装
bash

下载RPM包并安装

wget https://example.com/package.rpm
sudo rpm -ivh package.rpm # 安装
sudo rpm -e package # 卸载

使用YUM安装本地RPM(自动解决依赖)

sudo yum localinstall package.rpm

四、实战对比:安装Nginx全流程

Ubuntu (APT) 方式
bash

1. 更新源

sudo apt update

2. 安装Nginx

sudo apt install nginx

3. 启动服务

sudo systemctl start nginx

4. 设置开机自启

sudo systemctl enable nginx

5. 验证安装

nginx -v
CentOS (YUM) 方式
bash

1. 添加EPEL仓库(Nginx在EPEL中)

sudo yum install epel-release

2. 更新缓存

sudo yum check-update

3. 安装Nginx

sudo yum install nginx

4. 启动服务

sudo systemctl start nginx

5. 设置开机自启

sudo systemctl enable nginx

6. 防火墙放行80端口

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

五、故障排除与技巧

  1. 常见错误解决
    bash

错误1:找不到软件包

解决:更新软件源缓存

sudo apt update # Ubuntu
sudo yum check-update # CentOS

错误2:依赖冲突

解决:尝试修复依赖

sudo apt --fix-broken install # Ubuntu
sudo yum clean all && sudo yum update # CentOS

错误3:公钥验证失败

解决:导入缺失的GPG密钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 缺失的KEY
2. 跨发行版命令对照表
操作 Ubuntu/Debian (APT) CentOS/RHEL (YUM)
更新源 sudo apt update sudo yum check-update
安装软件 sudo apt install 包名 sudo yum install 包名
卸载软件 sudo apt remove 包名 sudo yum remove 包名
搜索软件 apt search 关键词 yum search 关键词
列出已安装 apt list --installed yum list installed
查看详情 apt show 包名 yum info 包名
清理缓存 sudo apt clean sudo yum clean all

六、进阶:其他安装方式

  1. 源码编译安装(通用但复杂)
    bash

典型流程

wget https://example.com/software.tar.gz
tar -zxvf software.tar.gz
cd software/
./configure
make
sudo make install
2. Snap通用包(Ubuntu特色)
bash

安装Snapd

sudo apt install snapd

通过Snap安装软件

sudo snap install vscode --classic
3. AppImage(跨发行版)
bash

下载后直接赋予执行权限

chmod +x software.AppImage
./software.AppImage

七、最佳实践总结

优先使用官方包管理器:APT/YUM能自动处理依赖,最安全稳定

保持系统更新:定期执行sudo apt update && sudo apt upgrade或sudo yum update

谨慎添加第三方源:只信任知名仓库,避免系统不稳定

生产环境固定版本:使用apt install 包名=版本号锁定特定版本

记录安装操作:维护安装脚本或文档,便于重现环境

一句话选择指南:

个人/桌面用户 → Ubuntu + APT,生态丰富易用

服务器/企业用户 → CentOS/RHEL + YUM,稳定可靠

追求新技术 → Fedora + DNF,前沿但可能不够稳定

掌握这两大包管理器的核心操作,你就能在Linux世界自由安装任何软件。记住:90%的安装问题,都能通过更新软件源和阅读错误信息解决。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 12:55:30

基于Java的二手物品交易系统 开题报告(15)

目录 项目背景与意义系统功能模块技术选型创新点预期成果 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 项目背景与意义 随着电商和共享经济的发展,二手物品交易需求显著增长。基于Java的二…

作者头像 李华
网站建设 2026/7/31 6:32:48

用于管理和协调多个进程:用于Docker容器的Supervisor配置文件

用于管理和协调多个进程:用于Docker容器的Supervisor配置文件 文章目录 用于管理和协调多个进程:用于Docker容器的Supervisor配置文件一、Supervisor基础配置1. **UNIX Socket服务器配置**2. **Supervisor主进程配置** 二、服务进程配置(按启…

作者头像 李华
网站建设 2026/7/31 7:56:13

VisionPro视觉检测软件之打包成安装包

VisionPro视觉检测软件之打包成安装包 WinForm之打包项目为安装包 https://www.zamzar.com/ 第一步:右击解决方案,建立新项目(setup) 第二步:右击Application Folder选择Add,之后选择选择项目输出 第三步&…

作者头像 李华
网站建设 2026/7/31 7:27:32

【AI大模型舆情分析】微博舆情分析可视化系统(pytorch2+基于BERT大模型训练微调+flask+pandas+echarts) 实战(上)

大家好,我是锋哥。最近发布一条【AI大模型舆情分析】微博舆情分析可视化系统(pytorch2基于BERT大模型训练微调flaskpandasecharts)高级实战。分上下节。 实战简介: 前面的2026版【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpanda…

作者头像 李华
网站建设 2026/7/17 16:44:08

如何搜集图片?超实用功能必看!

🙋相册开启了多人上传,不知道图片是谁上传的,能否在上传前让上传人填个表单,好让管理员知道是谁上传的图片?👉支持的上传前表单填写:访客上传相册内容前,需要填写表单信息「可用于收…

作者头像 李华
网站建设 2026/8/1 19:00:37

安卓开发工程师核心能力体系深度解析与面试指南

华东计算技术研究所(中国电子科技集团公司第三十二研究所)安卓开发工程师 职位信息 岗位职责: 1.参与项目需求分析,进行APP相关的设计、开发、调试等; 2.按需求完成界面、逻辑功能、网络通信等设计; 3.配合其他开发人员、测试人员,完成产品设计和发布; 4.编写相关开发文…

作者头像 李华