無人Alpine Linuxインストールを実装しようとしています。アルプスを超えました。自動インストールガイドしかし、インストールプロセスにはまだ多くの手動介入が必要です!たとえば、rootユーザー名を指定し、応答ファイルを作成し(setup-alpine -c answerfileName
)、応答ファイルを編集し、実際のインストールコマンドを呼び出し(setup-alpine -f answerfileName
)、rootパスワードをリセットします。
インストールを開始する前にデフォルトでrootユーザーを選択し、インストールが完了した後にパスワードを設定する応答ファイルをISOイメージに含める方法はありますか? CentOSでは、次の場所でキックスタートファイルを提供できますisolinux.cfg
。
label MyMENU2
menu label ^Deploy Manager Node
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=MYISO inst.ks=hd:LABEL=MYISO:/ks/ks1.cfg quiet
Alpine Linuxにも似ていますか?
答え1
アルパインにはというサービスがありますlocal
。
サービスが起動すると*.start
実行されます/etc/local.d/
。
ただし、local
このサービスはデフォルトでは有効になっていません。
local
サービスを有効にしてスクリプトを実行するには、次の手順に従います。
インストールスクリプトを作成し、次の場所に保存します。
myscript.start
引用:https://docs.alpinelinux.org/user-handbook/0.1a/Installing/manual.html
たとえば、
# show script's output exec > >(tee -a /dev/tty0) 2>&1 # delete this hack # otherwise this script will run on the system we newly installed rm -f /etc/local.d/myscript.start rm -f /etc/runlevels/default/local # do the system installation setup-interfaces -a rc-update add networking boot echo root:123@@@ | chpasswd printf '\nyes' | setup-sshd setup-keymap us us setup-timezone -i Asia/Shanghai setup-ntp chrony || true true >/etc/apk/repositories setup-apkrepos -1 printf 'y' | setup-disk -m sys /dev/sda reboot
タブレット
initramfs-lts
。空のフォルダで行う必要がありますzcat initramfs-lts | cpio -idm rm -f initramfs-lts
init
ファイルを編集します。探すexec switch_root $switch_root_opts $sysroot $chart_init "$KOPT_init" $KOPT_init_args
コマンドの前に次の3行を追加します
exec
。cp /myscript.start \$sysroot/etc/local.d/ chmod a+x \$sysroot/etc/local.d/myscript.start ln -s /etc/init.d/local \$sysroot/etc/runlevels/default/
myscript.start
ファイルと同じフォルダにコピーinit
再梱包
initramfs-lts
find . | cpio -o -H newc | gzip -1 >initramfs-lts
isoから
initramfs-lts
新しいものと交換してください。
答え2
仮想マシンの場合は、元の.isoを使用して直接インストールを自動化するコードを作成しました。見てhttps://gitlab.alpinelinux.org/ultrotter/alpine-autosetup初期概念証明を実行します。