--assume-yesを使用したapt-getインストールの自動化


68

ソフトウェアのリストをインストールするbashスクリプトを作成しようとしています。私は--assume-yesプロンプトを通過するために使用しています。

次の行はどういうわけか機能しません。

sudo apt-get install python-software-properties --assume-yes

私はそれapt-getなし--assume-yesでしようとすると、プロンプトが私に尋ねます:

please [Enter] to continue or ctrl+c to cancel adding it

使用Enterするapt-get install代わりに実行中にコマンドとして追加するにはどうすればよい--assume-yesですか?


please [Enter] to continue or ctrl+c to cancel adding itPPAを追加しようとしている場合にのみ表示されます。
アビナッシュラジ14

回答:


89

あなたの問題は、オプションがパッケージの前ではなく前にあるべきであるということです、これは正しい構文です:

apt-get <options> command package=version/release

したがって、それが機能するには、次のようになります。

sudo apt-get --assume-yes install python-software-properties

コマンドとオプションを混在させる場合、apt-getは許容されますが、安全のために、コマンドの前に常にオプションを使用し、パッケージの名前の後にオプションまたはコマンドを配置しないでください。


51

以下のようなコマンドに-yフラグを追加apt-get install <package-name>すると、パッケージのインストール中にプロンプ​​トは表示されません。

sudo apt-get install -y <package-name>

から apt-get --help

-y  Assume Yes to all queries and do not prompt

との間に違いは--assume-yesあり-yますか?
ピーターモーテンセン

3
@PeterMortensen彼らは同じことをします。manページから:-y, --yes, --assume-yes Automatic yes to prompts
davejagoda

1
これでは十分ではない可能性があり-o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"、コマンドに追加する必要がある場合があることに注意してください。詳細については、raphaelhertzog.com / 2010/09/21 /…を参照してください。
TTimo

@TTimoうわー!あなたがそのコメントを投稿してから6日後、私は一緒に来て、それがまさに私が必要とする答えだと思います!! 私はあなたのコメントをもっと賛成できれば私はそうするでしょう!
クリムボ

追加のオプションを使用して回答を自由に編集してください。
Avinash Raj

1

次のような別の静かで効果的な方法:

sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.