디지털 라이프 電子的生活 My Digital Life/잡다한 Linux 관련 것들

RHEL/CentOS kickstart 활용하기

미친도사 2018. 8. 30. 14:06

최근에 장비 설치 지원하다 보니 기술 지원팀 직원들이 RHEL 혹은 CentOS의 kickstart를 활용한 OS 설치를 안 쓰시는 것 같아 소개글을 내부적으로 공유했는데, 그 내용을 블로그에도 남겨 봅니다.

kickstart라 함은 동일한 환경의 OS를 반복 설치해야 할 때, 미리 설정해둔 OS가 설치되도록 하는 환경 파일입니다.

 

제일 쉽게 쓰는 방법은 OS를 USB 메모리로 만들어서 kickstart 파일을 USB에 담아서 쓰는 것입니다.

CentOS 혹은 RHEL ISO를 USB로 저장하는 툴은 rufus란 툴이 쓰기 편하더군요.

https://rufus.akeo.ie/

 

이 툴을 이용하여 부팅가능한 USB메모리가 준비하고요.

 

kickstart파일은 설치된 RHEL/CentOS의 /root 에 있는 anaconda-ks.cfg란 파일을 이용하는 것이 제일 편합니다.

OS를 설치할 때 설정한 시간대, 패키지, 네트워크, 디스크 파티션 등등의 내용이 모두 들어 있습니다.

여기에 조금만 옵션을 추가하면 상당히 편해집니다.

쓸 수 있는 옵션은 다음 링크를 참고하시면 됩니다.

https://access.redhat.com/documentation/ko-kr/red_hat_enterprise_linux/6/html/installation_guide/s1-kickstart2-options

 

몇가지 유용한 옵션을 소개하자면,

eula --agreed : 최초 설치 후에 사용자 라이센스 동의를 묻는 부분을 동의한 것으로 해서 넘어가는 겁니다.

firstboot --disable : 최초 로그인을 하면 키보드, 언어 등을 묻는 부분이 있는데, 건너 뛰는 겁니다

reboot : 설치 후에 자동으로 리부팅하게 합니다.

 

이 외에 설치 후에 필요한 설정이 있다면

%post

mkdir /global

%end

이런 식으로  해 놓으면 설치 과정 중에 /global이란 디렉토리를 만듭니다.

 

기본으로 설치되는 패키지 외에 설치할 패키지가 있다면, %packages란 섹션 아래에 패키지 이름을 추가하면 됩니다. 그러면 알아서 의존성까지 검사해서 알아서 설치됩니다.

 

이렇게 kickstart 파일을 만들어 놓은 후에 OS USB메모리의 부팅 메뉴에 kickstart를 등록합니다.

/EFI/BOOT/grub.cfg를 텍스트 에디터로 열어서 ...

 

menuentry 'Install CentOS 7' 부분을 복사해서 새로운 menu를 만들고 해당 kickstart로 설치하도록 설정을 바꿉니다.

아래 메뉴에 'Install CentOS 7 KS'가  kickstart를 위해 추가한 부분입니다.

 

 

이렇게 해서 부팅하고 새로 만든 메뉴로 부팅하면 알아서 설치가 다 되고 부팅까지 끝낼 겁니다.

 

여러 시스템을 동일한 환경으로 만든다거나, 한 시스템에 설정하다가 다시 OS를 설치해야 할 경우에 활용하면 아주 편합니다.

이 kickstart 파일은 여러 개 만들어서 메뉴에 등록해도 됩니다. 사이트별, 시스템별, 프로젝트별 ... 원하는 대로 만들어 추가하고 관리할 수 있습니다.

 

이걸 조금 활용하면 PXE로 네트워크 설치하는 것도 가능하고요.

 
그냥 참고 자료로 남깁니다.
 
2021.08. 업데이트. PXE 서버를 통해 Kickstart 활용한 글도 하나 썼습니다.

 

반응형