第 5 章 使用 cloud-init 运行首次启动命令


要在虚拟机的第一次引导和初始化过程中执行命令,您可以使用 cloud-init 配置的 runcmdbootcmd 部分。

  • bootcmd 部分在初始化过程早期执行,并且在每次引导时默认运行。
  • runcmd 部分在进程末尾附近执行,且仅在第一次引导和初始化时执行。

先决条件

  • 根据数据源的要求,编辑 user-data 文件或在 cloud.cfg.d 目录中添加以下指令:

    注意

    所有用户指令都包括文件顶部的 #cloud-config,以便 cloud-init 将文件识别为包含用户指令。当您在 cloud.cfg.d 目录中包含指令时,将该文件命名为 *.cfg,且始终在文件的顶部包含 #cloud-config

流程

  1. 添加 bootcmdruncmd 部分;包含您希望 cloud-init 执行的命令。

    #cloud-config
    users:
      - default
      - name: user2
        gecos: User N. Ame
        groups: users
    chpasswd:
      list: |
        root:password
        fedora:myfedpassword
        user2:mypassword2
      expire: False
    bootcmd:
     - echo New MOTD >> /etc/motd
    runcmd:
     - echo New MOTD2 >> /etc/motd
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat