Menu Close

4.2. 명령줄 인터페이스를 사용하여 이미지 빌더 롤업 생성

다음 절차에서는 명령줄 인터페이스를 사용하여 새 Image Builder 요건을 생성하는 방법을 설명합니다.

절차

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

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

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

    0.0.1Semantic Versioning scheme에 따라 버전 번호로 바꿉니다.

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

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

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

    사용할 package-version 을 버전으로 바꿉니다. 이 필드는 dnf 버전 사양을 지원합니다.

    • 특정 버전의 경우 8.6.0 과 같은 정확한 버전 번호를 사용하십시오.
    • 사용 가능한 최신 버전의 경우 별표 * 를 사용하십시오.
    • 최신 마이너 버전의 경우 8.*과 같은 형식을 사용하십시오.
  3. 여러 가지 방법으로 탄력성을 사용자 지정할 수 있습니다. 이 예에서는 아래 단계를 수행하여 SMT(Simultaneous Multi Threading)를 비활성화할 수 있습니다. 사용 가능한 추가 사용자 지정은 지원되는 이미지 사용자 지정을 참조하십시오.

    [customizations.kernel]
    append = "nosmt=force"
  4. 파일을 BLUEPRINT-NAME.toml로 저장하고 텍스트 편집기를 종료합니다.
  5. credential을 푸시(가져오기)합니다.

    # composer-cli blueprints push BLUEPRINT-NAME.toml

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

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

    # composer-cli blueprints list
  7. 방금 추가한 NetNamespace 구성을 표시하려면 명령을 실행합니다.

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

    # composer-cli blueprints depsolve BLUEPRINT-NAME
참고

composer-cli 명령을 루트가 아닌 명령을 사용하여 이미지를 생성하려면 사용자를 weldr 또는 root 그룹에 추가합니다.

검증

이미지 빌더에서 사용자 지정 리포지토리에서 패키지를 제거할 수 없는 경우 다음 단계를 수행합니다.

  • osbuild-composer 캐시를 제거합니다.

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