자동 Alpine Linux 설치

자동 Alpine Linux 설치

무인 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서비스를 활성화하고 스크립트를 실행하려면 다음 단계를 따르세요 .

  1. 설치 스크립트를 작성하고 다음 위치에 저장합니다.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
    
  2. 정제 initramfs-lts. 빈 폴더에서 하셔야 합니다

    zcat initramfs-lts | cpio -idm
    rm -f initramfs-lts
    
  3. 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/
    
  4. myscript.start파일 과 동일한 폴더 에 복사init

  5. 재포장initramfs-lts

    find . | cpio -o -H newc | gzip -1 >initramfs-lts
    
  6. iso에서 initramfs-lts새 것으로 교체하십시오.

답변2

가상 머신의 경우 원본 .iso를 사용하여 직접 설치를 자동화하는 코드를 작성했습니다. 보세요https://gitlab.alpinelinux.org/ultrotter/alpine-autosetup초기 개념 증명을 수행합니다.

관련 정보