9.3. RHEL 이미지 빌더 CLI를 사용하여 시스템 이미지 생성
RHEL 이미지 빌더는 사용자 정의 시스템 이미지를 생성하는 툴입니다. RHEL 이미지 빌더를 제어하고 사용자 정의 시스템 이미지를 생성하려면 CLI(명령줄) 또는 웹 콘솔 인터페이스를 사용할 수 있습니다.
9.3.1. RHEL 이미지 빌더 명령줄 인터페이스 소개 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더 CLI(명령줄 인터페이스)를 사용하여 적절한 옵션 및 하위 명령으로 composer-cli
명령을 실행하여 블루프린트를 생성할 수 있습니다.
명령줄의 워크플로는 다음과 같이 요약할 수 있습니다.
- 기존 블루프린트 정의를 일반 텍스트 파일에 블루프린트 또는 내보내기(저장) 생성
- 텍스트 편집기에서 이 파일 편집
- 블루프린트 텍스트 파일을 다시 이미지 빌더로 가져오기
- 작성을 실행하여 블루프린트에서 이미지를 빌드합니다.
- 이미지 파일을 내보내서 다운로드합니다.
블루프린트를 생성하기 위한 기본 하위 명령 외에도 composer-cli
명령은 구성된 블루프린트의 상태를 검사하고 구성합니다.
9.3.2. RHEL 이미지 빌더를 루트가 아닌 사용자로 사용 링크 복사링크가 클립보드에 복사되었습니다!
composer-cli
명령을 root가 아닌 것으로 실행하려면 사용자가 weldr
그룹에 있어야 합니다.
사전 요구 사항
- 사용자를 생성했습니다.
절차
weldr
또는root
그룹에 사용자를 추가하려면 다음 명령을 실행하십시오.sudo usermod -a -G weldr user newgrp weldr
$ sudo usermod -a -G weldr user $ newgrp weldr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.3. 명령줄을 사용하여 블루프린트 생성 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더 CLI(명령줄 인터페이스)를 사용하여 새 블루프린트를 생성할 수 있습니다. 청사진은 최종 이미지와 패키지 및 커널 사용자 지정과 같은 사용자 정의를 설명합니다.
사전 요구 사항
-
root 사용자 또는
weldr
그룹의 멤버인 사용자로 로그인했습니다.
절차
다음 내용을 사용하여 일반 텍스트 파일을 생성합니다.
name = "BLUEPRINT-NAME" description = "LONG FORM DESCRIPTION TEXT" version = "0.0.1" modules = [] groups = []
name = "BLUEPRINT-NAME" description = "LONG FORM DESCRIPTION TEXT" version = "0.0.1" modules = [] groups = []
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BLUEPRINT-NAME 및 LONG FORM DESCRIPTION TEXT 를 블루프린트의 이름 및 설명으로 바꿉니다.
0.0.1 을 Semantic Versioning 스키마에 따른 버전 번호로 바꿉니다.
블루프린트에 포함하려는 모든 패키지에 대해 파일에 다음 행을 추가합니다.
[[packages]] name = "package-name" version = "package-version"
[[packages]] name = "package-name" version = "package-version"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow package-name 을
httpd
,gdb-doc
또는coreutils
와 같은 패키지 이름으로 교체합니다.선택적으로 package-version 을 사용할 버전으로 교체합니다. 이 필드는
dnf
버전 사양을 지원합니다.- 특정 버전의 경우 8.7.0 과 같은 정확한 버전 번호를 사용하십시오.
- 사용 가능한 최신 버전의 경우 별표 * 를 사용합니다.
- 최신 마이너 버전의 경우 8.*와 같은 형식을 사용하십시오.
필요에 맞게 청사진을 사용자 지정합니다. 예를 들어 SMT(Simultaneous Multi Threading)를 비활성화하여 CloudEvent 파일에 다음 행을 추가합니다.
[customizations.kernel] append = "nosmt=force"
[customizations.kernel] append = "nosmt=force"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 추가 사용자 정의는 지원되는 이미지 사용자 지정을 참조하십시오.
[]
및[[]]
는 TOML로 표현되는 다양한 데이터 구조입니다.-
[customizations.kernel]
헤더는 키 및 해당 값 쌍으로 정의된 단일 테이블을 나타냅니다(예:append = "nosmt=force"
). -
[[packages]]
헤더는 테이블 배열을 나타냅니다. 첫 번째 인스턴스는 배열과 첫 번째 테이블 요소(예:name = "package-name"
및version = "package-version"
)를 정의하고 각 후속 인스턴스는 사용자가 정의한 순서대로 해당 배열에 새 테이블 요소를 생성하고 정의합니다.
-
- 예를 들어 파일을 BLUEPRINT-NAME.toml로 저장하고 텍스트 편집기를 종료합니다.
선택 사항: 블루프린트 TOML 파일의 모든 설정이 올바르게 구문 분석되었는지 확인합니다. 블루프린트를 저장하고 저장된 출력을 입력 파일과 비교합니다.
composer-cli blueprints save BLUEPRINT-NAME.toml
# composer-cli blueprints save BLUEPRINT-NAME.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
저장된
BLUEPRINT-NAME.toml
를 입력 파일과 비교합니다.
-
저장된
블루프린트를 푸시합니다.
composer-cli blueprints push BLUEPRINT-NAME.toml
# composer-cli blueprints push BLUEPRINT-NAME.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BLUEPRINT-NAME 을 이전 단계에서 사용한 값으로 바꿉니다.
참고composer-cli
를 사용하여 root가 아닌 이미지를 만들려면 사용자를weldr
또는root
그룹에 추가합니다.usermod -a -G weldr user newgrp weldr
# usermod -a -G weldr user $ newgrp weldr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
기존 기능 목록을 나열하여 해당 기능이 푸시되고 있는지 확인합니다.
composer-cli blueprints list
# composer-cli blueprints list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 방금 추가한 청사진 구성을 표시합니다.
composer-cli blueprints show BLUEPRINT-NAME
# composer-cli blueprints show BLUEPRINT-NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 블루프린트 및 해당 종속 항목에 나열된 구성 요소 및 버전이 유효한지 확인합니다.
composer-cli blueprints depsolve BLUEPRINT-NAME
# composer-cli blueprints depsolve BLUEPRINT-NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL 이미지 빌더에서 사용자 정의 리포지토리에서 패키지의 종속 항목을 해결할 수 없는 경우
osbuild-composer
캐시를 제거합니다.sudo rm -rf /var/cache/osbuild-composer/* sudo systemctl restart osbuild-composer
$ sudo rm -rf /var/cache/osbuild-composer/* $ sudo systemctl restart osbuild-composer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.4. 명령줄을 사용하여 블루프린트 편집 링크 복사링크가 클립보드에 복사되었습니다!
예를 들어 새 패키지를 추가하거나 새 그룹을 정의하고 사용자 지정 이미지를 생성하기 위해 CLI(명령줄)에서 기존 블루프린트를 편집할 수 있습니다.
사전 요구 사항
- 블루프린트를 생성했습니다.
절차
기존 블루프린트를 나열합니다.
composer-cli blueprints list
# composer-cli blueprints list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 블루프린트를 로컬 텍스트 파일에 저장합니다.
composer-cli blueprints save BLUEPRINT-NAME
# composer-cli blueprints save BLUEPRINT-NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 텍스트 편집기로 BLUEPRINT-NAME.toml 파일을 편집하고 변경합니다.
편집을 완료하기 전에 파일이 유효한 청사진인지 확인합니다.
블루프린트에서 다음 행을 제거합니다.
packages = []
packages = []
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 버전 번호를 0.0.1에서 0.1.0으로 늘립니다. RHEL 이미지 빌더 블루프린트 버전에서는 Semantic Versioning 스키마를 사용해야 합니다. 또한 버전을 변경하지 않으면 패치 버전 구성 요소가 자동으로 증가합니다.
- 파일을 저장하고 텍스트 편집기를 종료합니다.
블루프린트를 RHEL 이미지 빌더로 다시 푸시합니다.
composer-cli blueprints push BLUEPRINT-NAME.toml
# composer-cli blueprints push BLUEPRINT-NAME.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고블루프린트를 RHEL 이미지 빌더로 다시 가져오려면
.toml
확장을 포함한 파일 이름을 제공하고 다른 명령에서는 블루프린트 이름만 사용합니다.
검증
RHEL 이미지 빌더에 업로드된 콘텐츠가 편집 내용과 일치하는지 확인하려면 블루프린트 내용을 나열합니다.
composer-cli blueprints show BLUEPRINT-NAME
# composer-cli blueprints show BLUEPRINT-NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 블루프린트 및 해당 종속 항목에 나열된 구성 요소 및 버전이 유효한지 확인합니다.
composer-cli blueprints depsolve BLUEPRINT-NAME
# composer-cli blueprints depsolve BLUEPRINT-NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.5. 명령줄에서 RHEL 이미지 빌더를 사용하여 시스템 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더 명령줄 인터페이스를 사용하여 사용자 지정 RHEL 이미지를 빌드할 수 있습니다. 이를 위해 블루프린트와 이미지 유형을 지정해야 합니다. 선택적으로 배포를 지정할 수도 있습니다. 배포를 지정하지 않으면 호스트 시스템과 동일한 배포 및 버전을 사용합니다. 아키텍처는 호스트의 아키텍처와 동일합니다.
사전 요구 사항
- 이미지에 대해 준비된 청사진이 있습니다. 명령줄을 사용하여 RHEL 이미지 빌더 블루프린트 생성을 참조하십시오.
절차
선택 사항: 생성할 수 있는 이미지 형식을 나열합니다.
composer-cli compose types
# composer-cli compose types
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 작성을 시작합니다.
composer-cli compose start BLUEPRINT-NAME IMAGE-TYPE
# composer-cli compose start BLUEPRINT-NAME IMAGE-TYPE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BLUEPRINT-NAME 을 블루프린트 이름으로 바꾸고, IMAGE-TYPE 을 이미지 유형으로 바꿉니다. 사용 가능한 값은
composer-cli compose types
명령의 출력을 참조하십시오.compose 프로세스는 백그라운드에서 시작되고 composer Universally Unique Identifier (UUID)를 표시합니다.
이미지 생성을 완료하는 데 최대 10분이 걸릴 수 있습니다.
작성 상태를 확인하려면 다음을 수행합니다.
composer-cli compose status
# composer-cli compose status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 완료된 작성에는 FINISHED 상태 값이 표시됩니다. 목록에서 Composer를 식별하려면 해당 UUID를 사용합니다.
작성 프로세스가 완료되면 결과 이미지 파일을 다운로드합니다.
composer-cli compose image UUID
# composer-cli compose image UUID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow UUID 를 이전 단계에 표시된 UUID 값으로 바꿉니다.
검증
이미지를 생성한 후 다음 명령을 사용하여 이미지 생성 진행 상황을 확인할 수 있습니다.
이미지의 메타데이터를 다운로드하여 구성 요소에 대한 메타데이터의
.tar
파일을 가져옵니다.sudo composer-cli compose metadata UUID
$ sudo composer-cli compose metadata UUID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지 로그를 다운로드합니다.
sudo composer-cli compose logs UUID
$ sudo composer-cli compose logs UUID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 이미지 생성을 위한 로그가 포함된
.tar
파일을 생성합니다. 로그가 비어 있으면 저널을 확인할 수 있습니다.저널 확인:
journalctl | grep osbuild
$ journalctl | grep osbuild
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지 매니페스트를 확인합니다.
sudo cat /var/lib/osbuild-composer/jobs/job_UUID.json
$ sudo cat /var/lib/osbuild-composer/jobs/job_UUID.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow journal에서 job_UUID.json을 찾을 수 있습니다.
9.3.6. 기본 RHEL 이미지 빌더 명령줄 명령 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더 명령줄 인터페이스는 다음 하위 명령을 제공합니다.
블루프린트 조작
- 사용 가능한 모든 블루프린트 나열
composer-cli blueprints list
# composer-cli blueprints list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - TOML 형식의 블루프린트 콘텐츠 표시
composer-cli blueprints show <BLUEPRINT-NAME>
# composer-cli blueprints show <BLUEPRINT-NAME>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - TOML 형식으로 블루프린트 내용을 파일 BLUEPRINT-NAME.todir에 저장합니다.
composer-cli blueprints save <BLUEPRINT-NAME>
# composer-cli blueprints save <BLUEPRINT-NAME>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 블루프린트 제거
composer-cli blueprints delete <BLUEPRINT-NAME>
# composer-cli blueprints delete <BLUEPRINT-NAME>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - TOML 형식의 블루프린트 파일을 RHEL 이미지 빌더로 푸시(가져오기)
composer-cli blueprints push <BLUEPRINT-NAME>
# composer-cli blueprints push <BLUEPRINT-NAME>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
블루프린트에서 이미지 구성
- 사용 가능한 이미지 유형 나열
composer-cli compose types
# composer-cli compose types
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 작성 시작
composer-cli compose start <BLUEPRINT> <COMPOSE-TYPE>
# composer-cli compose start <BLUEPRINT> <COMPOSE-TYPE>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모든 작성 사항 나열
composer-cli compose list
# composer-cli compose list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모든 작성 및 해당 상태 나열
composer-cli compose status
# composer-cli compose status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 실행 중인 작성 취소
composer-cli compose cancel <COMPOSE-UUID>
# composer-cli compose cancel <COMPOSE-UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 완료된 작성 삭제
composer-cli compose delete <COMPOSE-UUID>
# composer-cli compose delete <COMPOSE-UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 작성에 대한 자세한 정보 표시
composer-cli compose info <COMPOSE-UUID>
# composer-cli compose info <COMPOSE-UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 작성 이미지 파일 다운로드
composer-cli compose image <COMPOSE-UUID>
# composer-cli compose image <COMPOSE-UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 더 많은 하위 명령 및 옵션 보기
composer-cli help
# composer-cli help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.7. RHEL 이미지 빌더 블루프린트 형식 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더 블루프린트는 TOML 형식의 일반 텍스트로 사용자에게 제공됩니다.
일반적인 청사진 파일의 요소는 다음과 같습니다.
- 블루프린트 메타데이터
name = "<BLUEPRINT-NAME>" description = "<LONG FORM DESCRIPTION TEXT>" version = "<VERSION>"
name = "<BLUEPRINT-NAME>" description = "<LONG FORM DESCRIPTION TEXT>" version = "<VERSION>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BLUEPRINT-NAME 및 LOECDHE FORM DESCRIPTION TEXT 필드는 귀하의 청사진의 이름과 설명입니다.
VERSION 은 Semantic Versioning 스키마에 따른 버전 번호이며 전체 블루프린트 파일에 대해 한 번만 제공됩니다.
- 이미지에 포함할 그룹
[[groups]] name = "group-name"
[[groups]] name = "group-name"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow group 항목은 이미지에 설치할 패키지 그룹을 설명합니다. 그룹은 다음과 같은 패키지 범주를 사용합니다.
- 필수 항목
- Default
선택 사항
group-name 은 그룹의 이름입니다(예: anaconda-tools, 위젯, Clair 또는 사용자 ). templates는 필수 및 기본 패키지를 설치합니다. 옵션 패키지를 선택하는 메커니즘은 없습니다.
- 이미지에 포함할 패키지
[[packages]] name = "<package-name>" version = "<package-version>"
[[packages]] name = "<package-name>" version = "<package-version>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow package-name 은 httpd, gdb-doc 또는 coreutils 와 같은 패키지 이름입니다.
package-version 은 사용할 버전입니다. 이 필드는
dnf
버전 사양을 지원합니다.- 특정 버전의 경우 8.7.0 과 같은 정확한 버전 번호를 사용하십시오.
- 사용 가능한 최신 버전의 경우 별표 * 를 사용합니다.
최신 마이너 버전의 경우 8과 같은 형식을 사용합니다.*
포함할 모든 패키지에 대해 이 블록을 반복합니다.
RHEL 이미지 빌더 툴의 패키지와 모듈 간에 차이가 없습니다. 둘 다 RPM 패키지 종속성으로 처리됩니다.
9.3.8. 지원되는 이미지 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같은 블루프린트에 사용자 지정을 추가하여 이미지를 사용자 지정할 수 있습니다.
- 추가 RPM 패키지 추가
- 서비스 활성화
- 커널 명령줄 매개 변수 사용자 정의.
다른 사람 사이입니다. sshd 내에서 여러 이미지 사용자 지정을 사용할 수 있습니다. 사용자 지정을 사용하면 기본 패키지에서 사용할 수 없는 이미지에 패키지 및 그룹을 추가할 수 있습니다. 이러한 옵션을 사용하려면 블루프린트에서 사용자 지정을 구성하고 RHEL 이미지 빌더로 가져오기(push)합니다.
9.3.8.1. 배포 선택 링크 복사링크가 클립보드에 복사되었습니다!
distro
필드를 사용하여 이미지를 구성하거나 블루프린트의 종속성을 해결할 때 사용할 배포를 지정할 수 있습니다. distro
필드를 비워 두면 블루프린트에서 호스트의 운영 체제 배포를 자동으로 사용합니다. 배포를 지정하지 않으면 블루프린트에서 호스트 배포를 사용합니다. 호스트 운영 체제를 업그레이드할 때 업그레이드된 운영 체제 버전을 사용하여 지정된 배포 빌드 이미지가 없는 블루프린트입니다.
최신 시스템에서 이전 주요 버전의 이미지를 빌드할 수 있습니다. 예를 들어 RHEL 10 호스트를 사용하여 RHEL 9 및 RHEL 8 이미지를 생성할 수 있습니다. 그러나 이전 시스템에서 최신 주요 버전의 이미지를 빌드할 수 없습니다.
RHEL 이미지 빌더 호스트와 다른 운영 체제 이미지를 빌드할 수 없습니다. 예를 들어 RHEL 시스템을 사용하여 Fedora 또는 CentOS 이미지를 빌드할 수 없습니다.
항상 지정된 RHEL 이미지를 빌드하도록 RHEL 배포를 사용하여 블루프린트를 사용자 지정합니다.
name = "blueprint_name" description = "blueprint_version" version = "0.1" distro = "different_minor_version"
name = "blueprint_name" description = "blueprint_version" version = "0.1" distro = "different_minor_version"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
name = "tmux" description = "tmux image with openssh" version = "1.2.16" distro = "rhel-9.5"
name = "tmux" description = "tmux image with openssh" version = "1.2.16" distro = "rhel-9.5"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
"different_minor_version"을 교체하여 다른 마이너 버전을 빌드합니다. 예를 들어 RHEL 8.10 이미지를 빌드하려면 distro
= "rhel-810"을 사용합니다. RHEL 8.10 이미지에서 RHEL 8.9 및 이전 릴리스와 같은 마이너 버전을 빌드할 수 있습니다.
9.3.8.2. 패키지 그룹 선택 링크 복사링크가 클립보드에 복사되었습니다!
패키지 그룹으로 블루프린트를 사용자 지정합니다. 그룹
목록은 이미지에 설치할 패키지 그룹을 설명합니다. 패키지 그룹은 리포지토리 메타데이터에 정의되어 있습니다. 각 그룹에는 주로 사용자 인터페이스에 표시하는 데 사용되는 설명적인 이름과 Kickstart 파일에서 일반적으로 사용되는 ID가 있습니다. 이 경우 ID를 사용하여 그룹을 나열해야 합니다. 그룹에는 필수, 기본값, 선택 사항 등 패키지를 분류하는 세 가지 방법이 있습니다. 필수 및 기본 패키지만 블루프린트에 설치됩니다. 선택적 패키지를 선택할 수 없습니다.
name
속성은 필수 문자열이며 리포지토리의 패키지 그룹 ID와 정확히 일치해야 합니다.
현재 osbuild-composer
의 패키지와 모듈 간에는 차이가 없습니다. 둘 다 RPM 패키지 종속성으로 취급됩니다.
패키지로 블루프린트를 사용자 지정합니다.
[[groups]] name = "group_name"
[[groups]] name = "group_name"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow group_name
을 그룹 이름으로 교체합니다. 예:anaconda-tools
:[[groups]] name = "anaconda-tools"
[[groups]] name = "anaconda-tools"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.3. 컨테이너 포함 링크 복사링크가 클립보드에 복사되었습니다!
블루프린트를 사용자 지정하여 최신 RHEL 컨테이너를 포함할 수 있습니다. 컨테이너 목록에는 소스가 있는 오브젝트와 필요한 경우 tls-verify
속성이 포함되어 있습니다.
컨테이너 목록 항목은 이미지에 포함할 컨테이너 이미지를 설명합니다.
-
Source
- 필수 필드입니다. 레지스트리의 컨테이너 이미지에 대한 참조입니다. 이 예에서는registry.access.redhat.com
레지스트리를 사용합니다. 태그 버전을 지정할 수 있습니다. 기본 태그 버전은 latest입니다. -
name
- 로컬 레지스트리에 있는 컨테이너의 이름입니다. -
tls-verify
- 부울 필드. tls-verify 부울 필드는 전송 계층 보안을 제어합니다. 기본값은 true입니다.
포함된 컨테이너는 자동으로 시작되지 않습니다. 시작하려면 파일 사용자 지정이 포함된 systemd
장치 파일 또는
사각형을 만듭니다.
registry.access.redhat.com/ubi9/ubi:latest
의 컨테이너와 호스트의 컨테이너를 포함하려면 블루프린트에 다음 사용자 지정을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
containers-auth.json
파일을 사용하여 보호된 컨테이너 리소스에 액세스할 수 있습니다. 컨테이너 레지스트리 인증 정보를 참조하십시오.
9.3.8.4. 이미지 호스트 이름 설정 링크 복사링크가 클립보드에 복사되었습니다!
customization .hostname
은 최종 이미지 호스트 이름을 구성하는 데 사용할 수 있는 선택적 문자열입니다. 이 사용자 지정은 선택 사항이며 설정하지 않으면 블루프린트에서 기본 호스트 이름을 사용합니다.
블루프린트를 사용자 지정하여 호스트 이름을 구성합니다.
[customizations] hostname = "baseimage"
[customizations] hostname = "baseimage"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.5. 추가 사용자 지정 링크 복사링크가 클립보드에 복사되었습니다!
이미지에 사용자를 추가하고 선택적으로 SSH 키를 설정합니다. 이 섹션의 모든 필드는 이름을
제외하고 선택 사항입니다.
절차
이미지에 사용자를 추가하도록 블루프린트를 사용자 지정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow GID는 선택 사항이며 이미지에 이미 있어야 합니다. 선택적으로 패키지에서 이를 생성하거나,
[customizations.group]
항목을 사용하여 GID를 생성합니다.PASSWORD-HASH 를 실제
암호 해시
로 바꿉니다.암호 해시
를 생성하려면 다음과 같은 명령을 사용합니다.python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다른 자리 표시자를 적절한 값으로 바꿉니다.
name
값을 입력하고 필요하지 않은 행을 생략합니다.모든 사용자가 포함할 이 블록을 반복합니다.
9.3.8.6. 추가 그룹 지정 링크 복사링크가 클립보드에 복사되었습니다!
결과 시스템 이미지에 대한 그룹을 지정합니다. name
및 gid
속성은 모두 필수입니다.
그룹으로 블루프린트를 사용자 지정합니다.
[[customizations.group]] name = "GROUP-NAME" gid = NUMBER
[[customizations.group]] name = "GROUP-NAME" gid = NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 그룹이 포함할 이 블록을 반복합니다. 예를 들면 다음과 같습니다.
[[customizations.group]] name = "widget" gid = 1130
[[customizations.group]] name = "widget" gid = 1130
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.7. 기존 사용자를 위한 SSH 키 설정 링크 복사링크가 클립보드에 복사되었습니다!
custom .sshkey
를 사용하여 최종 이미지에 있는 기존 사용자의 SSH 키를 설정할 수 있습니다. 사용자
및 키
속성은 모두 필수입니다.
기존 사용자의 SSH 키를 설정하여 블루프린트를 사용자 지정합니다.
[[customizations.sshkey]] user = "root" key = "PUBLIC-SSH-KEY"
[[customizations.sshkey]] user = "root" key = "PUBLIC-SSH-KEY"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
[[customizations.sshkey]] user = "root" key = "SSH key for root"
[[customizations.sshkey]] user = "root" key = "SSH key for root"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고기존 사용자에 대한 customization
.sshkey 사용자
지정만 구성할 수 있습니다. 사용자를 생성하고 SSH 키를 설정하려면 추가 사용자 사용자 지정을 참조하십시오.
9.3.8.8. 커널 인수 추가 링크 복사링크가 클립보드에 복사되었습니다!
부트 로더 커널 명령줄에 인수를 추가할 수 있습니다. 기본적으로 RHEL 이미지 빌더는 기본 커널을 이미지에 빌드합니다. 그러나 블루프린트에서 커널을 구성하여 커널을 사용자 지정할 수 있습니다.
커널 부팅 매개변수 옵션을 기본값에 추가합니다.
[customizations.kernel] append = "KERNEL-OPTION"
[customizations.kernel] append = "KERNEL-OPTION"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
[customizations.kernel] name = "kernel-debug" append = "nosmt=force"
[customizations.kernel] name = "kernel-debug" append = "nosmt=force"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.9. 실시간 커널을 사용하여 RHEL 이미지 빌드 링크 복사링크가 클립보드에 복사되었습니다!
실시간 커널(kernel-rt
)을 사용하여 RHEL 이미지를 빌드하려면 리포지토리를 재정의해야 kernel-rt
가 기본 커널로 올바르게 선택되는 이미지를 빌드할 수 있습니다. /usr/share/osbuild-composer/repositories/
디렉터리의 .json
을 사용합니다. 그런 다음 시스템에 빌드한 이미지를 배포하고 실시간 커널 기능을 사용할 수 있습니다.
실시간 커널은 Red Hat Enterprise Linux 실행을 위해 인증된 AMD64 및 Intel 64 서버 플랫폼에서 실행됩니다.
사전 요구 사항
- 시스템이 등록되고 RHEL이 RHEL for Real Time 서브스크립션에 연결되어 있습니다. dnf를 사용하여 실시간 RHEL 설치를 참조하십시오.
절차
다음 디렉터리를 생성합니다.
mkdir /etc/osbuild-composer/repositories/
# mkdir /etc/osbuild-composer/repositories/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/osbuild-composer/repositories/rhel-8.버전.json
파일의 내용을 새 디렉터리로 복사합니다.cp /usr/share/osbuild-composer/repositories/rhel-8.version.json /etc/osbuild-composer/repositories
# cp /usr/share/osbuild-composer/repositories/rhel-8.version.json /etc/osbuild-composer/repositories
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RT 커널 리포지터리를 포함하도록
/etc/osbuild-composer/repositories/rhel-8.버전.json
파일을 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스를 다시 시작하십시오.
systemctl restart osbuild-composer
# systemctl restart osbuild-composer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kernel-rt
가.json
파일에 포함되어 있는지 확인합니다.composer-cli sources list composer-cli sources info kernel-rt
# composer-cli sources list # composer-cli sources info kernel-rt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전에 구성한 URL이 표시됩니다.
블루프린트를 생성합니다. 블루프린트에서 "[customizations.kernel]" 사용자 지정을 추가합니다. 다음은 블루프린트에 "[customizations.kernel]"을 포함하는 예입니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 블루프린트를 서버로 푸시합니다.
composer-cli blueprints push rt-kernel-image.toml
# composer-cli blueprints push rt-kernel-image.toml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성한 블루프린트에서 이미지를 빌드합니다. 다음 예제에서는 (
.qcow2
) 이미지를 빌드합니다.composer-cli compose start rt-kernel-image qcow2
# composer-cli compose start rt-kernel-image qcow2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 실시간 커널 기능을 사용하려는 시스템에 빌드한 이미지를 배포합니다.
검증
이미지에서 VM을 부팅한 후 이미지가 기본
커널로
올바르게 선택되었는지 확인합니다.cat /proc/cmdline BOOT_IMAGE=(hd0,got3)/vmlinuz-5.14.0-362.24.1..el8_version_.x86_64+rt...
$ cat /proc/cmdline BOOT_IMAGE=(hd0,got3)/vmlinuz-5.14.0-362.24.1..el8_version_.x86_64+rt...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.10. 시간대 및 NTP 설정 링크 복사링크가 클립보드에 복사되었습니다!
블루프린트를 사용자 지정하여 시간대 및 NTP( Network Time Protocol )를 구성할 수 있습니다. timezone
및 ntpservers
속성은 모두 선택적 문자열입니다. 시간대를 사용자 지정하지 않으면 시스템은 UTC( Universal Time, Coordinated )를 사용합니다. NTP 서버를 설정하지 않으면 시스템은 기본 배포를 사용합니다.
시간대
및 원하는ntpservers
로 블루프린트를 사용자 지정합니다.[customizations.timezone] timezone = "TIMEZONE" ntpservers = "NTP_SERVER"
[customizations.timezone] timezone = "TIMEZONE" ntpservers = "NTP_SERVER"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
[customizations.timezone] timezone = "US/Eastern" ntpservers = ["0.north-america.pool.ntp.org", "1.north-america.pool.ntp.org"]
[customizations.timezone] timezone = "US/Eastern" ntpservers = ["0.north-america.pool.ntp.org", "1.north-america.pool.ntp.org"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Google Cloud와 같은 일부 이미지 유형에는 이미 NTP 서버가 설정되어 있습니다. 이미지에 선택한 환경에서 NTP 서버를 부팅해야 하므로 재정의할 수 없습니다. 그러나 블루프린트에서 시간대를 사용자 지정할 수 있습니다.
9.3.8.11. 로케일 설정 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
결과 시스템 이미지에 대한 로케일 설정을 사용자 지정할 수 있습니다. 언어
및 키보드
속성은 모두 필수입니다. 다른 많은 언어를 추가할 수 있습니다. 첫 번째 언어는 기본 언어이며 다른 언어는 보조 언어입니다.
절차
로케일 설정을 설정합니다.
[customizations.locale] languages = ["LANGUAGE"] keyboard = "KEYBOARD"
[customizations.locale] languages = ["LANGUAGE"] keyboard = "KEYBOARD"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
[customizations.locale] languages = ["en_US.UTF-8"] keyboard = "us"
[customizations.locale] languages = ["en_US.UTF-8"] keyboard = "us"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 언어에서 지원하는 값을 나열하려면 다음 명령을 실행합니다.
localectl list-locales
$ localectl list-locales
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 키보드에서 지원하는 값을 나열하려면 다음 명령을 실행합니다.
localectl list-keymaps
$ localectl list-keymaps
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.12. 방화벽 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
결과 시스템 이미지에 대한 방화벽을 설정합니다. 기본적으로 방화벽은 sshd
와 같이 포트를 명시적으로 활성화하는 서비스를 제외하고 들어오는 연결을 차단합니다.
[customizations.firewall]
또는 [customizations.firewall.services]
를 사용하지 않으려는 경우 속성을 제거하거나 빈 목록 []으로 설정합니다. 기본 방화벽 설정만 사용하려는 경우 블루프린트에서 사용자 지정을 생략할 수 있습니다.
Google 및 OpenStack 템플릿은 해당 환경의 방화벽을 명시적으로 비활성화합니다. 블루프린트를 설정하여 이 동작을 재정의할 수 없습니다.
절차
다음 설정으로 블루프린트를 사용자 지정하여 다른 포트 및 서비스를 엽니다.
[customizations.firewall] ports = ["PORTS"]
[customizations.firewall] ports = ["PORTS"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서 port는 열 포트 또는 포트 및 프로토콜 범위를 포함하는 선택적 문자열 목록입니다.
port:protocol
형식을 사용하여 포트를 구성할 수 있습니다.portA-portB:protocol
형식을 사용하여 포트 범위를 구성할 수 있습니다. 예를 들면 다음과 같습니다.[customizations.firewall] ports = ["22:tcp", "80:tcp", "imap:tcp", "53:tcp", "53:udp", "30000-32767:tcp", "30000-32767:udp"]
[customizations.firewall] ports = ["22:tcp", "80:tcp", "imap:tcp", "53:tcp", "53:udp", "30000-32767:tcp", "30000-32767:udp"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 숫자 포트 또는
/etc/services
의 해당 이름을 사용하여 포트 목록을 활성화하거나 비활성화할 수 있습니다.customization
.firewall.service 섹션에서 활성화 또는 비활성화할 방화벽 서비스를 지정합니다.
[customizations.firewall.services] enabled = ["SERVICES"] disabled = ["SERVICES"]
[customizations.firewall.services] enabled = ["SERVICES"] disabled = ["SERVICES"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 방화벽 서비스를 확인할 수 있습니다.
firewall-cmd --get-services
$ firewall-cmd --get-services
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
[customizations.firewall.services] enabled = ["ftp", "ntp", "dhcp"] disabled = ["telnet"]
[customizations.firewall.services] enabled = ["ftp", "ntp", "dhcp"] disabled = ["telnet"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고firewall.services
에 나열된 서비스는/etc/services
파일에서 사용할 수 있는 서비스이름과
다릅니다.
9.3.8.13. 서비스 활성화 또는 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
부팅 시 활성화할 서비스를 제어할 수 있습니다. 일부 이미지 유형에는 이미지가 올바르게 작동하고 이 설정을 재정의할 수 없도록 서비스가 이미 활성화되어 있거나 비활성화되어 있습니다. 블루프린트의 [customizations.services]
설정은 이러한 서비스를 대체하지 않고 이미지 템플릿에 이미 있는 서비스 목록에 서비스를 추가합니다.
부팅 시 활성화할 서비스를 사용자 지정합니다.
[customizations.services] enabled = ["SERVICES"] disabled = ["SERVICES"]
[customizations.services] enabled = ["SERVICES"] disabled = ["SERVICES"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
[customizations.services] enabled = ["sshd", "cockpit.socket", "httpd"] disabled = ["postfix", "telnetd"]
[customizations.services] enabled = ["sshd", "cockpit.socket", "httpd"] disabled = ["postfix", "telnetd"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.14. ISO 이미지에 Kickstart 파일 삽입 링크 복사링크가 클립보드에 복사되었습니다!
[customization.installer]
블루프린트 사용자 지정을 사용하여 이미지 설치 프로그램 또는
빌드에 고유한 Kickstart 파일을 추가하고 베어 메탈 배포를 위한 ISO 이미지를 빌드할 때 유연성을 높일 수 있습니다.
에지
설치 프로그램과 같은 ISO 설치 프로그램
Kickstart는 시스템의 첫 번째 디스크를 자동으로 다시 포맷하도록 구성되므로 기존 운영 체제 또는 데이터를 사용하여 시스템에서 ISO를 부팅하는 것은 안전하지 않을 수 있습니다.
다음 옵션을 선택하여 고유한 Kickstart 파일을 추가할 수 있습니다.
- 설치 프로세스 중에 모든 값을 설정합니다.
-
Kickstart에서
unattended = true
필드를 활성화하고 기본값으로 완전히 무인 설치를 가져옵니다. - Kickstart 필드를 사용하여 자체 Kickstart 삽입. 이렇게 하면 모든 필수 필드를 지정하거나 설치 관리자가 누락될 수 있는 일부 필드를 묻는 경우 완전히 무인 설치가 발생할 수 있습니다.
Anaconda 설치 프로그램 ISO 이미지 유형은 다음 블루프린트 사용자 지정을 지원합니다.
[customizations.installer] unattended = true sudo-nopasswd = ["user", "%wheel"]
[customizations.installer]
unattended = true
sudo-nopasswd = ["user", "%wheel"]
무인
: 설치를 완전히 자동으로 만드는 Kickstart 파일을 만듭니다. 여기에는 기본적으로 다음 옵션 설정이 포함됩니다.
- 텍스트 표시 모드
- en_US.UTF-8 언어/로컬
- us keyboard layout
- UTC 시간대
- zerombr, clearpart, autopart를 입력하여 첫 번째 디스크를 자동으로 지우고 파티션합니다.
- dhcp 및 auto-activation을 활성화하는 네트워크 옵션
다음은 예제입니다.
sudo-nopasswd
: 설치 후 /etc/sudoers.d
에 드롭인 파일을 생성하여 지정된 사용자 및 그룹이 암호 없이 sudo를 실행할 수 있도록 Kickstart 파일에 스니펫을 추가합니다. 그룹 앞에 %
를 붙여야 합니다. 예를 들어 값을 ["user"로 설정하면 "%wheel"]
에서 다음 Kickstart %post
섹션이 생성됩니다.
설치 프로그램 Kickstart
또는 다음 사용자 지정을 사용하여 사용자 지정 Kickstart를 포함할 수 있습니다.
osbuild-composer
는 image-installer
또는 edge-installer
이미지 유형과 관련된 경우 system: liveimg
또는 ostreesetup
을 설치하는 명령을 자동으로 추가합니다. 다른 설치 프로그램 사용자 정의와 함께 [customizations.installer.kickstart]
사용자 지정을 사용할 수 없습니다.
9.3.8.15. 파티션 모드 지정 링크 복사링크가 클립보드에 복사되었습니다!
partitioning_mode
변수를 사용하여 빌드 중인 디스크 이미지를 파티션하는 방법을 선택합니다. 다음과 같은 지원되는 모드로 이미지를 사용자 지정할 수 있습니다.
-
auto-lvm
: 하나 이상의 파일 시스템 사용자 지정이 없는 경우 원시 파티션 모드를 사용합니다. 이 경우 LVM 파티션 모드를 사용합니다. -
lvm
: 추가 마운트 지점이 없는 경우에도 LVM 파티션 모드를 사용합니다. -
Raw
: 마운트 지점이 하나 이상 있는 경우에도 원시 파티션을 사용합니다. 다음 사용자 지정을 사용하여
partitioning_mode
변수로 블루프린트를 사용자 지정할 수 있습니다.[customizations] partitioning_mode = "lvm"
[customizations] partitioning_mode = "lvm"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8.16. 사용자 정의 파일 시스템 구성 지정 링크 복사링크가 클립보드에 복사되었습니다!
블루프린트에서 사용자 지정 파일 시스템 구성을 지정하고 기본 레이아웃 구성 대신 특정 디스크 레이아웃으로 이미지를 생성할 수 있습니다. 블루프린트에서 기본이 아닌 레이아웃 구성을 사용하면 다음과 같은 이점을 얻을 수 있습니다.
- 보안 벤치마크 준수
- 디스크 부족 오류로부터 보호
- 성능 개선
- 기존 설정과의 일관성
OSTree 이미지에는 읽기 전용과 같은 자체 마운트 규칙이 있으므로 OSTree 시스템은 파일 시스템 사용자 정의를 지원하지 않습니다. 다음 이미지 유형은 지원되지 않습니다.
-
image-installer
-
edge-installer
-
edge-simplified-installer
또한 이러한 이미지 유형은 분할된 운영 체제 이미지를 생성하지 않으므로 다음 이미지 유형에서는 파일 시스템 사용자 정의를 지원하지 않습니다.
-
edge-commit
-
edge-container
-
tar
-
container
그러나 다음 이미지 유형에서는 파일 시스템 사용자 지정을 지원합니다.
-
simplified-installer
-
edge-raw-image
-
edge-ami
-
edge-vsphere
OSTree 시스템에 대한 몇 가지 추가 예외를 제외하고 파일 시스템의 /root
수준에서 임의의 디렉터리 이름을 선택할 수 있습니다(예: '/local',' /mypartition', /$ CryostatITION
). 논리 볼륨에서 이러한 변경 사항은 LVM 파티션 시스템에서 수행됩니다. 다음 디렉터리는 별도의 논리 볼륨에서 /var
,' /var/log' 및 /var/lib/containers
가 지원됩니다. root 수준에서 예외는 다음과 같습니다.
- "/home": {Deny: true},
- "/mnt": {Deny: true},
- "/opt": {Deny: true},
- "/ostree": {Deny: true},
- "/root": {Deny: true},
- "/srv": {Deny: true},
- "/var/home": {Deny: true},
- "/var/mnt": {Deny: true},
- "/var/opt": {Deny: true},
- "/var/roothome": {Deny: true},
- "/var/srv": {Deny: true},
- "/var/usrlocal": {Deny: true},
RHEL 8.10 및 9.5 이전의 릴리스 배포의 경우 블루프린트는 다음 마운트 지점
및 해당 하위 디렉터리를 지원합니다.
-
/
- 루트 마운트 지점 -
/var
-
/home
-
/opt
-
/srv
-
/usr
-
/app
-
/data
-
/tmp
RHEL 9.5 및 8.10 릴리스 이후 릴리스 배포에서는 운영 체제용으로 예약된 특정 경로를 제외하고 임의의 사용자 지정 마운트 지점을 지정할 수 있습니다.
다음 마운트 지점 및 해당 하위 디렉터리에 임의의 사용자 지정 마운트 지점을 지정할 수 없습니다.
-
/bin
-
/boot/efi
-
/dev
-
/etc
-
/lib
-
/lib64
-
/lost+found
-
/proc
-
/run
-
/sbin
-
/sys
-
/sysroot
-
/var/lock
-
/var/run
/usr
사용자 지정 마운트 지점의 블루프린트에서 파일 시스템을 사용자 지정할 수 있지만 하위 디렉터리는 허용되지 않습니다.
마운트 지점 사용자 지정은 CLI를 사용하여 RHEL 8.5 이후에만 지원됩니다. 이전 배포에서는 루트
파티션을 마운트 지점으로만 지정하고 size
인수를 이미지 크기의 별칭으로 지정할 수 있습니다. RHEL 8.6부터 osbuild-composer-46.1-1.el8
RPM 및 이후 버전의 경우 물리적 파티션을 더 이상 사용할 수 없으며 파일 시스템 사용자 지정으로 논리 볼륨을 생성합니다.
사용자 지정된 이미지에 두 개 이상의 파티션이 있는 경우 LVM에 사용자 지정된 파일 시스템 파티션을 사용하여 이미지를 만들고 런타임 시 해당 파티션의 크기를 조정할 수 있습니다. 이렇게 하려면 블루프린트에서 사용자 지정 파일 시스템 구성을 지정하고 필요한 디스크 레이아웃을 사용하여 이미지를 생성할 수 있습니다. 기본 파일 시스템 레이아웃은 변경되지 않은 상태로 유지됩니다. 파일 시스템 사용자 지정 없이 일반 이미지를 사용하고 cloud-init
는 루트 파티션의 크기를 조정합니다.
블루프린트는 파일 시스템 사용자 지정을 LVM 파티션으로 자동 변환합니다.
사용자 지정 파일 블루프린트 사용자 지정을 사용하여 새 파일을 생성하거나 기존 파일을 교체할 수 있습니다. 지정한 파일의 상위 디렉터리가 있어야 합니다. 그렇지 않으면 이미지 빌드가 실패합니다. [customizations.directories]
사용자 지정에 상위 디렉터리가 있는지 확인합니다.
파일 사용자 정의를 다른 블루프린트 사용자 정의와 결합하면 다른 사용자 정의 기능에 영향을 주거나 현재 파일 사용자 정의를 재정의할 수 있습니다.
9.3.8.16.1. 블루프린트에 사용자 지정 파일 지정 링크 복사링크가 클립보드에 복사되었습니다!
[customizations.files]
블루프린트 사용자 지정을 사용하면 다음을 수행할 수 있습니다.
- 새 텍스트 파일을 생성합니다.
- 기존 파일 수정. 경고: 기존 콘텐츠를 덮어쓸 수 있습니다.
- 생성 중인 파일에 대한 사용자 및 그룹 소유권을 설정합니다.
- 8진수 형식으로 모드 권한을 설정합니다.
다음 파일을 생성하거나 교체할 수 없습니다.
-
/etc/fstab
-
/etc/shadow
-
/etc/passwd
-
/etc/group
[customizations.files] 및
및 디렉터리를 생성할 수 있습니다. 이러한 사용자 지정은 [[customizations.directories]]
블루프린트 사용자 지정을 사용하여 이미지에 사용자 지정 파일/etc
디렉토리에서만 사용할 수 있습니다.
이러한 블루프린트 사용자 정의는 edge-raw-image
,edge-installer
, edge-simplified-installer
와 같은 OSTree 커밋을 배포하는 이미지 유형을 제외하고 모든 이미지 유형에서 지원됩니다.
이미 설정된 모드
,사용자
또는 그룹이
설정된 이미지에 이미 존재하는 디렉터리 경로에 custom .directories
를 사용하는 경우 이미지 빌드에서 기존 디렉터리의 소유권 또는 권한을 변경하지 못합니다.
9.3.8.16.2. 블루프린트에 사용자 지정 디렉터리 지정 링크 복사링크가 클립보드에 복사되었습니다!
[customizations.directories]
블루프린트 사용자 지정을 사용하면 다음을 수행할 수 있습니다.
- 새 디렉토리를 만듭니다.
- 생성 중인 디렉터리에 대한 사용자 및 그룹 소유권을 설정합니다.
- 8진수 형식으로 디렉터리 모드 권한을 설정합니다.
- 필요에 따라 상위 디렉터리가 생성되었는지 확인합니다.
[customizations.files]
블루프린트 사용자 지정을 사용하면 다음을 수행할 수 있습니다.
- 새 텍스트 파일을 생성합니다.
- 기존 파일 수정. 경고: 기존 콘텐츠를 덮어쓸 수 있습니다.
- 생성 중인 파일에 대한 사용자 및 그룹 소유권을 설정합니다.
- 8진수 형식으로 모드 권한을 설정합니다.
다음 파일을 생성하거나 교체할 수 없습니다.
-
/etc/fstab
-
/etc/shadow
-
/etc/passwd
-
/etc/group
다음 사용자 지정을 사용할 수 있습니다.
블루프린트에서 파일 시스템 구성을 사용자 지정합니다.
[[customizations.filesystem]] mountpoint = "MOUNTPOINT" minsize = MINIMUM-PARTITION-SIZE
[[customizations.filesystem]] mountpoint = "MOUNTPOINT" minsize = MINIMUM-PARTITION-SIZE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mi
NIMUM-PARTITION-SIZE
값은 기본 크기 형식이 없습니다. 사용자 지정은 kB에서 TB까지, KiB~TiB의 값 및 단위를 지원합니다. 예를 들어 마운트 지점 크기를 바이트 단위로 정의할 수 있습니다.[[customizations.filesystem]] mountpoint = "/var" minsize = 1073741824
[[customizations.filesystem]] mountpoint = "/var" minsize = 1073741824
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 단위를 사용하여 마운트 지점 크기를 정의합니다. 예를 들면 다음과 같습니다.
[[customizations.filesystem]] mountpoint = "/opt" minsize = "20 GiB"
[[customizations.filesystem]] mountpoint = "/opt" minsize = "20 GiB"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [[customizations.filesystem]] mountpoint = "/boot" minsize = "1 GiB"
[[customizations.filesystem]] mountpoint = "/boot" minsize = "1 GiB"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow minsize
를 설정하여 최소 파티션을 정의합니다. 예를 들면 다음과 같습니다.[[customizations.filesystem]] mountpoint = "/var" minsize = 2147483648
[[customizations.filesystem]] mountpoint = "/var" minsize = 2147483648
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [customizations.directories] :을 사용하여 이미지의
/etc
디렉터리에 사용자 지정 디렉토리를 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 블루프린트 항목은 다음과 같이 설명되어 있습니다.
-
경로
- 필수 - 생성하려는 디렉터리의 경로를 입력합니다./etc
디렉토리 아래의 절대 경로여야 합니다. -
mode
- 선택 사항 - 디렉터리에 대한 액세스 권한을 8진수 형식으로 설정합니다. 권한을 지정하지 않으면 기본값은 0755입니다. 앞에 0은 선택 사항입니다. -
user
- 선택 사항 - 사용자를 디렉터리의 소유자로 설정합니다. 사용자를 지정하지 않으면 기본값은root
입니다. 사용자를 문자열 또는 정수로 지정할 수 있습니다. -
group
- 선택 사항 - 그룹을 디렉터리의 소유자로 설정합니다. 그룹을 지정하지 않으면 기본값은root
입니다. 그룹을 문자열 또는 정수로 지정할 수 있습니다. -
ensure_parents
- 선택 사항 - 필요에 따라 상위 디렉터리를 생성할지 여부를 지정합니다. 값을 지정하지 않으면 기본값은false
입니다.
-
[customizations.directories] :을 사용하여 이미지의
/etc
디렉터리에 사용자 지정 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 블루프린트 항목은 다음과 같이 설명되어 있습니다.
-
path
- Mandatory - 생성하려는 파일의 경로를 입력합니다./etc
디렉토리 아래의 절대 경로여야 합니다. -
mode
Optional - 8진수 형식으로 파일에 대한 액세스 권한을 설정합니다. 권한을 지정하지 않으면 기본값은 0644입니다. 앞에 0은 선택 사항입니다. -
user
- Optional - 사용자를 파일의 소유자로 설정합니다. 사용자를 지정하지 않으면 기본값은root
입니다. 사용자를 문자열 또는 정수로 지정할 수 있습니다. -
group
- 선택 사항 - 그룹을 파일의 소유자로 설정합니다. 그룹을 지정하지 않으면 기본값은root
입니다. 그룹을 문자열 또는 정수로 지정할 수 있습니다. -
data
- 선택 사항 - 일반 텍스트 파일의 내용을 지정합니다. 콘텐츠를 지정하지 않으면 빈 파일이 생성됩니다.
-
9.3.8.17. 블루프린트에서 볼륨 그룹 및 논리 볼륨 이름 지정 링크 복사링크가 클립보드에 복사되었습니다!
다음 작업에 RHEL 이미지 빌더를 사용할 수 있습니다.
-
고급 파티션 레이아웃을 사용하여 RHEL 디스크 이미지를 생성합니다. 사용자 지정 마운트 지점, LVM 기반 파티션 및 LVM 기반 SWAP를 사용하여 디스크 이미지를 생성할 수 있습니다. 예를 들어
config.toml
파일을 사용하여/
및/boot
디렉터리의 크기를 변경합니다. -
사용할 파일 시스템을 선택합니다.
ext4
와xfs
중에서 선택할 수 있습니다. - 스왑 파티션 및 LV를 추가합니다. 디스크 이미지에는 LV 기반 SWAP가 포함될 수 있습니다.
- LVM 엔터티의 이름을 변경합니다. 이미지 내의 논리 볼륨(LV) 및 볼륨 그룹(VG)에는 사용자 지정 이름이 있을 수 있습니다.
다음 옵션은 지원되지 않습니다.
- 하나의 이미지에 여러 PV 또는 VG가 있습니다.
- SWAP 파일
-
/dev/shm
,/tmp
와 같은 비 물리적 파티션의 마운트 옵션.
예제: 파일 시스템이 있는 VG 및 LG 사용자 지정 이름을 추가합니다.
9.3.9. RHEL 이미지 빌더에서 설치한 패키지 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 이미지 빌더를 사용하여 시스템 이미지를 생성할 때 시스템은 기본 패키지 그룹 세트를 설치합니다.
청사진에 추가 구성 요소를 추가할 때 추가한 구성 요소의 패키지가 다른 패키지 구성 요소와 충돌하지 않는지 확인합니다. 그렇지 않으면 시스템이 종속성을 해결하지 못하고 사용자 지정된 이미지를 생성하지 못합니다. 다음 명령을 실행하여 패키지 간에 충돌이 없는지 확인할 수 있습니다.
composer-cli blueprints depsolve BLUEPRINT-NAME
# composer-cli blueprints depsolve BLUEPRINT-NAME
기본적으로 RHEL 이미지 빌더에서는 Core
그룹을 기본 패키지 목록으로 사용합니다.
이미지 유형 | 기본 패키지 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9.3.10. 사용자 정의 이미지에서 서비스 활성화 링크 복사링크가 클립보드에 복사되었습니다!
이미지 빌더를 사용하여 사용자 정의 이미지를 구성할 때 이미지에 사용되는 기본 서비스는 다음 사항에 따라 결정됩니다.
-
osbuild-composer
유틸리티를 사용하는 RHEL 릴리스 - 이미지 유형
예를 들어 ami
이미지 유형을 사용하면 기본적으로 sshd
,chronyd
, cloud-init
서비스를 활성화합니다. 이러한 서비스가 활성화되지 않으면 사용자 정의 이미지가 부팅되지 않습니다.
이미지 유형 | 기본 활성화된 서비스 |
---|---|
| sshd, cloud-init, cloud-init-local, cloud-config, cloud-final |
| sshd, cloud-init, cloud-init-local, cloud-config, cloud-final |
| cloud-init |
| 추가 서비스는 기본적으로 활성화되어 있지 않습니다. |
| 추가 서비스는 기본적으로 활성화되어 있지 않습니다. |
| sshd, chronyd, waagent, cloud-init, cloud-init-local, cloud-config, cloud-final |
| sshd, chronyd, vmtoolsd, cloud-init |
참고: 시스템을 부팅하는 동안 활성화할 서비스를 사용자 지정할 수 있습니다. 그러나 사용자 지정은 언급된 이미지 유형에 대해 기본적으로 활성화된 서비스를 재정의하지 않습니다.