web-dev-qa-db-ja.com

apt-get install tzdata noninteractive

しようとすると

apt-get install -y tzdata

タイムゾーンを選択するためのコマンドラインオプションが表示されます。スクリプトでこれを使用してセットアップを試みていますが、ユーザー入力なしでapt-getを実行するにはどうすればよいですか?

私は私ができるtzdataを再構成することを知っています

echo "America/New_York" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata

しかし、適切なタイムゾーンが設定されていなくても、インストール時に完全に実行する必要がある場合は、いつでも再構成できます。

私は試した

echo 5 | apt-get install -y tzdata

しかし、期待どおりに機能していません。

47
PYA

これは私が使用したスクリプトです

(コメントの@elquimistaからの入力で更新されたバージョン)

#!/bin/bash
export DEBIAN_FRONTEND=noninteractive

ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
apt-get install -y tzdata
dpkg-reconfigure --frontend noninteractive tzdata

うまくいくようです。

96
PYA

これに対するクレジットはすべて@PYAに送られますが、正しい順序は次のとおりです。

ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
export DEBIAN_FRONTEND=noninteractive
apt-get install -y tzdata
dpkg-reconfigure --frontend noninteractive tzdata
1
Jean Paul Ruiz