news 2026/6/10 17:33:13

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/6/10 11:36:51

12306抢票软件(自动抢票、定时抢票、自动支付、自动候补)

> 🔗 工具下载链接:https://pan.quark.cn/s/2cf056264d8e每逢节假日,抢票成为许多人头疼的问题。手动操作不仅耗时耗力,还常常因网络延迟、页面卡顿而错失良机。为解决这一痛点,我们分享一款功能强大的 12306 自动抢…

作者头像 李华
网站建设 2026/6/10 11:45:51

基于Java的毕业生就业管理系统的设计与实现--开题报告

目录 研究背景与意义系统目标关键技术功能模块设计创新点预期成果实施计划 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 研究背景与意义 随着高校毕业生数量逐年增加,就业管理面临数据量大…

作者头像 李华
网站建设 2026/6/10 11:45:54

容器编排 - 了解K8s(pod, deployment,service,lable等概念)

文章目录1. K8s核心概念pod介绍:Side car模式:deployment - 监控pod状态健康检查机制 - 探针(LivenessReadness)service - 网络请求配置Lable - 标签 (k8s调度策略)容器编排体系介绍总结✨✨✨学习的道路很枯燥,希望我…

作者头像 李华
网站建设 2026/5/31 14:00:29

智能AI色选机如何提升食品加工效率与品质

在农业范畴之内,食品加工相关领域里边,智能AI色选机愈发一步步正在变成提升生产效率以及产品品质方面那关键的设备。这种类型的设备借着集成先进的,光学成像系统,还有高灵敏度传感器,以及强大的图像处理算法&#xff0…

作者头像 李华
网站建设 2026/6/9 17:17:50

人工智能其实没那么玄乎:看完这篇你就全懂了

人工智能其实没那么玄乎:看完这篇你就全懂了 人工智能(AI)这个词现在火得不行,新闻里、手机上、生活中到处都能听到。但它到底是个啥?跟我们普通人有啥关系?今天就用大白话给你唠唠清楚,保证你…

作者头像 李华
网站建设 2026/6/10 11:45:54

Flutter艺术探索-Flutter在鸿蒙端运行原理:OpenHarmony平台集成

Flutter在鸿蒙端运行原理:OpenHarmony平台集成深度解析 引言:当Flutter遇见OpenHarmony OpenHarmony的崛起为开发者带来了新的生态选择,同时也抛出了一个现实问题:我们已有的跨平台技术,能否以及如何融入这个新环境&…

作者头像 李华