解決策 1:
08
を設定した場合 (debconf プロンプトが表示されないようにするため) 16
を追加します。 と 29
あなたの 31
に ファイルを使用すると、完全に非対話型のパッケージ インストール エクスペリエンスが得られるはずです。まだ情報の入力を求めるパッケージには、リリース クリティカルなバグがあります (そして、私は自動化ジャンキー および の両方として、 Debian 開発者として)
解決策 2:
Florian Lohoff は、womble が提案したものを 1 つのコマンドで取得する方法を投稿しました:
DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade
もちろん 47
も使用できます (confnew については、dpkg の man ページを検索してください)。ただし、これがどのような場合に違いを生むかはわかりません。個人的には、バニラ イメージを最新の状態にするために非対話型のアップグレードが必要です。その場合、常に新しい構成ファイルを選択することを想定しています ) は妥当なことです。
解決策 3:
上記のwombleの答えは一般的には良いですが、私にはうまくいきませんでした.100%無人になるには、追加の調査を行う必要がありました.将来の訪問者のために物事をより簡単にするために、結果を簡潔な方法で共有すると思いました.
以下は、debian 8 リリース ノートのアップグレードに関する推奨事項 (ほとんどの場合) に従って実行されるスクリプトであり、無人にするためのフラグと環境変数が含まれています。 (65
s はデバッグ用であり、削除することができます - ただし、スクリプトが動かなくなった場合に場所がわかるように保持することをお勧めします)
#!/bin/bash
apt-get remove apt-listchanges --assume-yes --force-yes &&
#using export is important since some of the commands in the script will fire in a subshell
export DEBIAN_FRONTEND=noninteractive &&
export APT_LISTCHANGES_FRONTEND=none &&
#lib6c was an issue for me as it ignored the DEBIAN_FRONTEND environment variable and fired a prompt anyway. This should fix it
echo 'libc6 libraries/restart-without-asking boolean true' | debconf-set-selections &&
echo "executing wheezy to jessie" &&
find /etc/apt -name "*.list" | xargs sed -i '/^deb/s/wheezy/jessie/g' &&
echo "executing autoremove" &&
apt-get -fuy --force-yes autoremove &&
echo "executing clean" &&
apt-get --force-yes clean &&
echo "executing update" &&
apt-get update &&
echo "executing upgrade" &&
apt-get --force-yes -o Dpkg::Options::="--force-confold" --force-yes -o Dpkg::Options::="--force-confdef" -fuy upgrade &&
echo "executing dist-upgrade" &&
apt-get --force-yes -o Dpkg::Options::="--force-confold" --force-yes -o Dpkg::Options::="--force-confdef" -fuy dist-upgrade
解決策 4:
>=Apt 1.1
Apt 1.1 以降を使用している場合、72
は廃止されたため、87
で始まるオプションを使用する必要があります 代わりに、例えば92
、 104
、 117
.
コマンドは次のとおりです。
DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::=--force-confold \
-o Dpkg::Options::=--force-confdef \
-y --allow-downgrades --allow-remove-essential --allow-change-held-packages \
dist-upgrade
出典:CFE-2360:apt_get パッケージ モジュールのバージョンを認識させる。
関連:
- apt-get update 非インタラクティブ
- apt-get に対話的なインストール後の構成手順をスキップするように依頼するにはどうすればよいですか?
- 非インタラクティブな apt アップグレード