5154

Good Luck To You!

优秀的CentOS工具书应该包含哪些核心命令与配置技巧?

CentOS,作为一个源自Red Hat Enterprise Linux(RHEL)源代码的社区企业级操作系统,凭借其无与伦比的稳定性、安全性和长期支持,在全球服务器市场中占据了举足轻重的地位,无论是部署Web服务、数据库集群,还是作为虚拟化平台,CentOS都是系统管理员和工程师的首选之一,掌握CentOS,就如同拥有了一本强大的服务器运维工具书,本文旨在梳理其核心知识点,为读者提供一份清晰、实用的参考指南。

优秀的CentOS工具书应该包含哪些核心命令与配置技巧?

基础系统管理篇

对于任何一位CentOS用户而言,熟练掌握基础系统管理命令是高效工作的第一步。

软件包管理:dnfyum

软件包的安装、更新与卸载是日常运维中最频繁的操作,在CentOS 7及更早版本中,yum(Yellowdog Updater Modified)是默认的工具,从CentOS 8开始,dnf(Dandified YUM)取代了yum,它在性能、依赖解析和插件支持上均有显著提升,但基本命令保持了高度兼容。

  • 更新系统sudo dnf update -y
  • 安装软件包sudo dnf install httpd -y
  • 卸载软件包sudo dnf remove httpd -y
  • 搜索软件包dnf search keyword
  • 查看已安装包信息dnf info installed package_name

服务管理:systemctl

systemd是现代Linux发行版的系统和服务管理器,systemctl是与之交互的主要命令行工具,它取代了传统的servicechkconfig命令。

  • 启动服务sudo systemctl start httpd
  • 停止服务sudo systemctl stop httpd
  • 重启服务sudo systemctl restart httpd
  • 设置开机自启sudo systemctl enable httpd
  • 禁止开机自启sudo systemctl disable httpd
  • 查看服务状态systemctl status httpd

网络配置

CentOS提供了多种网络配置方式,图形化界面在此不作赘述,重点介绍命令行工具。

  • nmcli(NetworkManager Command-Line Interface):这是推荐使用的现代工具,功能强大且交互友好。

    • 查看网络连接:nmcli connection show
    • 查看设备状态:nmcli device status
    • 为连接配置静态IP:sudo nmcli connection modify "ens160" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,8.8.4.4" ipv4.method manual
    • 应用配置:sudo nmcli connection up "ens160"
  • 配置文件:传统的配置文件位于/etc/sysconfig/network-scripts/ifcfg-<interface_name>,通过直接编辑此文件(如BOOTPROTO=static, IPADDR=...),然后使用sudo nmcli connection reload或重启网络服务来生效。

防火墙管理:firewalld

firewalld是CentOS 7+的默认动态防火墙管理工具,它支持“区域”概念,使得网络管理更加灵活。

优秀的CentOS工具书应该包含哪些核心命令与配置技巧?

  • 查看当前区域firewall-cmd --get-active-zones
  • 查看区域开放的端口/服务firewall-cmd --zone=public --list-all
  • 永久开放一个端口sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
  • 永久开放一个服务sudo firewall-cmd --zone=public --add-service=http --permanent
  • 重新加载配置使修改生效sudo firewall-cmd --reload

进阶运维与诊断篇

当系统运行稳定后,性能监控、日志分析和故障排查便成为保障服务可用性的关键。

性能监控工具

面对性能瓶颈,选择合适的工具至关重要,下表列出了一些常用的诊断命令:

工具 主要用途 常用参数示例
top 实时查看进程动态、CPU和内存占用 top (交互式命令,按q退出)
htop top的增强版,界面更友好,支持鼠标操作 htop (需额外安装)
vmstat 报告虚拟内存统计信息,包括进程、内存、分页、块IO等 vmstat 2 5 (每2秒刷新一次,共5次)
iostat 监控系统输入/输出设备和CPU的使用情况 iostat -xz 1 (显示扩展统计信息)
netstat / ss 查看网络连接、路由表、接口统计等 ss -tulnp (显示所有监听的TCP/UDP端口及进程)
df 查看文件系统磁盘空间使用情况 df -h (以人类可读格式显示)
du 查看目录或文件的磁盘使用量 du -sh /var/log (查看/var/log目录总大小)

日志管理

日志是排查问题的“黑匣子”,CentOS使用systemd-journald和传统的rsyslog共同管理日志。

  • journalctl:用于查询systemd日志。

    • 查看系统所有日志:journalctl
    • 查看某个服务的日志:journalctl -u httpd.service
    • 实时跟踪日志:journalctl -f
    • 查看最近的错误日志:journalctl -p err -n 20
  • 传统日志文件:主要存储在/var/log目录下。

    • /var/log/messages:记录系统核心信息。
    • /var/log/secure:记录安全相关的日志,如登录、sudo等。
    • /var/log/dmesg:记录内核启动时的信息。

存储与磁盘管理

  • lsblk:以树状图形式列出块设备,清晰展示磁盘与分区关系。
  • 逻辑卷管理(LVM):LVM是CentOS上极具弹性的磁盘管理方案,它允许在物理卷之上创建逻辑卷,并可以动态调整大小,无需重启系统,核心概念包括PV(物理卷)、VG(卷组)和LV(逻辑卷),熟练使用pvcreate, vgcreate, lvcreate, lvextend等命令,能极大提升存储管理的灵活性。

安全加固篇

安全是服务器运维的生命线。

用户与权限管理

  • 最小权限原则:严禁直接使用root用户进行日常操作,应为每个管理员创建普通用户,并通过sudo提权。
  • sudo配置:通过visudo命令安全地编辑/etc/sudoers文件,为特定用户或用户组分配命令执行权限,允许webadmin用户无需密码重启httpd服务:webadmin ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart httpd

SSH安全

优秀的CentOS工具书应该包含哪些核心命令与配置技巧?

SSH是远程管理Linux服务器的标准协议,其安全性至关重要,编辑/etc/ssh/sshd_config文件并进行如下加固:

  • 禁用root登录PermitRootLogin no
  • 使用密钥对认证PasswordAuthentication no(确保已为用户配置好SSH密钥)
  • 更改默认端口Port 2222(选择一个不常用的高端口)
  • 限制可登录用户AllowUsers admin1 admin2

修改后,使用sudo systemctl restart sshd重启服务。


相关问答FAQs

Q1: CentOS 7 和 CentOS Stream 8/9 有什么本质区别,我该如何选择?

A: 两者的核心区别在于发布模式和定位。CentOS 7(以及更早版本)是RHEL 7的“二进制兼容重建版”,它滞后于RHEL的更新,主要目标是提供一个极其稳定、可预测的免费企业级操作系统平台,而CentOS Stream是RHEL的“上游开发版”,它位于Fedora和RHEL之间,比RHEL略微领先,用户可以提前体验到即将进入下一个RHEL小版本的功能和补丁。

选择建议

  • 如果你的业务环境对稳定性要求极高,不希望有任何非预期的变更,且软件生态与RHEL 7强绑定,那么继续使用CentOS 7(直到其生命周期结束)是稳妥的选择。
  • 如果你想提前获取RHEL的新特性,为未来的RHEL版本升级做准备,或者参与社区贡献,同时可以接受一个比传统CentOS更快的更新节奏,那么选择CentOS Stream是更合适、更具前瞻性的方案,对于新项目,推荐使用Stream版本。

Q2: 在没有图形界面的CentOS服务器上,如何快速查看CPU、内存等硬件信息?

A: 可以通过一系列命令行工具轻松获取详细的硬件信息,无需安装额外软件(部分工具需util-linux包,系统默认已安装):

  • 查看CPU信息lscpu 命令会以清晰格式输出CPU架构、核心数、线程数、主频等信息。
  • 查看内存信息free -h 命令可以人类可读的方式(如G, M)显示总内存、已用、空闲和交换分区的详细信息。
  • 查看PCI设备lspci 命令列出所有PCI总线设备,如网卡、显卡等,使用lspci -v可以查看更详细的信息。
  • 查看USB设备lsusb 命令用于列出所有USB设备。
  • 查看磁盘分区lsblkfdisk -l 可以查看所有磁盘及其分区布局。
  • 查看DMI/系统硬件信息dmidecode 命令可以提供非常全面的系统硬件详情,包括BIOS、主板、机箱、内存插槽等,通常需要sudo权限运行。

这些命令组合起来,足以让你对服务器的硬件状况了如指掌。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.