무인 Alpine Linux 설치를 구현하려고 합니다. 알프스를 넘었어요자동 설치 가이드그러나 설치 과정에는 여전히 많은 수동 개입이 필요합니다! 예를 들어 루트 사용자 이름을 제공하고, 응답 파일을 생성하고( setup-alpine -c answerfileName
), 응답 파일을 편집하고, 실제 설치 명령을 호출하고( setup-alpine -f answerfileName
), 루트 암호를 재설정합니다.
설치를 시작하기 전에 기본적으로 루트 사용자를 선택하고 설치가 완료된 후 비밀번호를 설정하는 응답 파일을 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초기 개념 증명을 수행합니다.