![你可以将Alpine的apk配置为默认交互式吗?](https://linux22.com/image/204706/%E4%BD%A0%E5%8F%AF%E4%BB%A5%E5%B0%86Alpine%E7%9A%84apk%E9%85%8D%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E4%BA%A4%E4%BA%92%E5%BC%8F%E5%90%97%EF%BC%9F.png)
我发现自己更喜欢交互模式,-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 引导程序中意外启用交互模式。