4.3. 명령줄 인터페이스를 사용하여 블루프린트 생성

CLI(명령줄 인터페이스)를 사용하여 새 RHEL 이미지 빌더 블루프린트를 생성할 수 있습니다. 최종 이미지와 해당 사용자 지정(예: 패키지 및 커널 사용자 지정)을 설명합니다.

사전 요구 사항

  • root 사용자 또는 welder 그룹의 멤버인 사용자로 로그인했습니다.

절차

  1. 다음 콘텐츠를 사용하여 일반 텍스트 파일을 생성합니다.

    name = "BLUEPRINT-NAME"
    description = "LONG FORM DESCRIPTION TEXT"
    version = "0.0.1"
    modules = []
    groups = []

    BLUEPRINT-NAMELONG FORM DESCRIPTION TEXT 를 devfile에 대한 이름 및 설명으로 바꿉니다.

    0.0.1 을 Semantic Versioning 스키마에 따른 버전 번호로 바꿉니다.

  2. Makefile에 포함하려는 모든 패키지에 대해 파일에 다음 행을 추가합니다.

    [[packages]]
    name = "package-name"
    version = "package-version"

    package-namehttpd, gdb-doc 또는 coreutils 와 같은 패키지 이름으로 바꿉니다.

    선택적으로 package-version 을 사용할 버전으로 교체합니다. 이 필드는 dnf 버전 사양을 지원합니다.

    • 특정 버전의 경우 8.7.0 과 같은 정확한 버전 번호를 사용하십시오.
    • 사용 가능한 최신 버전의 경우 별표 * 를 사용합니다.
    • 최신 마이너 버전의 경우 8.*과 같은 형식을 사용하십시오.
  3. 필요에 맞게 사용자 정의하십시오. 예를 들어 SMT(Simultaneous Multi Threading)를 비활성화합니다.

    [customizations.kernel]
    append = "nosmt=force"

    사용 가능한 추가 사용자 지정은 지원되는 이미지 사용자 지정을 참조하십시오.

  4. 예를 들어 파일을 BLUEPRINT-NAME.toml로 저장하고 텍스트 편집기를 종료합니다.
  5. 다음과 같이 푸시합니다.

    # composer-cli blueprints push BLUEPRINT-NAME.toml

    BLUEPRINT-NAME 을 이전 단계에서 사용한 값으로 바꿉니다.

    참고

    composer-cli 를 non-root로 사용하여 이미지를 생성하려면 weldr 또는 root 그룹에 사용자를 추가합니다.

    # usermod -a -G weldr user
    $ newgrp weldr

검증

  • 기존journald를 나열하여509가 푸시되고 있는지 확인합니다.

    # composer-cli blueprints list
  • 방금 추가한 설정을 표시합니다.

    # composer-cli blueprints show BLUEPRINT-NAME
  • Makefile 및 해당 종속 항목에 나열된 구성 요소 및 버전이 유효한지 확인합니다.

    # composer-cli blueprints depsolve BLUEPRINT-NAME

    RHEL 이미지 빌더에서 사용자 정의 리포지토리에서 패키지의 종속 항목을 해결할 수 없는 경우 osbuild-composer 캐시를 제거합니다.

    $ sudo rm -rf /var/cache/osbuild-composer/*
    $ sudo systemctl restart osbuild-composer