将 bash 脚本上传到 MAAS 部署的 Ubuntu 机器

问题描述

信息 + 目标:

我正在使用 MAAS 部署带有 Ubuntu 的工作站。

MAAS 只是使用股票 Ubuntu 部署机器,然后我运行我编写的 bash 脚本来设置所需的一切。

到目前为止,我已经在新部署的机器上手动运行了该 bash 脚本。现在,我正在尝试让 MAAS 自动运行该脚本。


我做了什么 + 错误:

在 MAAS 机器中,我创建了以下名为 Path(tfile) 的文件 curtin 文件,其中包含以下内容:

/var/snap/maas/current/preseeds/curtin_userdata_ubuntu

但是,在日志中,我看到以下内容:

write_files:
  bash_script:
    path: /root/script.sh
    content: |
      #!/bin/bash
      echo blabla
      ... very long bash script
    permissions: '0755'

late_commands:
  run_script: ["/bin/bash /root/script.sh"]

问题

我不确定将这么大的 bash 脚本放在 curtin 文件中是否是个好主意。有没有办法将 bash 脚本存储在 MAAS 机器上,并让 curtin 将其上传到服务器,然后执行它?如果没有,是否可以修复我遇到的错误?

先谢谢了!

解决方法

这在执行命令时起作用:

["curtin","in-target","--","/bin/bash","/root/script.sh"]

虽然这个方法仍然意味着我必须写入一个文件然后执行它。我仍然希望有一种方法可以上传文件然后执行它。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...