Package-Management

你能把Alpine的apk配置成預設互動嗎?

  • April 13, 2022

我發現自己更喜歡可以通過-i在執行 Alpine 的 apk 時添加標誌來訪問的互動模式,而不是預設的非互動模式。然而,不斷地寫例如# apk add -iover是相當乏味的# apk add。有什麼辦法可以讓互動模式成為 Alpine 的 apk 的預設操作模式?

原始碼apk具有可能感興趣的此功能。

static void setup_automatic_flags(void)
{
   [...]
   if (!(apk_flags & APK_SIMULATE) &&
       access("/etc/apk/interactive", F_OK) == 0)
       apk_flags |= APK_INTERACTIVE;
}

APK_INTERACTIVE-i選項啟用的標誌:

#define GLOBAL_OPTIONS(OPT) \
   ...
   OPT(OPT_GLOBAL_interactive,     APK_OPT_SH("i") "interactive") \
   ...

和:

static int option_parse_global(void *ctx, struct apk_db_options *dbopts, int opt, const char *optarg)
{
...
   case OPT_GLOBAL_interactive:
       apk_flags |= APK_INTERACTIVE;
       break;

我認為這意味著/etc/apk/interactive文件的存在會自動啟用-i選項的行為。不過,我在手冊頁中找不到任何提及它的內容。


這是在apk 2.3中添加的:

apk: /etc/apk/interactive 為 tty 會話啟用互動模式

如果有人在終端中執行 apk 時喜歡額外的問題。該文件始終來自真正的根;不是來自 –root 以便我們在 initramfs 引導時不會意外啟用互動模式。

引用自:https://unix.stackexchange.com/questions/698973