Ubuntu 22.04 LTS vs CentOS 7.9:5个关键场景下的包管理与网络配置对比
对于需要在不同Linux发行版之间切换或进行环境迁移的运维工程师和开发者来说,理解Ubuntu和CentOS在包管理和网络配置上的差异至关重要。本文将深入对比这两个主流发行版在五个常见运维场景下的具体操作差异,并提供可直接复用的配置脚本。
1. 包管理系统基础对比
Ubuntu 22.04 LTS采用APT(Advanced Package Tool)作为包管理系统,而CentOS 7.9使用YUM(Yellowdog Updater Modified)。虽然两者功能相似,但在命令语法和软件源管理上存在显著差异。
1.1 软件包安装与更新
Ubuntu 22.04 LTS:
# 更新软件包列表 sudo apt update # 安装软件包 sudo apt install nginx # 升级所有已安装的软件包 sudo apt upgradeCentOS 7.9:
# 更新软件包列表 sudo yum check-update # 安装软件包 sudo yum install nginx # 升级所有已安装的软件包 sudo yum update1.2 软件源管理
Ubuntu使用/etc/apt/sources.list文件和/etc/apt/sources.list.d/目录管理软件源,而CentOS使用/etc/yum.repos.d/目录下的.repo文件。
Ubuntu添加PPA源:
sudo add-apt-repository ppa:ondrej/php sudo apt updateCentOS添加EPEL源:
sudo yum install epel-release sudo yum update1.3 软件包查询与删除
| 操作 | Ubuntu命令 | CentOS命令 |
|---|---|---|
| 列出已安装软件包 | dpkg -l | yum list installed |
| 查找软件包 | apt search <package> | yum search <package> |
| 显示软件包信息 | apt show <package> | yum info <package> |
| 删除软件包 | sudo apt remove <package> | sudo yum remove <package> |
2. 网络配置对比
Ubuntu 22.04 LTS使用Netplan作为默认网络配置工具,而CentOS 7.9仍使用传统的NetworkManager和ifcfg文件。
2.1 静态IP地址配置
Ubuntu 22.04 LTS (Netplan):
# /etc/netplan/00-installer-config.yaml network: version: 2 ethernets: ens33: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]应用配置:
sudo netplan applyCentOS 7.9 (NetworkManager):
# /etc/sysconfig/network-scripts/ifcfg-ens33 DEVICE=ens33 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4应用配置:
sudo systemctl restart network2.2 网络接口管理
| 操作 | Ubuntu命令 | CentOS命令 |
|---|---|---|
| 查看接口状态 | ip a或netplan ip leases | nmcli device show |
| 启用接口 | sudo ip link set ens33 up | sudo nmcli connection up ens33 |
| 禁用接口 | sudo ip link set ens33 down | sudo nmcli connection down ens33 |
| 查看路由表 | ip route | route -n |
3. 服务管理对比
Ubuntu使用systemd作为默认初始化系统,CentOS 7.9也使用systemd,但在服务名称和管理命令上有些差异。
3.1 常见服务管理命令
Ubuntu 22.04 LTS:
# 启动服务 sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx # 查看服务状态 sudo systemctl status nginxCentOS 7.9:
# 启动服务 sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx # 查看服务状态 sudo systemctl status nginx虽然命令相同,但服务名称可能不同。例如,防火墙服务在Ubuntu上是ufw,而在CentOS上是firewalld。
3.2 防火墙配置
Ubuntu 22.04 LTS (UFW):
# 启用防火墙 sudo ufw enable # 允许HTTP流量 sudo ufw allow 80/tcp # 查看规则 sudo ufw status verboseCentOS 7.9 (FirewallD):
# 启用防火墙 sudo systemctl enable --now firewalld # 允许HTTP流量 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload # 查看规则 sudo firewall-cmd --list-all4. 常见运维场景对比
4.1 场景一:Web服务器部署
Ubuntu 22.04 LTS:
# 安装Nginx sudo apt install nginx # 启动服务 sudo systemctl start nginx # 配置虚拟主机 sudo nano /etc/nginx/sites-available/example.com sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginxCentOS 7.9:
# 安装Nginx (需先启用EPEL源) sudo yum install epel-release sudo yum install nginx # 启动服务 sudo systemctl start nginx # 配置虚拟主机 sudo nano /etc/nginx/conf.d/example.com.conf sudo nginx -t sudo systemctl reload nginx4.2 场景二:数据库服务器配置
Ubuntu 22.04 LTS (MySQL):
# 安装MySQL sudo apt install mysql-server # 安全配置 sudo mysql_secure_installation # 创建数据库用户 sudo mysql -e "CREATE USER 'user'@'%' IDENTIFIED BY 'password';"CentOS 7.9 (MariaDB):
# 安装MariaDB sudo yum install mariadb-server # 启动服务 sudo systemctl start mariadb # 安全配置 sudo mysql_secure_installation # 创建数据库用户 sudo mysql -e "CREATE USER 'user'@'%' IDENTIFIED BY 'password';"5. 系统维护与故障排查
5.1 日志查看
Ubuntu 22.04 LTS:
# 查看系统日志 journalctl -xe # 查看特定服务日志 journalctl -u nginx --no-pager -n 50 # 查看认证日志 tail -f /var/log/auth.logCentOS 7.9:
# 查看系统日志 journalctl -xe # 查看特定服务日志 journalctl -u nginx --no-pager -n 50 # 查看认证日志 tail -f /var/log/secure5.2 性能监控
通用命令:
# 查看系统负载 uptime # 查看内存使用 free -h # 查看磁盘使用 df -h # 查看进程 topUbuntu特有工具:
# 安装sysstat sudo apt install sysstat # 查看CPU历史使用 sar -uCentOS特有工具:
# 安装sysstat sudo yum install sysstat # 启用数据收集 sudo systemctl enable --now sysstat可复用配置脚本
Ubuntu 22.04 LTS初始化脚本
#!/bin/bash # 更新系统 sudo apt update && sudo apt upgrade -y # 安装常用工具 sudo apt install -y curl wget git unzip net-tools ufw # 配置防火墙 sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw enable # 设置时区 sudo timedatectl set-timezone Asia/Shanghai # 安装Docker sudo apt install -y docker.io sudo systemctl enable --now dockerCentOS 7.9初始化脚本
#!/bin/bash # 更新系统 sudo yum update -y # 安装常用工具 sudo yum install -y curl wget git unzip net-tools epel-release # 配置防火墙 sudo systemctl enable --now firewalld sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload # 设置时区 sudo timedatectl set-timezone Asia/Shanghai # 安装Docker sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl enable --now docker