
Ubuntu 22.04 LTS vs CentOS 7.95个关键场景下的包管理与网络配置对比对于需要在不同Linux发行版之间切换或进行环境迁移的运维工程师和开发者来说理解Ubuntu和CentOS在包管理和网络配置上的差异至关重要。本文将深入对比这两个主流发行版在五个常见运维场景下的具体操作差异并提供可直接复用的配置脚本。1. 包管理系统基础对比Ubuntu 22.04 LTS采用APTAdvanced Package Tool作为包管理系统而CentOS 7.9使用YUMYellowdog 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 -lyum list installed查找软件包apt search packageyum search package显示软件包信息apt show packageyum info package删除软件包sudo apt remove packagesudo yum remove package2. 网络配置对比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 DEVICEens33 BOOTPROTOnone ONBOOTyes IPADDR192.168.1.100 NETMASK255.255.255.0 GATEWAY192.168.1.1 DNS18.8.8.8 DNS28.8.4.4应用配置sudo systemctl restart network2.2 网络接口管理操作Ubuntu命令CentOS命令查看接口状态ip a或netplan ip leasesnmcli device show启用接口sudo ip link set ens33 upsudo nmcli connection up ens33禁用接口sudo ip link set ens33 downsudo nmcli connection down ens33查看路由表ip routeroute -n3. 服务管理对比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-servicehttp 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-servicessh sudo firewall-cmd --permanent --add-servicehttp sudo firewall-cmd --permanent --add-servicehttps 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