Ubuntu与CentOS操作指令的主要区别详解
前言
Ubuntu和CentOS作为Linux系统中两个最流行的发行版,在企业服务器和个人开发环境中都得到了广泛应用。虽然它们都基于Linux内核,但由于源自不同的发行版家族(Ubuntu基于Debian,CentOS基于Red Hat),在操作指令和系统管理方式上存在一些显著差异。本文将详细对比这两个系统在常用操作指令上的区别,帮助开发者和管理员快速适应不同环境。
一、包管理工具差异
1. 包管理系统
Ubuntu (Debian系):
-
使用
apt
(Advanced Package Tool)或apt-get
作为包管理工具 -
包格式为
.deb
-
主要配置文件位于
/etc/apt/
目录下
CentOS (Red Hat系):
-
使用
yum
(Yellowdog Updater Modified)或dnf
(CentOS 8+)作为包管理工具 -
包格式为
.rpm
-
主要配置文件位于
/etc/yum.repos.d/
目录下
2. 常用包管理命令对比
操作 | Ubuntu/Debian (apt) | CentOS/RHEL (yum/dnf) |
---|---|---|
更新软件包列表 | sudo apt update | sudo yum check-update |
安装软件包 | sudo apt install package_name | sudo yum install package_name |
移除软件包 | sudo apt remove package_name | sudo yum remove package_name |
搜索软件包 | apt search keyword | yum search keyword |
查看软件包信息 | apt show package_name | yum info package_name |
升级所有软件包 | sudo apt upgrade | sudo yum update |
清理缓存 | sudo apt clean | sudo yum clean all |
二、服务管理差异
1. 服务管理工具
Ubuntu:
-
较新版本使用
systemd
,命令为systemctl
-
旧版本可能使用
service
命令
CentOS:
-
CentOS 7+使用
systemd
-
CentOS 6及更早版本使用
service
和chkconfig
2. 服务管理命令对比
操作 | Ubuntu (systemd) | CentOS (systemd) |
---|---|---|
启动服务 | sudo systemctl start service | sudo systemctl start service |
停止服务 | sudo systemctl stop service | sudo systemctl stop service |
重启服务 | sudo systemctl restart service | sudo systemctl restart service |
查看服务状态 | systemctl status service | systemctl status service |
启用开机启动 | systemctl enable service | systemctl enable service |
禁用开机启动 | systemctl disable service | systemctl disable service |
三、网络配置差异
1. 网络配置文件
Ubuntu:
-
网络配置文件通常位于
/etc/netplan/
(新版本)或/etc/network/interfaces
(旧版本) -
主机名配置文件:
/etc/hostname
CentOS:
-
网络配置文件通常位于
/etc/sysconfig/network-scripts/ifcfg-*
-
主机名配置文件:
/etc/hostname
(CentOS 7+)或/etc/sysconfig/network
(CentOS 6)
2. 网络相关命令
操作 | Ubuntu | CentOS |
---|---|---|
重启网络服务 | sudo netplan apply (新版本) | sudo systemctl restart network |
或sudo /etc/init.d/networking restart | ||
查看IP地址 | ip a 或 ifconfig | ip a 或 ifconfig |
查看路由表 | ip route | ip route 或 route -n |
四、用户和权限管理
1. sudo配置
Ubuntu:
-
默认情况下,安装时创建的第一个用户具有sudo权限
-
sudo配置文件:
/etc/sudoers
CentOS:
-
默认情况下,root用户是唯一具有完全权限的账户
-
需要手动将用户添加到wheel组并配置sudo
2. 相关命令
操作 | Ubuntu | CentOS |
---|---|---|
添加用户 | sudo adduser username | sudo useradd username |
设置密码 | sudo passwd username | sudo passwd username |
添加用户到组 | sudo usermod -aG groupname username | 同上 |
删除用户 | sudo deluser username | sudo userdel username |
五、防火墙配置
1. 防火墙工具
Ubuntu:
-
默认使用
ufw
(Uncomplicated Firewall) -
底层使用
iptables
/nftables
CentOS:
-
CentOS 7使用
firewalld
-
CentOS 6使用
iptables
2. 防火墙命令对比
操作 | Ubuntu (ufw) | CentOS (firewalld) |
---|---|---|
启用防火墙 | sudo ufw enable | sudo systemctl start firewalld |
禁用防火墙 | sudo ufw disable | sudo systemctl stop firewalld |
允许端口 | sudo ufw allow port | sudo firewall-cmd --add-port=port/tcp --permanent |
拒绝端口 | sudo ufw deny port | sudo firewall-cmd --remove-port=port/tcp --permanent |
查看规则 | sudo ufw status | sudo firewall-cmd --list-all |
重载配置 | sudo ufw reload | sudo firewall-cmd --reload |
六、日志管理
1. 日志系统
Ubuntu:
-
默认使用
rsyslog
-
日志文件通常位于
/var/log/
-
查看系统日志:
journalctl
(systemd)或查看/var/log/syslog
CentOS:
-
默认使用
rsyslog
(CentOS 6/7)或journald
(CentOS 7+) -
查看系统日志:
journalctl
或查看/var/log/messages
2. 日志相关命令
操作 | Ubuntu | CentOS |
---|---|---|
查看系统日志 | journalctl 或 cat /var/log/syslog | journalctl 或 cat /var/log/messages |
跟踪日志 | tail -f /var/log/syslog | tail -f /var/log/messages |
日志轮转配置 | /etc/logrotate.conf | /etc/logrotate.conf |
七、其他实用差异
1. 系统信息查看
操作 | Ubuntu | CentOS |
---|---|---|
查看系统版本 | lsb_release -a | cat /etc/redhat-release |
查看内核版本 | uname -r | uname -r |
查看磁盘空间 | df -h | df -h |
查看内存使用 | free -h | free -h |
2. 软件包名称差异
一些常见软件在不同发行版中的包名可能不同:
软件 | Ubuntu包名 | CentOS包名 |
---|---|---|
Apache | apache2 | httpd |
PHP | php | php |
MySQL Server | mysql-server | mariadb-server |
Python 3 | python3 | python3 |
Vim | vim | vim-enhanced |
结语
虽然Ubuntu和CentOS在许多基础操作上存在差异,但它们的核心Linux特性是一致的。理解这些差异有助于系统管理员和开发者在不同环境中快速切换和工作。建议在实际工作中,根据所使用的具体发行版版本查阅官方文档,因为随着版本更新,某些命令和配置方式可能会发生变化。
掌握这些区别不仅能提高工作效率,还能加深对Linux系统的理解。无论你偏好哪个发行版,了解它们的差异都是成为Linux专家的必经之路。