すべての質問に「はい」と仮定するパックマンオプション


51

debianシステムにソフトウェアをインストールするとき、次のようなものを置くことができます:

sudo apt-get install -y chromium-browser

この方法でインストールが自動的に行われ、インストールの確認を求められることはありません[Y / n]。pacmanでも同じことができますか?

回答:


77

からman pacman

--noconfirm
すべての「Are you sure?」メッセージをバイパスします。スクリプトからpacmanを実行したいのでなければ、これを行うのは得策ではありません。

これを使用する際の注意事項を注意してください...

Archはローリングリリースです。つまり、pacmanは、非常に複雑なアップグレードを時々管理する必要があります。これらの場合、pacmanは選択を確認するプロンプトを表示します。これらのプロンプトを無視することは一般に重要な問題ではありませんが、最近のから/libへの移行のように/usr/lib、注意の欠如は重大な破損を引き起こします。これはあなたが耕したい習慣ではありません。


その警告のために、Archを使用してから約3年間、pacmanを "--noconfirm"で実行したことはありません。スクリプトからpacmanを実行する人は何人ですか?大きなリスクは何ですか?pacmanがアップグレードを拒否した問題を修正するために、3回または4回介入する必要がありました。
ブルースエディガー

3
Archの文化を考えると、警告は自己満足を思いとどまらせるためのものであり、pacmanの更新を自動化することは良い考えであるという誤った考えです。たくさんの破損のは、パックマンの出力を読んでいない人にまで置くことができます。--noconfirmそれを悪化させるだろう
...-jasonwryan

1
--noconfirmを使用する「インストール」スクリプトがあります。アイデアは、最近更新されたクリーンインストールでシステムを取得し、ユーザーの操作なしで「使用可能」にすることです。
StrongBad

3
実際に--noconfirmは、を想定しておらずyes、代わりにデフォルトの回答を想定していますno。例:# pacman -Scc Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove ALL files from cache? [y/N]上記の場合については、yes|pacman -Scc想定しているyes
Utgarda

1
実際、pacman --noconfirmDockerコンテナを使用している場合は必須です。そうでない場合、入力を待機するだけで、エラーでコンテナをシャットダウンします。
アミンナイリ

29

問題のマンページはあまり明確ではありませんが、--noconfirmフラグはすべての回答で「はい」とは想定しません。時々「いいえ」になるデフォルトの回答を想定しています。

--noconfirm
      すべての「Are you sure?」メッセージをバイパスします。
      スクリプトからpacmanを実行したいのでなければ、これを行うのは良い考えではありません

「はい」と仮定するには、yesコマンドの出力をにパイプしますpacman

yes | sudo pacman -S firefox

yes | LC_ALL=en_US.UTF-8 pacman [...]言語が英語に設定されていないシステムとの互換性のために使用します。そうでない場合、[Y/n]質問[J/n]は例えばになります。
ComFreek

3
また、パックマンがこれまでになくて質問をする場合は、この答えは失敗用心y例えば、答えEnter a selection (default=all)
ComFreek

@ComFreekは、に渡される環境変数を変更するよりも、その場合pacmanに行う方が簡単で、おそらく安全yes J | sudo pacman -S firefoxです。yes Jyes、のJ代わりにを繰り返し出力しyます。
ドリューチャピン

「そしておそらくおそらくより安全」どのように?上記のオーバーライドは、生成されたプロセス(ツリー)の環境にのみ影響し、それで終了します。さらに、上記の呼び出しはすべてのロケールでまったく同じです。
ケルビン

また、誰かがそのようなコマンドラインの1つをコピー/貼り付けしたが、オプションの1つが反対の、またはまったく異なる意味を持つロケールを持っている場合はどうなりますか?例:(JまたはY)「no」または「all」を意味します。
ケルビン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.