Ubuntu Server 22.04 中的 cloud-init 消息使登录屏幕混乱

Ubuntu Server 22.04 中的 cloud-init 消息使登录屏幕混乱

很抱歉再次提起这个问题,因为我知道这个问题之前已经被问过几次了这里这里这里

这些解决方案对我来说一直很有效,直到 22.04,但现在尽管按照相同的说明操作,我仍然无法消除这些消息,如下图所示:

登录 tty 上的 cloud-init 消息:

登录 tty 上的 cloud-init 消息

22.04 中的 cloud-init 配置是否发生了变化?还有其他方法可以解决这个问题吗?

要明确的是,我不想禁用 cloud-init,我希望它的初始化不再扰乱我的登录屏幕。

答案1

因此,在经过一番折腾并试图理解 systemd 的内部工作原理后,我阅读了DigitalOcean 的优秀指南,我基本上尝试了与之前建议相反的做法。我没有指示 getty@tty 在 cloud-init 完成之前不要启动,而是要求 cloud-init 在完成之前不要允许 getty@tty 启动(如果这有意义的话)。

具体来说,这意味着我创建了一个名为 cloud-init.service.d 的目录,在其中创建了一个如下所示的 .conf 文件:

[Unit]

[email protected]

这似乎有效,尽管从理论上讲这应该在逻辑上等同于以前的解决方案。无论如何,我希望这能帮助其他遇到同样问题的人。

如有任何进一步的评论或澄清,我们将不胜感激。

答案2

如果你想云初始化奔跑和不是写入控制台,然后您可以更改 SystemdStandardOutput设置云初始化服务文件。

一种方法是创建一个覆盖文件。此代码段将更改服务的设置cloud-init-local.service,,,和。cloud-init.servicecloud-config.servicecloud-final.service

for i in init-local init config final ; do 
  mkdir -p /etc/systemd/system/cloud-${i}.service.d
  cat <<EOF > /etc/systemd/system/cloud-${i}.service.d/override.conf
[Service]
StandardOutput=journal
EOF
done
systemctl daemon-reload

这可能会产生负面影响,因为服务文件包含注释

输出需要出现在实例控制台输出中

我不知道为什么输出需求写入控制台,但提交历史

将 stdout 写入 tty,以便它显示在 GetConsoleOutput 中

GetConsoleOutput似乎是 Amazon EC2 调用,因此写入控制台可能是云初始化通过云服务器向用户提供信息。

答案3

对于 Ubuntu 20.04 和 22.04,这是可行的。
您需要做的就是创建 2 个文件,将输出写入日志而不是控制台:

文件:

  • /etc/systemd/system/cloud-config.service.d/override.conf
  • /etc/systemd/system/cloud-final.service.d/override.conf

内容

[Service]
StandardOutput=journal

解释
cloud-init 调用了 2 个服务,用于打印到控制台:

  • 云配置
  • 云最终

如何:

sudo -i
DIR=/etc/systemd/system
cd $DIR
mkdir cloud-config.service.d  cloud-final.service.d
FILE1=$DIR/cloud-config.service.d/override.conf
FILE2=$DIR/cloud-final.service.d/override.conf

cat >$FILE1 <<-EOF
[Service]
StandardOutput=journal
EOF

cat >$FILE2 <<-EOF
[Service]
StandardOutput=journal
EOF

确认有效 重启-->控制台无输出-->登录-->检查journalctl

journalctl -t cloud-init -g "modules:"
journalctl -t cloud-init -o verbose

您应该会在日志中看到之前打印到控制台的行。详细输出将显示 cloud-init 正在调用 cloud-final 和 cloud-config,它们是打印消息的实际服务。

相关内容