Red Hat Training

A Red Hat training course is available for RHEL 8

3.5. 시스템 리포지토리 덮어쓰기

/etc/osbuild-composer/repositories 디렉터리에서 RHEL 이미지 빌더에 대한 자체 리포지토리 덮어쓰기를 구성할 수 있습니다.

참고

RHEL 8.5 릴리스 이전에는 리포지토리 덮어쓰기는 rhel-8.json 입니다. RHEL 8.5부터 이름은 마이너 버전인 rhel-84.json,rhel-85.json 등도 따릅니다.

사전 요구 사항

  • 호스트 시스템에서 액세스할 수 있는 사용자 지정 리포지토리가 있습니다.

절차

  1. 리포지토리 덮어쓰기를 저장할 /etc/osbuild-composer/repositories/ 디렉터리를 만듭니다.

    $ sudo mkdir -p /etc/osbuild-composer/repositories
  2. RHEL 버전에 해당하는 이름을 사용하여 JSON 파일을 생성합니다. 또는 /usr/share/osbuild-composer/ 에서 배포할 파일을 복사하고 해당 콘텐츠를 수정할 수 있습니다.

    RHEL 8.9의 경우 /etc/osbuild-composer/repositories/rhel-89.json 을 사용합니다.

  3. JSON 파일에 다음 구조를 추가합니다. 문자열 형식으로 다음 속성 중 하나만 지정합니다.

    • baseurl - 리포지토리의 기본 URL입니다.
    • metalink - 유효한 미러 리포지토리 목록이 포함된 metalink 파일의 URL입니다.
    • mirrorlist - 유효한 미러 저장소 목록이 포함된 미러 목록 파일의 URL입니다. 나머지 필드(예: gpgkey ) 및 metadata_expire 는 선택 사항입니다.

      예를 들면 다음과 같습니다.

      {
           "x86_64": [
              {
                  "name": "baseos",
                  "baseurl": "http://mirror.example.com/composes/released/RHEL-8/8.0/BaseOS/x86_64/os/",
                  "gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n (…​)",
                  "check_gpg": true
              }
          ]
      }

      또는 rhel-version.json 을 RHEL 버전으로 교체하여 배포에 대한 JSON 파일을 복사할 수 있습니다(예: rhel-8.json).

      $  cp /usr/share/osbuild-composer/repositories/rhel-version.json /etc/osbuild-composer/repositories/
  4. 선택 사항: JSON 파일을 확인합니다.

    $ json_verify  /etc/osbuild-composer/repositories/<file>.json
  5. rhel-8.json 파일에서 baseurl 경로를 편집하여 저장합니다. 예를 들면 다음과 같습니다.

    $ /etc/osbuild-composer/repositories/rhel-version.json
  6. osbuild-composer.service 를 다시 시작합니다.

    $ sudo systemctl restart osbuild-composer.service

검증

  • 리포지토리가 올바른 URL을 가리키는지 확인합니다.

    $ cat /etc/yum.repos.d/redhat.repo

    리포지토리가 /etc/yum.repos.d/redhat.repo 파일에서 복사되는 올바른 URL을 가리키는 것을 확인할 수 있습니다.