你可以将Alpine的apk配置为默认交互式吗?

你可以将Alpine的apk配置为默认交互式吗?

我发现自己更喜欢交互模式,-i在运行 Alpine 的 apk 时可以通过添加标志来访问交互模式,而不是默认的非交互模式。然而,不断地写例如# apk add -i过来是相当乏味的# apk add。有什么办法可以让交互模式成为 Alpine apk 的默认操作模式吗?

答案1

源码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选项的行为。但我在联机帮助页中找不到任何提及它的内容。


这是添加在应用程序2.3

apk: /etc/apk/interactive 启用 tty 会话的交互模式

如果有人在终端中运行 apk 时更喜欢额外的问题。该文件始终来自真实根目录;不是来自 --root,这样我们就不会在 initramfs 引导程序中意外启用交互模式。

相关内容