news 2026/5/9 0:41:40

CentOS vs Ubuntu

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CentOS vs Ubuntu

如果你是第一次接触 Linux,面对 CentOS 和 Ubuntu 这两个名字可能会感到困惑。别担心,这篇文章用最直白的语言,帮你搞清楚它们到底有什么区别,以及新手该选哪个。


一、它们是什么关系?

简单来说,CentOS 和 Ubuntu 都是Linux 操作系统,就像 Windows 10 和 Windows 11 都是 Windows 一样。它们都能用来办公、学习、搭建网站、运行程序,但出身不同,性格也不一样。

CentOS:来自"红帽家族"

CentOS 的全称是Community Enterprise Operating System(社区企业操作系统)。它是基于Red Hat Enterprise Linux(RHEL)改造而来的免费版本。

你可以这样理解:RHEL 是收费的企业版系统,CentOS 是社区把它"山寨"成了免费版。去掉红帽的商标,重新编译一遍,就得到了 CentOS。所以 CentOS 骨子里带着企业基因——追求稳定、不爱折腾、一用就是很多年。

Ubuntu:来自"Debian 家族"

Ubuntu 是基于Debian发展而来的,由一家叫 Canonical 的公司维护。创始人是南非的 Mark Shuttleworth,他曾是个宇航员。

Ubuntu 的理念是“让 Linux 对普通人友好”。它更注重易用性,界面漂亮,对新手的文档和帮助特别多。

一句话记住区别

  • CentOS= 企业里的老实员工,稳重可靠,不爱变
  • Ubuntu= 学校里的活跃学生,新潮友好,爱尝试新事物

二、最直观的区别:安装软件的方式不同

这是初学者最先遇到的问题。在 Windows 里,我们下载.exe文件双击安装。在 Linux 里,安装软件主要靠命令行。

CentOS 用 yum/dnf

CentOS 使用.rpm格式的软件包,管理工具叫yum(CentOS 7)或dnf(CentOS 8 以后)。

# 安装软件(以安装 nginx 为例)sudoyuminstallnginx# CentOS 7sudodnfinstallnginx# CentOS 8+# 卸载软件sudoyum remove nginxsudodnf remove nginx# 更新所有软件sudoyum updatesudodnf update# 搜索软件yum search nginx dnf search nginx

Ubuntu 用 apt

Ubuntu 使用.deb格式的软件包,管理工具叫apt

# 安装软件sudoaptinstallnginx# 卸载软件(保留配置文件)sudoaptremove nginx# 卸载软件(连配置文件一起删)sudoaptpurge nginx# 更新软件列表(先做这个,再升级)sudoaptupdate# 升级已安装的软件sudoaptupgrade# 搜索软件aptsearch nginx

对比表:常用命令速查

你想做什么CentOSUbuntu
安装软件sudo yum install 软件名sudo apt install 软件名
卸载软件sudo yum remove 软件名sudo apt remove 软件名
更新软件列表sudo yum check-updatesudo apt update
升级所有软件sudo yum updatesudo apt upgrade
搜索软件yum search 关键词apt search 关键词

新手提示:记住yum对应 CentOS,apt对应 Ubuntu。就像记住"苹果手机的充电线不能给安卓用"一样简单。


三、界面差异:一个默认没图形,一个默认有图形

CentOS:默认是黑屏命令行

当你安装完 CentOS,开机后很可能看到的是一个黑黑的命令行界面,只有光标在闪。这是因为 CentOS 主要面向服务器,默认不安装图形界面。

如果你想用图形界面,需要手动安装:

# 安装 GNOME 桌面sudoyum groupinstall"GNOME Desktop"# 设置开机启动图形界面sudosystemctl set-default graphical.target

Ubuntu:默认就是漂亮的桌面

Ubuntu 桌面版安装完后,直接就是一个漂亮的图形界面,有开始菜单、任务栏、文件管理器,跟 Windows 很像。对新手非常友好,插上鼠标就能用。

当然,Ubuntu 也有服务器版(Server 版),那个默认也是命令行,适合装在没有显示器的机器上。


四、配置文件放的地方不一样

这是让很多初学者头疼的问题。同样的功能,两个系统的配置文件路径可能完全不同。

网络配置

项目CentOSUbuntu
配置文件位置/etc/sysconfig/network-scripts/ifcfg-eth0/etc/netplan/01-netcfg.yaml
重启网络sudo systemctl restart networksudo netplan apply

CentOS 的网络配置长这样

# 编辑网卡配置sudovi/etc/sysconfig/network-scripts/ifcfg-eth0# 内容示例:TYPE=EthernetBOOTPROTO=staticIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1ONBOOT=yes

Ubuntu 的网络配置长这样(20.04 以后):

# 编辑网络配置sudovi/etc/netplan/01-netcfg.yaml# 内容示例:network: version:2ethernets: eth0: dhcp4: no addresses: -192.168.1.100/24 gateway4:192.168.1.1 nameservers: addresses:[8.8.8.8]

新手提示:Ubuntu 的 Netplan 用 YAML 格式,要注意缩进(空格不能错),否则配置会失效。


五、防火墙设置不同

CentOS 用 firewalld

# 启动防火墙sudosystemctl start firewalld# 开机自启sudosystemctlenablefirewalld# 开放 80 端口(网页服务)sudofirewall-cmd--permanent--add-port=80/tcpsudofirewall-cmd--reload# 查看已开放的端口sudofirewall-cmd --list-all

Ubuntu 用 ufw(更简单)

# 启用防火墙sudoufwenable# 开放 80 端口sudoufw allow80/tcp# 查看状态sudoufw status# 关闭防火墙sudoufw disable

对比:ufw 的命令明显更短更简单,适合新手快速上手。firewalld 功能更强大,但命令也更复杂。


六、同样的软件,名字可能不一样

这是最坑人的地方。你按照教程操作,发现服务启动不了,很可能是因为软件名字不同

软件功能CentOS 里的名字Ubuntu 里的名字
Apache 网页服务器httpdapache2
MySQL 数据库mysqldmysql
网络服务networknetworking

示例:启动 Apache 服务

# CentOSsudosystemctl start httpdsudosystemctlenablehttpd# Ubuntusudosystemctl start apache2sudosystemctlenableapache2

新手提示:如果教程里用的命令在你的系统上报错,先检查一下软件名字是不是不一样。


七、安全机制:SELinux vs AppArmor

这是两个系统的"保安系统",但工作方式不同。

CentOS 用 SELinux

SELinux 是Security-Enhanced Linux的缩写,功能非常强大,但也比较复杂。它会给每个文件和程序打上"标签",严格限制谁能访问什么。

常见问题:你明明给了文件 777 权限,程序还是无法访问。这很可能是 SELinux 在阻止。

# 查看 SELinux 状态getenforce# 临时关闭(重启后恢复)sudosetenforce0# 永久关闭(需要编辑配置文件)sudovi/etc/selinux/config# 将 SELINUX=enforcing 改为 SELINUX=disabled

Ubuntu 用 AppArmor

AppArmor 相对简单,基于文件路径来限制程序行为。默认开启,但规则比较宽松,一般不会给新手造成困扰。

# 查看 AppArmor 状态sudoaa-status

新手建议:如果你刚学 Linux,Ubuntu 的 AppArmor 更省心。CentOS 的 SELinux 虽然更安全,但配置不当会导致各种奇怪问题。


八、发布周期:多久更新一次?

项目CentOSUbuntu
新版本间隔2-3 年6 个月(常规版)/ 2 年(LTS 版)
支持周期10 年9 个月(常规版)/ 5 年(LTS 版)
软件版本较旧但稳定较新

解释

  • CentOS 像老式诺基亚手机,系统更新慢,但稳定耐用
  • Ubuntu 像智能手机,经常更新,功能新鲜,但偶尔会有小毛病

建议:如果是学习用,装 Ubuntu LTS 版本(如 22.04 LTS、24.04 LTS),既能体验新功能,又有长期支持。


九、新手该选哪个?

选 Ubuntu,如果你:

  • 第一次学 Linux,想要图形界面和友好的体验
  • 想快速搭建开发环境(Python、Node.js 等)
  • 喜欢看丰富的中文教程和社区讨论
  • 打算做个人网站、学习编程

选 CentOS/Rocky/AlmaLinux,如果你:

  • 公司要求用 RHEL 兼容的系统
  • 需要运行特定的企业软件(如某些财务软件只支持 RHEL)
  • 追求极致稳定,系统装好后几年不想动
  • 打算考 Linux 运维认证(如 RHCE)

特别提醒:传统 CentOS 已经停止更新,新项目建议选Rocky LinuxAlmaLinux作为替代,它们和 CentOS 几乎一样。


十、总结:一张表看懂所有区别

对比项CentOS/RHEL 系Ubuntu
出身基于 Red Hat基于 Debian
安装软件yum install/dnf installapt install
软件包格式.rpm.deb
默认界面命令行(无图形)图形桌面
防火墙firewalldufw
安全模块SELinuxAppArmor
Apache 服务名httpdapache2
网络配置/etc/sysconfig/network-scripts//etc/netplan/
更新频率慢(稳定优先)快(功能优先)
适合人群企业运维、服务器管理员开发者、初学者

写在最后

学 Linux 就像学开车,CentOS 和 Ubuntu 只是两个不同品牌的汽车。一个像稳重的大货车,一个像灵活的小轿车。先选一个上手,把基础打牢,另一个自然就能融会贯通

对初学者来说,Ubuntu 的门槛更低,资料更多,建议从这里开始。等熟悉了 Linux 的基本操作,再去接触 CentOS/Rocky Linux 也不迟。

记住:重要的不是选哪个系统,而是开始动手实践。装个虚拟机,敲敲命令,遇到问题查资料解决,这才是学习 Linux 的正确姿势。

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

AI智能体可观测性实践:从数据采集到应用优化的全链路设计

1. 项目概述:从“f/agentlytics”看智能体分析与监控的兴起最近在社区里看到一个项目叫“f/agentlytics”,这个名字很有意思,它把“Agent”(智能体)和“Analytics”(分析)结合在了一起。作为一个…

作者头像 李华
网站建设 2026/5/9 0:27:55

如何用SQL统计每组的平均值同时显示原行_OVER子句

用AVG() OVER(PARTITION BY ...)可在每行显示所属分组的静态平均值,不减少行数;必须显式指定PARTITION BY,避免误用GROUP BY或漏写导致全表平均、行数丢失或动态窗口。用 AVG() OVER() 同时显示原行和组内平均值想在每行旁边附上它所属分组的…

作者头像 李华
网站建设 2026/5/9 0:22:26

YOLO系列语义分割下采样改进:全网首发--使用 V7DownSampling 改进 YOLOv7双分支下采样 ✨

1. 工程简介 🚀 本工程基于 Ultralytics 框架扩展,面向语义分割与 YOLO 系列模型改进实验。核心特点是通过切换 yaml 配置文件,即可快速完成不同网络结构的训练、对比与验证,无需为每个模型单独编写训练脚本。 当前已支持的主要模型家族 🧩 语义分割模型:UNet、UNet+…

作者头像 李华
网站建设 2026/5/8 23:56:24

ARM7TDMI处理器架构与Thumb指令集详解

1. ARM7TDMI处理器架构概览ARM7TDMI是ARMv4T架构的经典实现,作为32位RISC处理器,它采用了冯诺依曼架构(指令和数据共用总线)。这款处理器在嵌入式系统领域具有里程碑意义,其最大特色是引入了Thumb指令集,通…

作者头像 李华
网站建设 2026/5/8 23:54:42

如何高效阅读c语言函数(形成线思维和面思维)

最近,我在阅读linux内核源码,由于代码量太大了,有成百个源文件,源文件中有成千上万的函数,我本来的计划是对每一个源文件中的函数自上而下粗略读一遍(不会跳转到子函数中去看子函数是如何实现的&#xff09…

作者头像 李华