パックマンがすべての質問に「はい」と答えるようにするにはどうすればよいですか?

パックマンがすべての質問に「はい」と答えるようにするにはどうすればよいですか?

スクリプトでパックマンを実行しようとしています。問題は、競合するパッケージをインストールする必要がありますが、現在インストールされているパッケージを置き換えてはいけません。答え通りここ--noconfirmオプションを渡しましたが、pacmanのstdinがttyを指していないため、デフォルトの答えは「no」と仮定します。パックマンがすべての質問に「はい」と答えるようにするにはどうすればよいですか? pacmanに入力を渡すことはできないので(makechrootpkgを介して実行される)、提案されたyesコマンドまたは同様のコマンドを使用することはできません。ここ

これはパックマンの出力です:

loading packages...
resolving dependencies...
looking for conflicting packages...
:: libinput-ubuntu and libinput are in conflict. Remove libinput? [y/N] 
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)

ベストアンサー1

基本的な回答(テストに使用されます)を--ask BITMASK裏返す文書化されていないオプション()があります。pacman次のビット列挙(alpm.h)が定義されます。

   typedef enum _alpm_question_type_t {
        ALPM_QUESTION_INSTALL_IGNOREPKG = (1 << 0),
        ALPM_QUESTION_REPLACE_PKG = (1 << 1),
        ALPM_QUESTION_CONFLICT_PKG = (1 << 2),
        ALPM_QUESTION_CORRUPTED_PKG = (1 << 3),
        ALPM_QUESTION_REMOVE_PKGS = (1 << 4),
        ALPM_QUESTION_SELECT_PROVIDER = (1 << 5),
        ALPM_QUESTION_IMPORT_KEY = (1 << 6)
    } alpm_question_type_t;

パッケージを自動的に交換するには、以下を使用してください。

sudo pacman -S  PKGNAME  --ask 4

おすすめ記事