適切なインストールに入力を入力します。

適切なインストールに入力を入力します。

python3.9ubuntu:20.04ベースのDockerfileにインストールしようとしています。手動で実行すると、自分のタイムapt -y install python3.9ゾーンに対応する地域と都市を尋ねるメッセージが表示されます。私にとって、これはそれぞれオプション2と106(つまりニューヨーク)に対応します。しかし、私が走るとき

echo '2\n106' | apt -y install python3.9

apt出力

Use of uninitialized value $_[1] in join or string at /usr/share/perl5/Debconf/DbDriver/Stack.pm line 111, <STDIN> line 1.

Current default time zone: '/UTC'

apt入力値を正しく提供するにはどうすればよいですか?

答え1

環境でこの手順を実行してくださいapt installDEBIAN_FRONTEND=noninteractive

DEBIAN_FRONTEND=noninteractive apt -y install python3.9

これにより、インストールプロセス中にインタラクティブなプロンプトが表示されなくなります。その後、パッケージとその依存関係がインストールされたら、タイムゾーンを個別に設定します。

またはタイムゾーンを設定してください。今後DEBIAN_FRONTEND何も設定せずにPythonパッケージをインストールします。

ニューヨークのタイムゾーンデータへのシンボリックリンクを作成するには、次のコマンドを使用してタイムゾーンを設定します。

ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime

コンテナの対話型シェルで実行されている場合。 Dockerfileでは、これら2つの操作をどの順序で実行しても、DEBIAN_FRONTEND変数を設定せずに非対話型パッケージのインストールが行われます。

FROM ubuntu:20.04

RUN ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
RUN apt-get update && apt-get install -y python3.9

apt-get代わりに使用することは対話型シェルで使用されますが、スクリプトにも使用できます。aptaptapt-get

関連情報