Red Hat Enterprise Linux (RHEL) 综合教程
RHEL 是业界领先的企业级 Linux 发行版,以其稳定性、安全性和强大的技术支持而闻名,无论是用于服务器、云计算还是容器化平台,RHEL 都是许多大型组织的首选。

本教程将分为以下几个部分:
-
第一部分:入门基础
- 什么是 RHEL?
- 为什么选择 RHEL?
- 如何获取 RHEL?
- 安装 RHEL
- 初次登录与基本设置
-
第二部分:核心概念与命令行
- Linux 文件系统结构
- Shell 与终端
- 基础命令(文件、目录、用户)
- 权限管理 (
chmod,chown,chgrp)
-
第三部分:系统管理与维护
(图片来源网络,侵删)- 软件包管理 (
dnf/yum) - 用户和组管理
- 服务管理 (
systemctl) - 网络配置
- 磁盘管理 (
fdisk,lvcreate)
- 软件包管理 (
-
第四部分:进阶与运维
- SELinux 简介
- 防火墙管理 (
firewalld) - 日志分析 (
journalctl,rsyslog) - Shell 脚本入门
- 远程管理 (SSH)
-
第五部分:学习资源与认证
第一部分:入门基础
什么是 RHEL?
Red Hat Enterprise Linux (RHEL) 是由 Red Hat 公司开发和维护的商业 Linux 发行版,它不是一个免费软件,而是通过订阅制提供,订阅内容包括:
- 软件包更新和安全补丁:确保系统安全稳定。
- 技术支持:可以 24/7 联系 Red Hat 工程师解决问题。
- 认证和合规性:满足各种行业标准和法规要求。
- 软件仓库访问:可以访问数千个经过测试和认证的软件。
为什么选择 RHEL?
- 稳定性:RHEL 的生命周期非常长(通常为 10 年),更新周期慢,所有软件包都经过严格测试,非常适合作为生产服务器操作系统。
- 安全性:内置强大的安全模块 SELinux,并有及时的安全更新。
- 生态系统:拥有最广泛的商业软件支持和硬件兼容性列表。
- 强大的工具链:提供如 Ansible, Satellite 等强大的自动化和管理工具。
- 社区衍生版:其社区版 CentOS(现已由 CentOS Stream 替代)和 Fedora 为 RHEL 提供了丰富的测试和前沿功能。
如何获取 RHEL?
RHEL 本身是商业软件,需要付费订阅才能下载和使用其更新,你可以通过以下方式免费使用:

- 开发者订阅:Red Hat 为个人开发者提供免费的订阅,允许你在一台物理机或最多两台虚拟机上使用 RHEL 并获取更新,注册 Red Hat Developer Program 即可。
- 试用订阅:可以申请一个为期 60 天的免费试用订阅。
- 社区版:CentOS Stream 是 RHEL 的上游开发分支,适合喜欢尝试最新功能的用户和开发者,它与 RHEL 高度兼容,但没有官方的技术支持。
安装 RHEL
安装过程与大多数现代 Linux 发行版类似,这里简要概述步骤:
- 下载 ISO:从 Red Hat 官网下载适用于你架构(通常是 x86_64)的 RHEL 安装镜像。
- 创建启动盘:使用
dd命令或 Rufus/ balenaEtcher 等工具将 ISO 文件写入 U 盘。 - 启动并选择安装:将电脑设置为从 U 盘启动,进入安装界面。
- 语言和键盘:选择你的首选语言和键盘布局。
- 安装源:选择安装源,通常选择 "本地媒体"。
- 软件选择:这是关键一步,选择你需要的安装环境:
- Minimal Install:最小化安装,只包含最基础的包,适合服务器。
- Server with GUI:带图形界面的服务器,适合桌面使用或需要图形化管理工具的场景。
- Workstation:完整的工作站环境,类似桌面操作系统。
- 安装位置:选择“自动配置分区”让系统自动处理,或者手动进行分区,对于生产环境,建议手动分区,规划
/boot, ,/home,swap等分区。 - 网络和主机名:配置网络(静态 IP 或 DHCP)并设置你的主机名。
- 开始安装:点击“安装”,设置 root 密码和创建至少一个普通用户。
- 重启并首次登录:安装完成后,重启系统,使用你创建的用户或 root 用户登录。
安全提示:日常操作强烈建议使用普通用户,仅在需要时使用
sudo提升权限,避免直接使用 root 用户登录。
第二部分:核心概念与命令行
Linux 文件系统结构
Linux 文件系统是一个倒置的树状结构,所有东西都以文件的形式存在。
- (根目录):所有目录的起点。
/bin:基本命令(如ls,cp,mv)。/sbin:系统管理命令(如reboot,fdisk)。/etc:系统配置文件(如network,hosts)。/dev:设备文件(如硬盘、光驱)。/var:经常变化的文件,如日志 (/var/log)、缓存。/home:普通用户的个人目录。/usr:用户安装的软件和程序。/boot:启动加载器(GRUB)和内核文件所在位置。/tmp:临时文件目录。
Shell 与终端
- Shell:是用户与 Linux 内核交互的命令解释器,默认的 Shell 通常是
bash(Bourne-Again Shell)。 - Terminal:是运行 Shell 的程序窗口,也就是你看到的那个黑框或白框。
基础命令
命令格式:[命令] [选项] [参数]
-
文件/目录操作
ls -l:列出文件详细信息。cd /home/user:切换目录。pwd:显示当前所在目录。mkdir new_dir:创建新目录。touch file.txt:创建一个空文件。cp file.txt /backup/:复制文件。mv file.txt new_name.txt:移动/重命名文件。rm file.txt:删除文件(rm -r删除目录)。clear:清空屏幕。
-
查看文件内容
cat file.txt:显示整个文件内容。less file.txt:分页显示文件内容(按q退出)。head -n 10 file.txt:显示文件前 10 行。tail -f /var/log/messages:实时查看日志文件的末尾。
-
用户信息
whoami:显示当前用户。id:显示用户 ID 和组 ID。
权限管理
Linux 权限分为三类:r (读), w (写), x (执行)。
-
查看权限:
ls -l file.txt- 输出:
-rw-r--r-- 1 user user 0 Jan 1 10:00 file.txt - 解释: (文件类型)
rw-(所有者权限)r--(所属组权限)r--(其他人权限)
- 输出:
-
修改权限:
chmod- 数字法:
r=4, w=2, x=1chmod 755 script.sh:所有者rwx(7),组r-x(5),其他人r-x(5)。
- 符号法:
chmod u+x script.sh:给所有者增加执行权限。chmod go-w file.txt:移除组和其他人的写权限。
- 数字法:
-
修改所有者:
chownchown user:group file.txt:同时修改文件所有者和所属组。chown -R user:group /path/to/dir:递归修改目录及其下所有内容的所有者。
第三部分:系统管理与维护
软件包管理
RHEL 8 及以后版本使用 dnf (Dandified Yum),RHEL 7 及以前版本使用 yum。
- 搜索软件包:
dnf search <keyword> - 列出已安装的包:
dnf list installed - 安装软件包:
sudo dnf install <package_name> - 更新所有软件包:
sudo dnf update - 移除软件包:
sudo dnf remove <package_name> - 查看软件包信息:
dnf info <package_name>
用户和组管理
- 创建用户:
sudo useradd -m username(-m会自动创建家目录) - 设置密码:
sudo passwd username - 删除用户:
sudo userdel -r username(-r会删除用户家目录) - 创建组:
sudo groupadd groupname - 将用户加入组:
sudo usermod -aG groupname username(-aG表示追加到组,不覆盖其他组)
服务管理
使用 systemctl 命令来管理系统服务(如 Web 服务器、数据库等)。
- 启动服务:
sudo systemctl start httpd - 停止服务:
sudo systemctl stop httpd - 重启服务:
sudo systemctl restart httpd - 查看服务状态:
sudo systemctl status httpd - 设置服务开机自启:
sudo systemctl enable httpd - 禁止服务开机自启:
sudo systemctl disable httpd
网络配置
- 查看 IP 地址:
ip a或ifconfig - 查看路由表:
ip r - 临时配置 IP (重启后失效):
sudo ip addr add 192.168.1.100/24 dev ens33
- 永久配置 IP:编辑网络配置文件,例如在 RHEL 8 中:
- 文件路径:
/etc/sysconfig/network-scripts/ifcfg-ens33 - 修改
BOOTPROTO=static,并添加IPADDR=,NETMASK=,GATEWAY=等信息。 - 保存后运行
sudo nmcli con up ens33使配置生效。
- 文件路径:
磁盘管理
- 查看磁盘分区:
lsblk或fdisk -l - 创建分区:
sudo fdisk /dev/sdb(交互式操作) - 创建物理卷:
sudo pvcreate /dev/sdb1 - 创建卷组:
sudo vgcreate my_vg /dev/sdb1 - 创建逻辑卷:
sudo lvcreate -L 10G -n my_lv my_vg - 格式化逻辑卷:
sudo mkfs.xfs /dev/my_vg/my_lv - 挂载:
- 创建挂载点:
sudo mkdir /data - 挂载:
sudo mount /dev/my_vg/my_lv /data - 设置开机自动挂载:编辑
/etc/fstab文件,添加一行:/dev/my_vg/my_lv /data xfs defaults 0 0
- 创建挂载点:
第四部分:进阶与运维
SELinux 简介
SELinux (Security-Enhanced Linux) 是一个强制访问控制安全模块,是 RHEL 安全性的核心。
- 查看 SELinux 状态:
sestatus - 临时关闭:
sudo setenforce 0(Permissive 模式会记录但不阻止违规) - 临时开启:
sudo setenforce 1 - 永久修改:编辑
/etc/selinux/config文件,将SELINUX=设置为enforcing,permissive或disabled。 - 排查 SELinux 问题:查看
/var/log/audit/audit.log或使用ausearch命令。
防火墙管理
RHEL 使用 firewalld 作为动态防火墙管理工具。
- 启动并设置开机自启:
sudo systemctl enable --now firewalld - 查看防火墙状态:
sudo firewall-cmd --state - 查看开放的服务:
sudo firewall-cmd --list-services - 永久开放端口:
sudo firewall-cmd --permanent --add-port=80/tcp - 永久开放服务:
sudo firewall-cmd --permanent --add-service=http - 重新加载防火墙使配置生效:
sudo firewall-cmd --reload
日志分析
- 使用
journalctl:- 查看所有日志:
journalctl - 查看内核日志:
journalctl -k - 查看系统服务日志:
journalctl -u httpd - 实时跟踪日志:
journalctl -f - 查看特定时间段的日志:
journalctl --since "2025-10-27 10:00"
- 查看所有日志:
- 传统日志:系统日志通常位于
/var/log/目录下,如messages,secure,cron等。
第五部分:学习资源与认证
官方资源
- Red Hat Documentation:最权威、最全面的技术文档,涵盖所有产品。 https://access.redhat.com/documentation/
- Red Hat Learning Subscription:提供在线课程、沙箱环境和认证考试,是系统学习的最佳途径。
- Red Hat Developer:提供免费的开发者订阅、教程和社区支持。 https://developers.redhat.com/
认证路径
Red Hat 认证是 Linux 领域含金量最高的认证之一。
- RHCSA (Red Hat Certified System Administrator):认证你具备执行核心系统管理任务的能力,这是入门级认证。
- RHCE (Red Hat Certified Engineer):认证你具备配置网络服务、安全性和管理大量系统的能力,这是高级认证。
社区与书籍
- The Linux Command Line:William Shotts 著,免费在线阅读,是命令行学习的经典之作。
- Linux System Administration Handbook:Evi Nemeth 等著,系统管理员的“圣经”。
- Stack Overflow 和 Server Fault:遇到问题时,这里是寻找答案的好地方。
学习 RHEL 是一个循序渐进的过程,从熟悉命令行开始,逐步掌握系统管理的核心技能,最后深入理解安全和自动化,最重要的是多动手实践,在虚拟机或云环境中搭建自己的实验环境,大胆尝试各种命令和配置。
祝你学习顺利!
