apt:デフォルトの答えを「Y」から「N」に変更します。

apt:デフォルトの答えを「Y」から「N」に変更します。

RPM Linuxに何かをインストールするときにdnf最も簡単な呼び出しでメッセージが表示される場合、デフォルトの答えは「N」(いいえ)で、ユーザーは「Y」(または「y」)を押してからEnterキーを押してソフトウェアパッケージをインストールする必要があります。インストールを中止するには、Enterキーを押すだけです。

Debian ベースのシステムで同じことを行う場合、aptデフォルトは「Y」(yes) です。誤ってEnterキーを2回押すと、システムに重大な結果が生じる可能性があります(特にaptパッケージが試みたいパッケージと競合する場合)。 installを実行すると、パッケージは同じプロセスで削除されます。))

aptだから私の質問は:プロンプトもデフォルトで「N」に設定できますか?

システムがデプロイされている間、これはエイリアスコマンドラインオプションではなく構成でなければなりません。

答え1

刺す源泉:

      if (YnPrompt(_("Do you want to continue?")) == false)

さまざまな場所の依存関係関数YnPrompt()そのために:

// YnPrompt - Yes No Prompt.                      /*{{{*/
// ---------------------------------------------------------------------
/* Returns true on a Yes.*/
bool YnPrompt(char const * const Question, bool const Default, bool const ShowGlobalErrors, std::ostream &c1o, std::ostream &c2o)
{
...
bool YnPrompt(char const * const Question, bool const Default)
{
   return YnPrompt(Question, Default, true, c1out, c2out);
}

そしてDefaultデフォルトはtrue:

// prompting
APT_PUBLIC bool YnPrompt(char const *const Question, bool Default = true);
bool YnPrompt(char const * const Question, bool const Default, bool const ShowGlobalErrors, std::ostream &c1o, std::ostream &c2o);

[Y/n]ヒントが有効になっている場合は、さまざまな言語または一般的ではない言語(存在する言語、以下の例を参照)でディスプレイを翻訳/ローカライズするセクションがあります。[y/N]

   if (Default == true)
      // TRANSLATOR: Yes/No question help-text: defaulting to Y[es]
      //             e.g. "Do you want to continue? [Y/n] "
      //             The user has to answer with an input matching the
      //             YESEXPR/NOEXPR defined in your l10n.
      c2o << " " << _("[Y/n]") << " " << std::flush;
   else
      // TRANSLATOR: Yes/No question help-text: defaulting to N[o]
      //             e.g. "Should this file be removed? [y/N] "
      //             The user has to answer with an input matching the
      //             YESEXPR/NOEXPR defined in your l10n.
      c2o << " " << _("[y/N]") << " " << std::flush;

それからその部分答えがない場合は、プロンプトの入力を検索します。APT構成で強制

Defaultしたがって、ヒントは、関数を呼び出すときに使用するパラメータ値によって異なります。

[Y/n]このパラメータはデフォルトのプロンプト/回答から離れて数箇所でのみ提供されYes、毎回定数として直接提供されるため、APT設定に依存しません。例は以下にあります。源泉のためapt-mark

      if (YnPrompt(_("Do you want to continue?"), false) == false)

そして間違った次のようにヒントを要求します[y/N]

# apt-mark minimize-manual
The following packages will be marked as automatically installed:
[...]
Do you want to continue? [y/N] 
#

したがって、これらのプロンプトが発生しないようにAPT構成があります。APT::Get::Assume-YesまたはAPT::Get::Assume-NoYesプロンプトNoを隠し直接/から/に変更し、デフォルトのプロンプト/応答を/から/に変更することはできません。APT::Mark::Simulate[Y/n]Yes[y/N]No[y/N]No[Y/n]Yes


結論:この機能は現在利用できません。これは、渡されたパラメータの評価方法を変更するために調べることができる1つまたは2つの新しい専用APT設定パラメータ(「どのように」および「作業」に似ている)を作成することによってAPT::Get::Assume-Yes達成できます。あるいは、クエリ時にそのコマンドが渡す内容を変更するために、特定のAPTコマンド(たとえば)に関連する他のAPT設定パラメータがありますが、現在は存在しません。APT::Get::Assume-NoYnPrompt()Defaultapt-markYnPrompt()

関連情報