chroot Heredoc 对于特定包提前终止

chroot Heredoc 对于特定包提前终止

这里有一些有趣且有点超出我理解的事情。我可以在 Debian Buster chroot 上运行这些命令,没有任何问题。这对我来说使用单个输入流在 chroot 中运行多个命令很方便。

# Ex1. This works fine and prints "hi"
chroot LIVE_BOOT/chroot/ /bin/bash <<EOF
false
bad_command
echo "hi"
EOF

# Ex2. This *also* works fine and prints "hi!"
chroot LIVE_BOOT/chroot/ /bin/bash <<EOF
apt install -y --no-install-recommends nano
echo "hi!"
EOF

但关于特定的包会导致脚本提前中止,以便以下命令不会运行。

# This runs the apt command fine, but then stops executing.
chroot LIVE_BOOT/chroot/ /bin/bash <<EOF
apt install -y --no-install-recommends xserver-xorg-core
echo "hi????"
EOF

xserver-xorg-core我有一种预感,这与调用的事实有关keyboard-configuration,但这是一个疯狂的猜测。

debconf: falling back to frontend: Teletype
Configuring keyboard-configuration

无论什么原因,apt安装都xserver-xorg-core很好地完成,但heredoc立即终止,我不知道为什么或如何修复它。这是一个奇怪的现象chroot还是我正在使用的发行版?无论出于什么原因,我是否需要特殊的/dev或坐骑?/proc

答案1

您也许可以通过关闭交互式前端来解决该问题:

DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends xserver-xorg-core

相关内容