20 사용자 정의된 사전 설치 배포 #
여러 동일 시스템에 SUSE Linux Enterprise Server의 사용자 정의된 사전 설치를 수행하면 시스템을 별도로 설치할 필요가 없으며 최종 사용자에게 표준화된 설치 경험을 제공할 수 있습니다.
YaST 처음 부팅을 사용하여 사용자 정의된 사전 설치 이미지를 생성하고 최종 사용자의 작업과 관련된 최종 개인 설정 단계의 워크플로를 결정합니다(완전 자동화된 설치를 허용하는 AutoYaST와 반대).
사용자 정의 설치 생성, 하드웨어에 실현 및 최종 제품 개인 설정은 다음 단계를 참조하십시오.
디스크를 클라이언트 시스템에 복제해야 하는 마스터 시스템을 준비합니다. 자세한 내용은 20.1절 “마스터 시스템 준비”를 참조하십시오.
처음 부팅 워크플로를 사용자 정의합니다. 자세한 내용은 20.2절 “처음 부팅 설치 사용자 정의”를 참조하십시오.
마스터 시스템의 디스크를 복제하여 이 이미지를 클라이언트의 디스크에 실현합니다. 자세한 내용은 20.3절 “마스터 설치 복제”를 참조하십시오.
최종 사용자가 SUSE Linux Enterprise Server의 인스턴스를 개인 설정하도록 합니다. 자세한 내용은 20.4절 “설치 개인 설정”을 참조하십시오.
20.1 마스터 시스템 준비 #
처음 부팅 워크플로에 대한 마스터 시스템을 준비하려면 다음을 수행하십시오.
설치 미디어를 마스터 시스템에 삽입합니다.
시스템을 부팅합니다.
모든 필수 구성 단계를 포함해 정상적인 설치를 수행하고 설치를 위해
yast2-firstboot
패키지를 선택해야 합니다.최종 사용자에 대한 YaST 구성 단계의 자체 워크플로를 정의하거나 자체 YaST 모듈을 이 워크플로에 추가하려면 20.2절 “처음 부팅 설치 사용자 정의”로 진행합니다. 그렇지 않으면 직접 단계 5로 진행합니다.
root
로 처음 부팅을 활성화합니다.빈 파일
/var/lib/YaST2/reconfig_system
을 생성하여 처음 부팅의 실행을 트리거합니다. 처음 부팅 구성이 성공적으로 수행된 후 이 파일이 삭제됩니다. 다음 명령을 사용하여 이 파일을 생성합니다.touch /var/lib/YaST2/reconfig_system
20.3절 “마스터 설치 복제”로 진행합니다.
20.2 처음 부팅 설치 사용자 정의 #
처음 부팅 설치 워크플로 사용자 정의에는 몇 가지 구성 요소가 수반될 수 있습니다. 이 구성 요소를 사용자 정의하는 것이 좋습니다. 변경하지 않을 경우 처음 부팅은 기본 설정으로 설치를 수행합니다. 다음 옵션을 사용할 수 있습니다.
20.2.1절 “YaST 메시지 사용자 정의”에서 설명한 대로 사용자에 대한 메시지 사용자 정의
20.2.2절 “라이선스 작업 사용자 정의”에서 설명한 대로 라이센스 및 라이센스 작업 사용자 정의
20.2.3절 “릴리스 정보 사용자 정의”에서 설명한 대로 표시할 릴리스 정보 사용자 정의
20.2.4절 “워크플로 사용자 정의”에서 설명한 대로 설치와 관련된 구성요소의 순서와 개수 사용자 정의
20.2.5절 “추가 스크립트 구성”에서 설명한 대로 추가 옵션 스크립트 구성
이러한 구성요소를 사용자 정의하려면 다음 구성 파일을 수정하십시오.
/etc/sysconfig/firstboot
릴리스 정보, 스크립트 및 라이센스 작업 등 처음 부팅의 다양한 측면을 구성합니다.
/etc/YaST2/firstboot.xml
구성요소를 활성화 또는 비활성화하거나 사용자 정의 구성요소를 추가하여 설치 워크플로를 구성합니다.
20.2.6절 “설치 워크플로 변환 제공”에서 설명한 대로 이러한 사용자 정의된 설치 워크플로에 대한 변환을 제공합니다.
작은 정보: 제어 파일의 대체 위치/etc/YaST2/firstboot.xml
은yast2-firstboot
패키지에서 설치되는 제어 파일의 기본 경로입니다. 제어 파일의 위치를 다르게 정의해야 하는 경우/etc/sysconfig/firstboot
를 편집하고FIRSTBOOT_CONTROL_FILE
변수를 원하는 위치로 변경합니다.
워크플로 구성요소를 제외한 다른 항목도 사용자 정의하려면 control.xml
에서 https://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_control 문서를 참조하십시오.
20.2.1 YaST 메시지 사용자 정의 #
기본적으로 SUSE Linux Enterprise Server의 설치에는 설치 프로세스의 특정 단계에서 한글화되고 표시된 몇 가지 기본 메시지가 포함됩니다. 여기에는 시작 메시지, 라이센스 메시지 및 축하 메시지가 설치의 끝에 포함됩니다. 이러한 메시지는 자체 버전으로 바꾸고 한글화된 버전을 설치에 포함할 수 있습니다. 자체 시작 메시지를 포함하려면 다음 작업을 수행하십시오.
root
로 로그인합니다./etc/sysconfig/firstboot
구성 파일을 열고 다음 변경사항을 적용합니다.시작 메시지와 한글화된 버전을 포함하는 파일을 저장할 디렉토리 경로에
FIRSTBOOT_WELCOME_DIR
을 설정합니다. 예를 들면 다음과 같습니다.FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/"
시작 메시지에
welcome.txt
및welcome_locale.txt
(여기서 locale은 “cs” 또는 “de”와 같은 ISO 639 언어 코드와 일치) 이외의 파일 이름이 있는 경우FIRSTBOOT_WELCOME_PATTERNS
에서 파일 이름 패턴을 지정합니다. 예:FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt"
기본값이 설정되지 않은 경우
welcome.txt
의 기본값이 가정됩니다.
시작 파일과 한글화된 버전을 생성하여
/etc/sysconfig/firstboot
구성 파일에 지정된 디렉토리에 배치합니다.
동일한 방법으로 사용자 정의된 라이센스를 구성하고 메시지를 완료합니다. 이러한 변수는 FIRSTBOOT_LICENSE_DIR
및 FIRSTBOOT_FINISH_FILE
입니다.
설치를 수행한 직후에 YaST를 시작할 수 있으려면 SHOW_Y2CC_CHECKBOX
를 “예”로 변경합니다.
20.2.2 라이선스 작업 사용자 정의 #
라이선스 계약에 동의하지 않고 설치 시스템이 사용자에게 반응하는 방법을 사용자 정의할 수 있습니다. 시스템이 이 시나리오에 대응할 수 있는 방법에는 다음과 같이 세 가지가 있습니다.
- 중지
처음 부팅 설치가 중단되고 전체 시스템이 종료됩니다. 이 설정이 기본 설정입니다.
- continue
처음 부팅 설치가 계속됩니다.
- 중단
처음 부팅 설치가 중단되지만 시스템은 부팅하려고 시도합니다.
위 항목 중에서 선택하고 LICENSE_REFUSAL_ACTION
을 적합한 값으로 설정하십시오.
20.2.3 릴리스 정보 사용자 정의 #
처음 부팅 시 배포 중인 SUSE Linux Enterprise Server의 인스턴스를 변경했는지 여부에 따라 최종 사용자에게 새 운영 체제의 중요한 측면에 대한 교육을 실시해야 할 수 있습니다. 표준 설치는 설치의 최종 단계 중 하나를 수행하는 동안 표시된 릴리스 정보를 사용하여 중요한 정보를 사용자에게 제공합니다. 자체 수정된 릴리스 정보를 처음 부팅 설치의 일부로 표시하려면 다음을 수행하십시오.
자체 릴리스 정보 파일을 생성합니다. RTF 형식을
/usr/share/doc/release-notes
의 예제 파일에서와 같이 사용하고 결과를RELEASE-NOTES.en.rtf
(영어의 경우)로 저장합니다.원본 버전 옆에 한글화된 버전(옵션)을 저장하고 파일 이름의
en
부분을 실제 ISO 639 언어 코드(예: 독일어의 경우de
)로 변경합니다./etc/sysconfig/firstboot
에서 처음 부팅 구성 파일을 열고FIRSTBOOT_RELEASE_NOTES_PATH
를 릴리스 정보 파일이 저장된 실제 디렉토리에 설정합니다.
20.2.4 워크플로 사용자 정의 #
제공된 /etc/YaST2/firstboot.xml
예에서는 다음과 같은 활성화된 구성 요소를 포함하는 표준 워크플로를 정의합니다.
언어 선택
시작
사용권 계약
시간 및 날짜
사용자
루트 비밀번호
설정 완료
이 워크플로가 템플릿이라는 점에 유의하십시오. 이 템플릿은 처음 부팅 구성 파일인 /etc/YaST2/firstboot.xml
을 수동으로 편집하여 알맞게 조정할 수 있습니다. 이 XML 파일은 YaST에서 설치 워크플로를 제어하는 데 사용되는 표준 control.xml
파일의 하위 집합입니다. 워크플로 섹션 구성 방법에 대해 자세히 알아보려면 예 20.2. “워크플로 섹션 구성”을 참조하십시오.
제안에 대한 개요는 예 20.1. “제안 화면 구성”을 참조하십시오. 여기에는 처음 부팅 설치 워크플로를 수정하는데 필요한 배경 지식이 제공됩니다. 이 예에서는 처음 부팅 구성 파일의 기본 구문과 주요 요소 구성 방식을 설명합니다.
… <proposals config:type="list">1 <proposal>2 <name>firstboot_hardware</name>3 <mode>installation</mode>4 <stage>firstboot</stage>5 <label>Hardware Configuration</label>6 <proposal_modules config:type="list">7 <proposal_module>printer</proposal_module>8 </proposal_modules> </proposal> <proposal> … </proposal> </proposals>
처음 부팅 워크플로의 일부여야 하는 모든 제안에 대한 컨테이너 | |
개별 제안에 대한 컨테이너 | |
제안의 내부 이름 | |
이 제안의 모드. 여기서는 변경하지 마십시오. 처음 부팅 설치의 경우는 | |
이 제안이 호출되는 설치 프로세스의 단계. 여기서는 변경하지 마십시오. 처음 부팅 설치의 경우는 | |
제안에서 표시할 레이블. | |
제안 화면의 일부인 모든 모듈에 대한 컨테이너 | |
제안 화면의 일부인 하나 이상의 모듈 |
처음 부팅 구성 파일의 다음 섹션은 워크플로 정의로 구성됩니다. 처음 부팅 설치 워크플로의 일부여야 하는 모든 모듈이 여기에 나열되어야 합니다.
<workflows config:type="list"> <workflow> <defaults> <enable_back>yes</enable_back> <enable_next>yes</enable_next> <archs>all</archs> </defaults> <stage>firstboot</stage> <label>Configuration</label> <mode>installation</mode> … <!–– list of modules ––> </modules> </workflow> </workflows> …
workflows
섹션의 전체 구조는 proposals
섹션의 전체 구조와 매우 유사합니다. 컨테이너에는 워크플로 요소가 보관되고 워크플로 요소에는 단계, 레이블 및 모드 정보가 예 20.1. “제안 화면 구성”에서 소개된 제안과 같이 모두 포함됩니다. 가장 눈에 띄는 차이점은 워크플로 구성요소에 대한 기본 설계 정보가 포함된 defaults
섹션입니다.
enable_back
모든 대화 상자에서
버튼을 포함합니다.enable_next
모든 대화 상자에서
버튼을 포함합니다.archs
이 워크플로를 사용해야 하는 하드웨어 아키텍처를 지정합니다.
<modules config:type="list">1 <module>2 <label>Language</label>3 <enabled config:type="boolean">false</enabled>4 <name>firstboot_language</name>5 </module> <modules>
워크플로의 모든 구성요소에 대한 컨테이너 | |
모듈 정의 | |
모듈과 함께 표시된 레이블 | |
워크플로에서 이 구성요소를 활성화 또는 비활성화하는 스위치 | |
모듈 이름. 모듈 자체는 |
처음 부팅 설치 중에 제안 화면의 수 또는 순서를 변경하려면 다음을 수행하십시오.
/etc/YaST2/firstboot.xml
에서 처음 부팅 구성 파일을 엽니다.제안 화면을 삭제 또는 추가하거나 기존 제안 화면의 순서를 변경합니다.
전체 제안을 삭제하려면
proposal
섹션에서 모든 하위 요소가 포함된proposals
요소를 제거하고 워크플로에서 각module
요소(하위 요소 포함)를 제거합니다.새 제안을 추가하려면 새
proposal
요소를 생성하고 모든 필수 하위 요소를 채웁니다. 제안이/usr/share/YaST2/clients
에서 YaST 모듈로 존재하는지 확인합니다.제안 순서를 변경하려면 제안 화면을 포함하는 각
module
요소를 워크플로에서 주위로 이동합니다. 특정 순서의 제안 및 워크플로 구성 요소가 필수적인 다른 설치 단계에 대한 종속성이 있을 수 있다는 점에 유의하십시오.
변경사항을 적용하고 구성 파일을 닫습니다.
기본값이 사용자 요구에 맞지 않는 경우 구성 단계의 워크플로를 항상 변경할 수 있습니다. 워크플로에서 특정 모듈을 활성화 또는 비활성화하거나 자신만의 사용자 정의 모듈을 추가하십시오.
처음 부팅 워크플로에서 모듈 상태를 전환하려면 다음을 수행하십시오.
/etc/YaST2/firstboot.xml
구성 파일을 엽니다.enabled
요소의 값을true
에서false
로 변경하여 모듈을 비활성화하거나,false
에서true
로 변경하여 모듈을 다시 활성화합니다.<module> <label>Time and Date</label> <enabled config:type="boolean">true</enabled> <name>firstboot_timezone</name> </module>
변경사항을 적용하고 구성 파일을 닫습니다.
워크플로에 사용자 정의 모듈을 추가하려면 다음을 수행하십시오.
자체 YaST 모듈을 생성하고 모듈 파일
module_name.rb
를/usr/share/YaST2/clients
에 저장합니다./etc/YaST2/firstboot.xml
구성 파일을 엽니다.새 모듈을 실행해야 할 워크플로의 지점을 결정합니다. 이때 워크플로의 다른 단계에서 모든 종속성이 고려되고 해결되는지 확인합니다.
module
컨테이너 내에 새modules
요소를 생성하고 적합한 하위 요소를 추가합니다.<modules config:type="list"> … <module> <label>my_module</label> <enabled config:type="boolean">true</enabled> <name>filename_my_module</name> </module> </modules>
label
요소에서 모듈에 표시할 레이블을 입력합니다.모듈이 워크플로에 포함되도록 하려면
enabled
가true
로 설정되었는지 확인합니다.name
요소에서 모듈의 파일 이름을 입력합니다. 전체 경로와.rb
접미사를 생략합니다.
설정을 적용하고 구성 파일을 닫습니다.
대상 하드웨어에 두 개 이상의 네트워크 인터페이스가 있을 수 있는 경우 network-autoconfig
패키지를 응용 프로그램 이미지에 추가하십시오. network-autoconfig
는 DHCP를 통해 이더넷 인터페이스 중 하나가 성공적으로 구성될 때까지 사용 가능한 모든 이더넷 인터페이스를 순환합니다.
20.2.5 추가 스크립트 구성 #
처음 부팅 워크플로가 완료된 후에 추가 스크립트를 실행하도록 처음 부팅을 구성할 수 있습니다. 처음 부팅 과정에 추가 스크립트를 추가하려면 다음을 수행하십시오.
/etc/sysconfig/firstboot
구성 파일을 열고SCRIPT_DIR
에 지정된 경로가 올바른지 확인합니다. 기본값은/usr/share/firstboot/scripts
입니다.셸 스크립트를 생성하여 지정된 디렉토리에 저장하고 적합한 파일 권한을 적용합니다.
20.2.6 설치 워크플로 변환 제공 #
최종 사용자에 따라 사용자 정의된 워크플로의 변환을 제공하는 것이 바람직할 수 있습니다. 이러한 변환은 20.2.4절 “워크플로 사용자 정의”에서의 설명과 같이 /etc/YaST2/firstboot.xml
파일을 변경하여 워크플로를 사용자 정의한 경우 필요할 수 있습니다.
/etc/YaST2/firstboot.xml
을 변경하고 스트링 변경사항을 적용한 경우 새 변환 템플릿 파일(.pot
파일)을 생성하고 gettext
도구 체인을 사용하여 변환한 후 변환된 파일을 YaST 로케일 디렉토리(/usr/share/YaST2/locale
)에 컴파일된 .mo
파일로 설치합니다. 다음 단계를 수행하십시오.
예를 들어 다음과 같은
textdomain
설정을<textdomain>firstboot</textdomain>
다음과 같이 변경합니다.
<textdomain>firstboot-oem</textdomain>
xgettext
를 사용하여 변환 가능한 스트링을 변환 템플릿 파일(.pot
파일, 예:firstboot-oem.pot
)로 추출합니다.xgettext -L Glade -o firstboot-oem.pot /etc/YaST2/firstboot.xml
변환 프로세스를 시작합니다. 그런 다음 다른 프로젝트의 변환과 동일한 방식으로 변환된 파일(
.LL_code.po
파일)을 패키징하고 컴파일된firstboot-oem.mo
파일을 설치합니다.
추가 또는 변경된 YaST 모듈에 대한 변환이 필요한 경우 이러한 모듈 자체 내에서 변환을 수행하십시오. 기존 모듈만 변경한 경우, 원하지 않는 부작용을 방지하기 위해 text-domain 문도 변경하십시오.
YaST 개발에 대한 자세한 내용은 https://en.opensuse.org/openSUSE:YaST_development를 참조하십시오. YaST의 처음 부팅에 대한 자세한 내용은 https://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.html에서 확인할 수 있습니다.
20.3 마스터 설치 복제 #
사용할 수 있는 이미징 메커니즘을 사용하여 마스터 시스템의 디스크를 복제하고 해당 이미지를 대상 시스템에서 실행합니다. 이미징에 대한 자세한 내용은 https://doc.suse.com/kiwi/를 참조하십시오.
20.4 설치 개인 설정 #
복제된 디스크 이미지가 부팅되면 20.2.4절 “워크플로 사용자 정의”에 표시된 대로 처음 부팅이 시작하고 설치가 진행됩니다. 처음 부팅 워크플로 구성에 포함된 구성요소만 시작되고 다른 설치 단계는 모두 건너뜁니다. 최종 사용자는 언어, 키보드, 네트워크 및 비밀번호 설정을 조정하여 워크스테이션을 개인 설정합니다. 이 프로세스가 완료되면 처음 부팅이 설치된 시스템은 SUSE Linux Enterprise Server의 다른 인스턴스와 마찬가지로 작동합니다.