将软件包添加到 alpine linux iso 的另一种方法

将软件包添加到 alpine linux iso 的另一种方法

我正在努力将软件包安装到我的自定义 alpine-linux iso 中。到目前为止,遵循官方 wiki 关于如何创建基本自定义 iso 的操作是有效的。

我已阅读以下帖子并尝试了其中描述的一些方法:

但是,我对 中描述的解决方案不太满意[1]。因为我想保持我的世界文件干净,而不是因为我的包而完全膨胀。 (我确实有一个 apkovl,因为我需要在启动时启动其他服务)。另外,这些软件包必须已经自动安装在 iso 中,而不是在我手动输入之后apk add正如官方 wiki 中所述

我尝试继续使用方法号。 4 中描述的,其中需要[2]创建脚本。/etc/local.d该脚本正在 live-iso 中生成,但未执行,即使我添加localsysinit

genapkovl-custom.sh:

rc_add local sysinit

下面是 中的脚本,执行/etc/local.d时会写入:genapkovl-custom.sh

genapkovl-custom.sh:

mkdir -p "$tmp"/etc/local.d
makefile root:root 0755 "$tmp"/etc/local.d/99-install.sh <<EOF
#!/bin/sh

apks="salt openjdk17-jre-haedless podman zsh mariadb"
apk update
for apk in \${apks}; do
    apk add "\$apk"
done
EOF

自定义配置文件中的变量$apks对我不起作用。它仅在 iso 创建期间下载软件包,但不安装它们。

是否有其他方法可以在 iso 内安装软件包并确保它们已安装并可以在实时环境中使用,而无需执行上述步骤?

答案1

TeArch 有一个名为 teaiso 的项目: https://gitlab.com/teach-linux/applications-and-tools/teaiso

airootfs它允许我使用目录和自定义包创建自己的自定义 alpine iso 。

对于那些还想要自定义 iso 的人来说,他们有一个非常简单的文档,其中涵盖了自定义 alpine 发行版的基本需求。

相关内容