杰瑞科技汇

linux redhat 教程

Red Hat Enterprise Linux (RHEL) 学习教程

第一部分:基础入门与核心概念

这个阶段的目标是理解 Linux 的基本思想、RHEL 的特点,并掌握最核心的命令行操作。

linux redhat 教程-图1
(图片来源网络,侵删)

什么是 Red Hat Enterprise Linux (RHEL)?

  • 定位:RHEL 是 Red Hat 公司开发的商业企业级 Linux 发行版,它以稳定性、安全性、高性能长期支持而闻名。
  • 特点
    • 付费订阅:提供官方技术支持、安全更新和补丁。
    • 源码可用:基于开源的 Fedora 项目,其源代码是公开的,衍生出了 CentOS Stream, Fedora 等众多发行版。
    • 企业级应用:广泛用于金融、电信、政府等关键行业的服务器环境。
    • 生态系统:拥有强大的软件包管理系统 和强大的生态系统(如 OpenShift, Ansible 等)。

为什么选择学习 RHEL?

  • 行业标准:是 Linux 领域最主流的企业级操作系统之一。
  • 职业发展RHCE (Red Hat Certified System Engineer) 认证是 IT 行业含金量最高的认证之一,是找运维、系统管理员等工作的“敲门砖”。
  • 技能通用:掌握了 RHEL,你对 CentOS, Rocky Linux, AlmaLinux 等衍生版也能快速上手。

准备你的 RHEL 环境

在学习之前,你需要一个环境来实践。

linux redhat 教程-图2
(图片来源网络,侵删)
  • 虚拟机 (推荐新手)
    • 软件:VMware Workstation Player / Pro, VirtualBox (免费)。
    • 步骤
      1. 下载并安装虚拟机软件。
      2. 从 Red Hat 官网注册并下载 RHEL 的安装镜像 (ISO 文件)。
      3. 创建新的虚拟机,分配 CPU、内存、硬盘空间。
      4. 挂载 RHEL ISO 文件,按照向导完成安装。
  • 云平台
    • 平台:AWS, Azure, Google Cloud, 阿里云等。
    • 优点:无需本地硬件,可以随时随地访问。
    • 步骤:在云平台控制台创建一个虚拟机实例,选择 RHEL 镜像进行部署。
  • 物理机或裸金属

    如果你有多余的电脑,可以直接在上面安装 RHEL,体验最真实的环境。


第二部分:核心命令与文件系统管理

这是 Linux 的基本功,所有图形化操作最终都会落实到命令。

基础命令

  • 文件和目录操作
    • ls: 列出文件和目录 (ls -l 详细列表, ls -a 显示隐藏文件)。
    • cd: 切换目录 (cd / 回到根目录, cd .. 返回上一级, cd ~ 回到用户主目录)。
    • pwd: 显示当前所在目录。
    • touch: 创建一个空文件。
    • mkdir: 创建一个新目录 (mkdir -p 可创建多级目录)。
    • cp: 复制文件或目录 (cp -r 复制目录)。
    • mv: 移动文件/目录,或重命名。
    • rm: 删除文件 (rm -f 强制删除, rm -r 删除目录)。
    • cat: 查看文件内容。
    • less: 分页查看文件内容(推荐使用,q 退出)。
  • 用户和权限管理
    • su -: 切换到 root 用户(超级管理员)。
    • sudo <command>:以其他用户身份(通常是 root)执行命令。
    • whoami: 显示当前用户。
    • useradd <username>: 创建新用户。
    • passwd <username>: 修改用户密码。
    • chmod: 修改文件权限 (chmod 755 script.sh)。
    • chown: 修改文件所有者 (chown user:group file.txt)。
  • 系统信息
    • uname -a: 显示详细的系统信息。
    • top / htop: 实时查看系统进程和资源占用 (htop 更直观,需安装)。
    • df -h: 查看磁盘空间使用情况 (-h 以人类可读格式显示)。
    • free -h: 查看内存使用情况。

文件系统结构

linux redhat 教程-图3
(图片来源网络,侵删)

理解 Linux 的目录树至关重要:

  • 根目录,一切从这里开始。
  • /bin: 基本命令 (如 ls, cp)。
  • /sbin: 系统管理命令 (如 ifconfig, reboot)。
  • /etc: 配置文件目录 (所有服务的配置都在这里)。
  • /home: 普通用户的家目录。
  • /var: 经常变化的文件,如日志 (/var/log)、邮件、缓存。
  • /tmp: 临时文件目录。
  • /boot: 系统启动文件,如内核。
  • /usr: 用户安装的软件和程序。
  • /proc: 虚拟文件系统,系统内核信息的映射。

第三部分:系统管理与维护

进入系统管理员的核心工作。

软件包管理

RHEL 使用 yum 或其新一代版本 dnf 作为包管理器。

  • 搜索软件包:
    sudo dnf search <关键词>
  • 安装软件包:
    sudo dnf install <包名>
  • 更新系统:
    sudo dnf update
  • 删除软件包:
    sudo dnf remove <包名>
  • 查看已安装的包:
    sudo dnf list installed

服务管理

在 RHEL 7/8/9 中,使用 systemctl 命令来管理系统服务。

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

网络配置

  • 查看网络接口信息:
    ip a
    # 或传统的 ifconfig
  • 配置静态 IP 地址:
    1. 编辑网络配置文件(对于 ens33 接口):
      sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
    2. 修改或添加以下内容:
      BOOTPROTO=static
      IPADDR=192.168.1.100
      NETMASK=255.255.255.0
      GATEWAY=192.255.1.1
      DNS1=8.8.8.8
      ONBOOT=yes
    3. 重启网络服务:
      sudo systemctl restart network
  • 防火墙管理 (FirewallD):
    • RHEL 默认使用 firewalld 防火墙。
    • 查看状态:
      sudo firewall-cmd --state
    • 永久开放端口:
      sudo firewall-cmd --permanent --add-port=80/tcp
      sudo firewall-cmd --reload # 重新加载防火墙使配置生效

磁盘管理

  • 查看磁盘分区:
    fdisk -l
  • 创建文件系统 (格式化):
    sudo mkfs.xfs /dev/sdb1 # 将 /dev/sdb1 格式化为 XFS 文件系统
  • 挂载:
    1. 创建挂载点:
      sudo mkdir /data
    2. 临时挂载:
      sudo mount /dev/sdb1 /data
    3. 永久挂载: 编辑 /etc/fstab 文件,添加一行:
      /dev/sdb1  /data  xfs  defaults  0  0

第四部分:进阶主题与自动化

当你掌握了基础后,这些技能会让你从“会操作”变为“会管理”。

Shell 脚本编程

  • 目的:将重复性的命令操作自动化。
  • 学习要点
    • 变量定义 (NAME="world")。
    • 条件判断 (if...then...else...fi)。
    • 循环 (for...in...do...done, while...do...done)。
    • 函数定义和使用。
    • 接收用户输入 (read 命令)。
  • 实践:写一个脚本,用于自动备份指定目录到 /backup

用户与权限高级

  • Sudoers 文件 (/etc/sudoers):
    • 精细控制哪些用户可以执行哪些命令。
    • 允许 devops 用户重启 Nginx 服务,但无需 root 密码。
      devops ALL=(ALL) /bin/systemctl restart nginx
    • 警告:请使用 visudo 命令编辑此文件,可以防止语法错误导致系统无法使用 sudo

SELinux (Security-Enhanced Linux)

  • 是什么:RHEL 内置的强制访问控制安全系统,是 RHEL 安全性的核心。
  • 三个模式
    • Enforcing:强制执行 SELinux 策略。
    • Permissive:只记录警告,不阻止操作。
    • Disabled:完全禁用。
  • 常用命令:
    • getenforce: 查看当前模式。
    • setenforce [Enforcing|Permissive|0]: 临时设置模式。
    • semanage fcontext: 管理文件的安全上下文。
    • restorecon: 恢复文件的安全上下文。

日志管理

  • 中心化日志:学习使用 rsyslogjournald
  • 日志轮转:学习使用 logrotate 工具,防止日志文件无限增长。

第五部分:认证学习路径

如果你想系统化学习并获得权威认证,可以遵循以下路径。

RHCSA (Red Hat Certified System Administrator)

  • 定位:认证你具备 RHEL 系统管理员的核心技能。
  • 考试形式:上机实操,无选择题。
  • 核心考点
    • 操作和管理命令行:熟练使用所有基础命令。
    • 操作系统安装和配置:安装 RHEL,配置网络、存储。
    • 连接、启动并使用一台 Linux 系统:管理用户、权限。
    • 存储、文件系统和逻辑卷管理:创建、挂载、管理分区和 LVM。
    • 安装、配置和管理服务:管理 systemd 服务、firewalldselinux
    • 管理基本的安全选项:配置用户访问、selinux 策略。
    • 排错和系统维护:分析日志、修复启动问题。

RHCE (Red Hat Certified Engineer)

  • 定位:认证你具备企业级自动化运维和网络安全能力。
  • 考试形式:RHCSA 考试 + RHCE 考试,均为上机实操。
  • 核心考点 (RHCE 部分)
    • 自动化部署:使用 Ansible 进行配置管理和应用部署。
    • 网络服务
      • 配置 Apache (HTTPD) Web 服务器,支持虚拟主机和 SSL。
      • 配置 MariaDB/MySQL 数据库。
      • 配置 DNS (BIND) 服务器。
      • 配置 DHCP 服务器。
      • 配置 NFSSamba 文件共享。
    • 安全加固:配置 FirewallDSELinux 策略、SSH 访问控制。
    • 容器技术:在 RHEL 上使用 Podman 管理容器。

第六部分:学习资源推荐

  • 官方文档Red Hat Customer Portal Documentation (最权威、最准确)
  • 官方教程Red Hat Learning Subscription (付费,但内容非常系统)
  • 免费在线课程
    • Red Hat Academy on edX: 提供免费的入门课程。
    • The Fedora Project: RHEL 的上游社区,有很多高质量的教程。
  • 书籍
    • 《Red Hat RHCSA/RHCE 7 认证考试指南》
    • 《鸟哥的 Linux 私房菜》(中文经典,适合打基础)
  • 社区和论坛
    • Red Hat Discuss: 官方社区。
    • Stack Overflow: 搜索具体问题。
    • V2EX: 中文技术社区,有专门的 Linux 版块。

学习建议

  1. 动手实践:不要只看,一定要亲手敲每一个命令,配置每一个服务,虚拟机是你的最佳朋友。
  2. 从基础开始:不要急于求成,先把命令和文件系统搞懂,再学习服务和管理。
  3. 理解“为什么”:不仅要知道 chmod 755 是什么,更要理解 r(4), w(2), x(1) 的含义,以及为什么 Web 服务器目录需要这个权限。
  4. 善用文档:学会阅读 man 手册 (man <command>) 和官方文档,这是 Linux 工程师必备的能力。
  5. 记录笔记:建立自己的知识库,记录遇到的命令、配置和排错过程。

祝你学习顺利,早日成为 RHEL 高手!

分享:
扫描分享到社交APP
上一篇
下一篇