非インタラクティブなシステム更新スクリプトを記述しようとしています。
質問:
以下がうまくいく場合:
yes | dpkg --configure -a
以下もうまくいきますか?:
yes | apt-get install --fix-broken
-y
に--yes
または--assume-yes
またはapt-get
パラメータがあります。
のようなものを試してください
Sudo apt-get install -y <package-name>
詳細:
apt-getのマニュアルページ (man apt-get
コマンドでマニュアルページを参照することもできます)には次のように記載されています。
-y、-yes、-assume-yes
プロンプトに対して自動yes。すべてのプロンプトへの回答として「はい」を想定し、非対話的に実行します。保持されているパッケージの変更や必須パッケージの削除などの望ましくない状況が発生した場合、apt-getは中止されます。構成アイテム:APT :: Get :: Assume-Yes。
このパラメーターとは逆に、
-仮定する
すべてのプロンプトに対して自動「いいえ」。構成アイテム:APT :: Get :: Assume-No。
編集
Vlastimilのコメントについて、私は試しました
Sudo apt-get install --fix-broken --assume-yes
そしてそれは機能します。コマンドの--fix-broken
部分は、便宜上、-f
と--assume-yes
を-y
または--yes
に置き換えることができます。これは特定のパッケージをインストールしませんが、「許可するパッケージを省略してAPT可能性のある解決策を推測することができます」と、マニュアルページに記載されています。