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

関連情報