RHEL 引导系统至目标系统状态

作为系统管理员,您可以控制系统的引导过程,并定义您希望系统引导进入的状态。这称为 target,它是您的系统开始达到一定功能级别的一组单元。使用 systemd 目标时,您可以查看默认目标、在运行时选择目标、更改默认引导目标、引导至紧急或救援目标。systemdsystemd

目标单元文件

中的目标 是相关单元组,这些单元在系统启动期间充当同步点。目标单元文件(以文件扩展名结尾)表示目标。目标单元的用途是通过依赖关系链将各个单元组合在一起。systemd.targetsystemdsystemd

请考虑以下示例:

  • 用于启动图形会话的 将启动系统服务,例如 GNOME Display Manager () 或 Accounts Service (),并且还会激活 。graphical.target unitgdm.serviceaccounts-daemon.servicemulti-user.target unit
  • 同样,该单元会启动其他基本系统服务,例如 NetworkManager () 或 D-Bus (),并激活另一个名为 的目标单元。multi-user.targetNetworkManager.servicedbus.servicebasic.target

您可以将以下目标设置为默认目标或当前目标:systemd

表 12.3.常见 systemd 目标
单元目标,该目标拉入基本系统并生成救援 shell
多用户 用于设置多用户系统的单位目标
图形 用于设置图形登录屏幕的单位目标
紧急 在主控制台上启动 Emergency shell 的 Unit 目标

 更改引导到的默认目标

当系统启动时,激活指向真正目标单元的符号链接。您可以在文件中找到当前选定的默认目标单位。每个目标都代表特定级别的功能,并用于对其他单元进行分组。此外,目标单元在引导期间用作同步点。您可以更改系统引导到的默认目标。当您设置默认目标单位时,当前目标将保持不变,直到下次重启。systemddefault.target/etc/systemd/system/default.target

程序

  1. 确定用于启动系统的当前默认目标单元:systemd

    # systemctl get-default
    graphical.target
  2. 列出当前加载的目标:

    # systemctl list-units --type target
  3. 默认情况下,将系统配置为使用不同的目标单位:

    # systemctl set-default <name>.target

    替换为您默认使用的目标单元的名称。<name>

    Example:
    # systemctl set-default multi-user.target
    Removed /etc/systemd/system/default.target
    Created symlink /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
  4. 验证默认目标单元:

    # systemctl get-default
    multi-user.target
  5. 通过重新启动来应用更改:

    # reboot

更改当前目标

在正在运行的系统上,您可以在当前引导中更改目标单元,而无需重新引导。如果您切换到其他目标,则启动此目标所需的所有服务及其依赖项,并停止新目标未启用的所有服务。隔离不同的目标仅影响当前引导。systemd

程序

  1. 可选:确定当前目标:

    # systemctl get-default
    graphical.target
  2. 可选:显示您可以选择的目标列表:

    # systemctl list-units --type target
  3. 在当前引导中更改为其他目标单元:

    # systemctl isolate <name>.target

    将 <name> 替换为要在当前引导中使用的目标单元的名称。

    Example:
    # systemctl isolate multi-user.target

    此命令启动名为 的目标单元和所有从属单元,并立即停止所有其他单元。multi-user

引导到 rescue 模式

您可以引导至救援模式,该模式提供单用户环境,以便在系统无法访问后续目标并且常规引导过程失败时进行故障排除或修复。在救援模式下,系统会尝试挂载所有本地文件系统并启动某些重要的系统服务,但不激活网络接口。

程序

  • 要进入救援模式,请在当前会话中更改当前目标:

    # systemctl rescue
    
    Broadcast message from root@localhost on pts/0 (Fri 2023-03-24 18:23:15 CEST):
    
    The system is going down to rescue mode NOW!

故障排除步骤

如果您的系统无法进入救援模式,您可以引导至紧急模式,该模式可提供尽可能小的环境。在紧急模式下,系统仅挂载根文件系统以供读取,不尝试挂载任何其他本地文件系统,不激活网络接口,并且只启动少数基本服务。

声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。