PXE 네트워크 부팅 및 자동 설치를 통해 현재 Ubuntu 버전을 어떻게 설치할 수 있습니까?

마리안 레이너-하르 바흐

Ubuntu 20.10 (Groovy Gorilla)부터 Canonical은 더 이상 netboot.tar.gz패키지와 mini.iso이미지를 제공하지 않습니다 . 이전에는 PXE를 통해 시스템을 부팅하고 사전 설정 구성을 통해 자동으로 데비안 설치 프로그램을 실행하는 데 사용할 수있었습니다.

20.10으로 시작하는 Ubuntu 버전을 PXE 부팅을 통해 어떻게 자동으로 설치할 수 있습니까?

마리안 레이너-하르 바흐

소개

작업에 특정한 작은 패키지를 사용하는 대신 이제 일반 전체 ISO 이미지를 사용해야합니다. 서버 설치 프로그램 Subiquity 만 자동화 할 수 있으므로 데스크톱 설치시에도 서버 이미지를 사용해야합니다.

다음 단계는 현재 버전 20.10 (Groovy Gorilla) 용입니다. 이후 버전의 경우 모든 항목 20.10을 설치할 버전 번호로 바꿉니다.

전제 조건

PXE 파일, 설치 프로그램 이미지 및 자동 설치 구성을 제공 할 서버 시스템의 전제 조건 :

  • 작동중인 TFTP 서버 및 해당 DHCP 구성
  • 작동하는 웹 서버
  • 패키지를 갖는 pxelinux, syslinux-efi, syslinux-common설치

ISO 이미지 및 자동 설치 구성 제공

  1. 전체 라이브 서버 이미지 다운로드 : wget https://releases.ubuntu.com/20.10/ubuntu-20.10-live-server-amd64.iso
  2. 웹 서버에 ISO 이미지 복사
  3. 웹 서버에 자동 설치 구성을 저장할 디렉토리를 만듭니다. 파일 meta-datauser-data디렉토리를 만듭니다 .
  4. https://ubuntu.com/server/docs/install/autoinstall-referenceuser-data참조사용하여 파일 자동 설치 구성을 작성합니다.

PXE 환경 준비 및 제공

  1. 기본적으로 TFTP 서버가 제공하는 디렉토리로 이동합니다. /srv/tftp

  2. 이전 섹션에서 다운로드 한 ISO 이미지를 현재 디렉토리에 복사합니다.

  3. 다음 단계에서 사용할 일부 디렉터리를 만듭니다. mkdir -p iso_mount init boot/uefi boot/bios pxelinux.cfg

  4. 이미지를 마운트하고 커널과 initrd를 추출합니다.

     mount -o loop ubuntu-20.10-live-server-amd64.iso iso_mount/
     cp -p iso_mount/casper/vmlinuz init/
     cp -p iso_mount/casper/initrd init/
     umount iso_mount
    
  5. UEFI 및 BIOS를 통한 부팅을 위해 PXELINUX 파일을 준비합니다.

     # UEFI
     cp -p /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi boot/uefi
     cp -p /usr/lib/syslinux/modules/efi64/ldlinux.e64 boot/uefi
     cp -p /usr/lib/syslinux/modules/efi64/libcom32.c32 boot/uefi
     cp -p /usr/lib/syslinux/modules/efi64/libutil.c32 boot/uefi
     cp -p /usr/lib/syslinux/modules/efi64/vesamenu.c32 boot/uefi
    
     # BIOS
     cp -p /usr/lib/PXELINUX/pxelinux.0 boot/bios
     cp -p /usr/lib/syslinux/modules/bios/ldlinux.c32 boot/bios
     cp -p /usr/lib/syslinux/modules/bios/libcom32.c32 boot/bios
     cp -p /usr/lib/syslinux/modules/bios/libutil.c32 boot/bios
     cp -p /usr/lib/syslinux/modules/bios/vesamenu.c32 boot/bios
    
  6. boot/uefi/syslinux.efiUEFI 클라이언트 및 boot/bios/pxelinux.0BIOS 클라이언트에 대해 부팅 파일 이름을 설정하도록 DHCP 서버를 구성합니다.

  7. pxelinux.cfg/default다음과 유사한 PXELINUX 구성을 만듭니다 . 꺾쇠 괄호 안의 URL을 웹 서버 <iso url>의 URL로 대체하십시오 . ISO 이미지 <autoinstall url>에 대한 URL 자동 설치 구성이 포함 된 디렉토리의 URL (후행 슬래시 포함!)로 대체하십시오 .

     DEFAULT vesamenu.c32
     PROMPT 0
     NOESCAPE 1
    
     MENU TITLE PXE System Installation
    
     LABEL Ubuntu 20.10
       MENU LABEL ubuntu_20.10
       KERNEL ../../init/vmlinuz
       INITRD ../../init/initrd
       APPEND root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=<iso url> autoinstall ds=nocloud-net;s=<autoinstall url>
    
  8. PXELINUX 구성 boot을 UEFI 및 BIOS 용 디렉토리에 연결합니다 .

     ln -s ../../pxelinux.cfg boot/uefi/pxelinux.cfg
     ln -s ../../pxelinux.cfg boot/bios/pxelinux.cfg
    

결론

이제 PXE를 통해 UEFI 및 BIOS 클라이언트를 Subiquity 설치 프로그램으로 부팅 할 수 있어야합니다. 그러면 자동 설치 구성에 따라 자동으로 실행됩니다.

데스크탑 설치

데스크톱 시스템을 설치하는 경우 ubuntu-desktop패키지 를 설치해야 합니다.

일반적으로 데스크톱 시스템에서 사용되는 systemd-networkd대신 Subiquity가 활성화되므로 설치된 시스템의 네트워크 구성을 수정해야 NetworkManager합니다.

  1. Subiquity에서 만든 네트워크 구성을 제거합니다. rm /etc/netplan/00-installer-config.yaml

  2. /etc/netplan/01-network-manager-all.yaml다음 내용 으로 파일 만듭니다 .

     # Let NetworkManager manage all devices on this system
     network:
       version: 2
       renderer: NetworkManager
    
  3. 실행 netplan apply또는 재부팅

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관