news 2026/4/22 7:14:02

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/4/15 15:30:05

焊缝跟踪 abb机器人二次开发 上位机由C#+halcon联合编程 提供源码讲解

焊缝跟踪 abb机器人二次开发 上位机由C#+halcon联合编程 提供源码讲解,abb编程及通讯、工业相机标定、halcon图像处理、C#与halcon联合编程等 系统架构与设计理念 本系统是一个高度集成的工业自动化解决方案,采用C# WinForms作为前端界面框…

作者头像 李华
网站建设 2026/4/18 17:43:10

Golang高性能轻量博客程序源码

极速部署,拥抱主题插件化你是否厌倦了臃肿、复杂的博客系统?是否希望拥有一个启动如闪电、资源占用极小,同时又保持足够灵活性的个人写作空间?今天,我们向所有追求极致效率和简洁的开发者、博主推荐一款基于 Go 语言开…

作者头像 李华
网站建设 2026/4/20 21:34:45

互联网大厂Java面试实战:从Spring Boot到Kafka的技术与业务场景解析

面试场景介绍 在当前互联网大厂的Java岗位面试中,面试官通常会结合具体业务场景,深入考察应聘者对核心技术栈的理解和应用能力。本文通过一个音视频场景的模拟面试,展示面试官与应聘者谢飞机的互动,帮助读者系统学习相关技术。第一…

作者头像 李华
网站建设 2026/4/15 17:47:24

基于java的会议室预约系统的设计与实现-开题报告

目录项目背景研究意义系统功能模块技术选型预期成果创新点实施计划项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作项目背景 会议室预约系统是现代化企业或机构中常见的办公工具,旨在优化会议室…

作者头像 李华
网站建设 2026/4/18 3:39:33

基于Java的排队预约系统的设计与实现开题报告

目录 系统背景与需求技术选型核心功能模块系统设计要点预期成果创新点 项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 系统背景与需求 排队预约系统在医疗、餐饮、政务等场景中应用广泛,传统…

作者头像 李华