숙련된 조교 2024. 10. 9. 15:25
728x90
반응형

Kickstart는 Red Hat 계열의 리눅스 배포판(예: Red Hat Enterprise Linux, CentOS, Fedora)에서 자동으로 운영 체제를 설치할 수 있게 해주는 자동화 설치 스크립트. 수동으로 일일이 설정할 필요 없이, 미리 정의된 설정 파일을 사용하여 빠르고 일관되게 여러 시스템에 운영 체제를 설치할 수 있다.

Kickstart 파일은 설치 과정에서 필요한 다양한 설정을 미리 지정해 두는 텍스트 파일 형식. 이를 통해 사용자는 네트워크 설정, 파티셔닝, 패키지 설치, 사용자 계정, 서비스 설정 등을 자동으로 처리할 수 있다.


vi /var/lib/tftpboot/pxelinux.cfg/default 에 부팅 내용 설정

 

 

default menu.c32              // 실행할 파일의 이름

prompt 0                           // 메뉴 출력 여부 (0 : 출력 , 1 : 출력 X)

timeout 150                      // 메뉴 대기 시간 15초

ontimeout local                // 메뉴 대기 시간 초과 시 실행할 내용 (local)

 

LABEL local                                 // 대기  시간이 초과할 시 진행할 메뉴

MENU LABEL Boot Local Disk   // 메뉴에 출력될 내용

localboot 0                                  // 하드디스크 부팅

 

KERNEL  /rockylinux8.6/vmlinuz   // (/var/lib/tftpboot 의 경로)

APPEND initrd=/rockylinux8.6/initrd.img inst.repo=ftp://192.168.56.20/rockylinux8.6  // initrd.img 파일의 경로와 운영체제 설치에 필요한 파일을 다운로드할 경로


 

리눅스는 현재 설치된 시스템의 설정이 /root/anaconda-ks.cfg 라는 이름으로 저장됨.
이 파일을 이용하여 kickstart 설치를 진행.

mkdir /var/ftp/kickstart
cp ~/anaconda-ks.cfg /var/ftp/kickstart/rockylinux86.cfg
vi /var/ftp/kickstart/rockylinux86.cfg


# version=RHEL8
# Use graphical install
graphical  # 설치 과정이 텍스트 모드가 아닌 GUI를 통해 진행

reboot  #설치 완료 후 재부팅

url --url="ftp://192.168.56.20/rockylinux8.6/BaseOS"  # 설치 파일 지정
repo --name="AppStream" --baseurl="ftp://192.168.56.20/rockylinux8.6/AppStream"   # 추가 패키지들이 설치되지 않을 경우 해당 내용 추가


#repo --name="AppStream" --baseurl=file:///run/install/sources/mount-0000-cdrom/AppStream

%packages   #설치 패키지들
@^minimal-environment
@development
@legacy-unix
@rpm-development-tools
@system-tools

# Keyboard layouts   #키보드 언어 설정
keyboard --xlayouts='us'

 

# System language  OS 언어 설정
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=enp0s3 --ipv6=auto --activate
network  --bootproto=dhcp --device=enp0s8 --onboot=off --ipv6=auto
network  --hostname=localhost.localdomain

# Use CDROM installation media
#cdrom 주석처리하기

# Run the Setup Agent on first boot
firstboot --enable

ignoredisk --only-use=sda
# Partition clearing information
#clearpart --none --initlabel
clearpart --all     #킥스타트로 설치 시 모든 드라이브의 기존 파티션, 파일 삭제

# Disk partitioning information
#part / --fstype="xfs" --ondisk=sda --size=46076

part biosboot --fstype="biosboot" --ondisk=sda --size=2

part / --fstype="xfs" --ondisk=sda --grow     # / 의 크기를 지정하지 않고 나머지 크기로 잡을 때

part swap --fstype="swap" --ondisk=sda --size=4096

part /boot --fstype="xfs" --ondisk=sda --size=1024

# System timezone
timezone Asia/Seoul --isUtc --nontp

# Root password
rootpw --iscrypted $6$gnytqR3I4CtdVTp2$jx.hfKTejCMGiru03o19DYPvT07xRifPcJd19QVd8o9KhOZoQSWRp5q.KIfUkB2MGgUGrolAs7IdOwdwHjBqe1

%addon com_redhat_kdump --disable --reserve-mb='auto'

%end

%post

systemctl disable multipathd     # 설치 완료 후 kickstart 거치지 않고 재부팅
%end

 

 


# Root --password의 iscrypted는

vi /etc/shadow 에 표시되어 있는 root 의 비밀번호로 입력

 

chmod 755 /var/ftp/kickstart/rockylinux86.cfg

엑세스 권한이 없으면 서버에서 사용하지 못함

 

 

vi /var/lib/tftpboot/pxelinux.cfg/default 내용 수정


default menu.c32
prompt 0
timeout 600
ontimeout local

LABEL local
        MENU LABEL Boot Local Disk
        localboot 0

LABEL RockyLinux8.6
        MENU LABEL RockyLinux 8.6 Install
        KERNEL /rockylinux8.6/vmlinuz
        APPEND initrd=/rockylinux8.6/initrd.img inst.repo=ftp://192.168.56.20/rockylinux8.6

LABEL RockyLinux8.6(Kickstart)
        MENU LABEL RockyLinux 8.6 Install(Kickstart)
        KERNEL /rockylinux8.6/vmlinuz
        APPEND initrd=/rockylinux8.6/initrd.img inst.repo=ftp://192.168.56.20/rockylinux8.6 inst.ks=ftp://192.168.56.20/kickstart/rockylinux86.cfg


 

새로운 VM 실행

 

F12 키를 눌러 boot 모드 진입

l(엘) 입력

 

새로 추가된 Kickstart 확인 및 선택

 

/var/ftp/kickstart/rockylinux86.cfg  해당 파일을 읽어와서 자동으로 설치 진행됨. 

 

설치 후 IP가 사전에 설정된 범위 내에 있는지 확인

 

이상 숙련된 조교의 시범이었다.

728x90
반응형