사용자 정의 채널

사용자 정의 채널을 통해 소프트웨어 패키지 및 리포지토리를 생성하고, 이를 사용하여 클라이언트를 업데이트할 수 있습니다. 또한, 환경에서 제3자 공급업체가 제공하는 소프트웨어를 사용할 수 있습니다.

이 섹션에서는 사용자 정의 채널을 생성, 관리 및 삭제하는 방법에 대한 자세한 정보를 제공합니다. 사용자 정의 채널을 생성하고 관리하려면 관리자 권한이 필요합니다.

1. 사용자 정의 채널 및 리포지토리 생성

사용자 정의 채널을 생성하기 전 연결할 기본 채널과 컨텐트에 사용할 리포지토리를 결정합니다.

클라이언트 시스템에 설치해야 하는 사용자 정의 소프트웨어 패키지가 있는 경우, 이를 관리하기 위해 사용자 정의 자식 채널을 생성할 수 있습니다. 채널을 SUSE Multi-Linux Manager Web UI에서 생성하고 패키지를 위한 리포지토리를 생성한 후, 채널을 시스템에 할당해야 합니다.

클라이언트 시스템과 호환되지 않는 패키지가 포함된 하위 채널을 생성하지 마십시오.

공급업체가 제공하는 패키지를 사용하려면 공급업체 채널을 기본 채널로 선택할 수 있습니다. 또는 `none`을(를) 선택하여 사용자 정의 채널을 기본 채널로 만듭니다.

절차 사용자 정의 채널 생성
  1. SUSE Multi-Linux Manager Web UI에서 소프트웨어  관리  채널으로 이동한 후, 채널 생성을 클릭합니다.

  2. Create Software Channel 페이지에서 채널에 이름(예: My Tools SLES 15 SP1 x86_64)과 레이블(예: my-tools-sles15sp1-x86_64)을 지정하십시오. 레이블에는 공백 또는 대문자를 포함하지 않아야 합니다.

  3. Parent Channel 드롭다운에서 관련 기본 채널(예: SLE-Product-SLES15-SP1-Pool for x86_64)을 선택하십시오. 패키지에 대해 호환되는 상위 채널을 선택했는지 확인합니다.

  4. Architecture 드롭다운에서 적절한 하드웨어 아키텍처(예: x86_64)를 선택하십시오.

  5. 필요한 대로, 연락처 세부 정보, 채널 액세스 제어 및 GPG 필드에 추가 정보를 입력합니다.

  6. 채널 생성을 클릭합니다.

사용자 정의 채널은 때때로 추가 보안 설정이 필요합니다. 많은 제3자 공급업체가 GPG로 패키지를 보호합니다. 사용자 정의 채널에서 GPG로 보호된 패키지를 사용하려면 메타데이터에 서명하는 데 사용된 GPG 키를 신뢰해야 합니다. 그런 다음 Has Signed Metadata? 확인란을 선택하여 패키지 메타데이터를 신뢰할 수 있는 GPG 키와 일치시킬 수 있습니다.

원격 채널과 리포지토리가 GPG 키로 서명된 경우, 이러한 GPG 키를 가져오고 신뢰할 수 있습니다. 예를 들어, spacewalk-repo-sync 서버의 명령줄에서 SUSE Multi-Linux Manager을(를) 실행하십시오.

/usr/bin/spacewalk-repo-sync -c <channellabelname> -t yum

이 명령 및 절차는 임시 GPG 키 동기화 전용입니다. 키를 영구적으로 저장하려면, 나중에 이 섹션을 참조하십시오.

기본 zypper 호출은 키가 사용 가능한 경우 키를 가져옵니다. 이 Web UI는 이 기능을 제공하지 않습니다.

이것은 미러링하려는 리포지토리가 특별한 방식으로 설정되고 서명 옆에 "키"를 제공할 때만 작동합니다. 이것은 Open Build Service (OBS)에서 생성된 모든 리포지토리에 해당합니다. 다른 리포지토리의 경우, 아래에서 더 설명하는 특별한 준비 단계가 필요합니다.

기본적으로 새 채널을 생성할 때 Enable GPG Check 필드가 선택되어 있습니다. 채널에 사용자 정의 패키지 및 응용 프로그램을 추가하려면, 서명되지 않은 패키지를 설치할 수 있도록 이 필드의 선택을 해제해야 합니다. GPG 확인을 비활성화하는 것은 패키지가 신뢰할 수 없는 출처에서 온 경우 보안 위험입니다.

유효한 소프트웨어 리포지토리인 경우에만 SUSE Multi-Linux Manager에 Web UI로 리포지토리를 추가할 수 있습니다. 필요한 리포지토리 메타데이터가 사용 가능한지 미리 확인하십시오. createrepo 및 `reprepro`와 같은 도구가 이와 관련하여 유용합니다. `mgrpush`은(는) 리포지토리를 생성하지 않고 단일 RPM을 채널로 푸시하는 데 도움이 될 수 있습니다.

  • `createrepo_c`에 대한 자세한 내용은 `https://manpages.opensuse.org/Leap-15.6/createrepo_c/`을(를) 참조하십시오.

  • `reprepro`에 대한 자세한 내용은 `https://manpages.opensuse.org/Leap-15.6/reprepro/`을(를) 참조하십시오.

절차 소프트웨어 리포지토리 추가
  1. SUSE Multi-Linux Manager Web UI에서 소프트웨어  관리  리포지토리로 이동하고 리포지토리 생성을 클릭합니다.

  2. Create Repository 페이지에서 리포지토리에 레이블(예: my-tools-sles15sp1-x86_64-repo)을 지정하십시오.

  3. Repository URL 필드에 repodata 파일이 포함된 디렉토리 경로(예: file:///opt/mytools/)를 제공하십시오. 이 필드에서는 유효한 주소 지정 프로토콜을 사용할 수 있습니다.

  4. Has Signed Metadata? 확인란의 선택을 취소하십시오.

  5. 선택 사항: 리포지토리에 클라이언트 인증서 인증이 필요한 경우 SSL 필드를 입력하십시오.

  6. 리포지토리 생성을 클릭하십시오.

위 절차는 미러링하려는 리포지토리가 서명 옆에 "키"를 제공하는 경우에만 작동합니다. 이 경우는 OBS에서 생성된 모든 리포지토리에 해당하지만, 일반적으로 OBS에서 제공하지 않는 운영 체제의 리포지토리에는 해당되지 않습니다.

사용하려는 리포지토리에 GPG 키가 없는 경우, 직접 GPG 키를 제공하고 수동으로 키링에 GPG 키를 가져올 수 있습니다. gpg 명령줄 도구를 사용하여 /var/lib/spacewalk/gpgdir 키링으로 키를 가져오면 영구적으로 저장됩니다. chroot 환경이 정리되더라도 키는 지속됩니다.

절차 GPG 키를 사용하여 소프트웨어 리포지토리 생성
  1. 컨테이너 호스트에서 키를 키링으로 가져오는 명령은 다음과 같습니다.

    mgradm gpg add /path/to/gpg.key
  2. 자세한 내용은 자체 GPG 키 사용을 참조하십시오.

uyuni_suite, uyuni_componentuyuni_arch 쿼리 매개변수를 사용하여 Debian 비플랫 리포지토리를 추가하십시오.

uyuni_suite

필수입니다. Debian 문서에서는 이것을 `distribution`라고도 합니다. 이 매개변수를 사용하여 apt 소스를 지정합니다. 이 매개변수가 없으면 원래 접근 방식이 사용됩니다. 매개변수가 `/`로 끝나면 리포지토리는 플랫으로 식별됩니다.

uyuni_component

선택 사항입니다. 이 매개변수는 하나의 구성 요소만 지정할 수 있습니다. 구성 요소를 나열하는 것은 불가능합니다. 적합한 소스 항목은 여러 구성 요소를 지정할 수 있지만, 우이니(Uyuni)에서는 불가능합니다. 대신 각 구성 요소에 대해 별도의 리포지토리를 생성해야 합니다.

uyuni_arch

선택 사항입니다. 생략할 경우 아키텍처 이름은 데이터베이스에서 채널에 대한 SQL 쿼리로 계산됩니다. 채널의 아키텍처와 일치하지 않는 경우 `uyuni_arch`를 명시적으로 지정하십시오(때때로 아키텍처 이름 지정이 모호할 수 있습니다).

예는 다음과 같습니다.

Table 1. Debian 논플랫 리포지토리 매핑
유형 소스 라인 / URL

apt 소스 라인

deb https://pkg.jenkins.io/debian-stable binary/

URL 매핑

https://pkg.jenkins.io/debian-stable?uyuni_suite=binary/

 

apt 소스 라인

deb https://deb.debian.org/debian/dists stable main

URL 매핑

https://deb.debian.org/debian/dists?uyuni_suite=stable&uyuni_component=main

다음 Debian 리포지토리 정의 형식에 대한 정보는 https://wiki.debian.org/DebianRepository/Format#Overview.을(를) 기반으로 합니다.

리포지토리 정의 형식은 다음과 같습니다.

deb uri suite [component1] [component2] [...]

예:

deb https://deb.debian.org/debian/dists stable main

또는

deb https://pkg.jenkins.io/debian-stable binary/

suite 및 `component`의 각 쌍에 대해 사양은 기본 URL `+ suite + component`을(를) 기준으로 계산된 고유한 URL을 정의합니다.

절차 리포지토리를 채널에 할당하기
  1. 소프트웨어  관리  채널로 이동하여 새로 만든 사용자 정의 채널의 이름을 클릭하여 새 리포지토리를 사용자 정의 채널에 할당합니다.

  2. Repositories 탭으로 이동하여 채널에 할당할 리포지토리가 선택되어 있는지 확인하십시오. 리포지토리 저장을 클릭합니다.

  3. 기본적으로 동기화 프로세스는 즉시 시작됩니다.

채널 동기화에 대한 자세한 정보는 사용자 정의 채널 동기화을(를) 참조하십시오.

절차 활성화 키에 사용자 정의 채널 추가
  1. SUSE Multi-Linux Manager Web UI에서 시스템  활성화 키로 이동하여 사용자 정의 채널을 추가할 키를 선택합니다.

  2. Details 탭의 Child Channels 목록에서 연결할 채널을 선택합니다. 필요한 경우 여러 채널을 선택할 수 있습니다.

  3. 활성화 키 업데이트를 클릭합니다.

2. 사용자 정의 채널 동기화

중요한 업데이트가 누락되지 않으려면, SUSE는 원격 리포지토리 변경 사항에 따라 사용자 정의 채널을 최신 상태로 유지할 것을 권장합니다.

기본적으로, 생성한 모든 사용자 정의 채널에 대해 동기화가 자동으로 수행됩니다. 특히, 다음의 경우에 수행됩니다:

  • UI에서 또는 `spacewalk-common-channels`를 사용하여 채널에 리포지토리를 추가한 후

  • 모든 사용자 정의 및 벤더 채널을 동기화하는 일일 작업 `mgr-sync-refresh-default`의 일부로 수행됩니다.

이 기본 동작을 비활성화하려면 `/etc/rhn/rhn.conf`에 설정합니다:

java.unify_custom_channel_management = 0

이 속성을 끄면 동기화가 자동으로 수행되지 않으며, 사용자 정의 채널을 최신 상태로 유지하려면 다음을 수행합니다.

  • Sync 탭으로 이동하고 지금 동기화를 클릭하여 수동으로 동기화합니다,

  • Repositories 탭에서 자동 동기화 일정을 설정합니다.

프로세스가 시작되면 채널이 동기화를 완료했는지 확인할 수 있는 다음과 같은 몇 가지 방법이 있습니다.

  • SUSE Multi-Linux Manager Web UI에서 관리자  설정 마법사로 이동하여 Products 탭을 선택합니다. 이 대화 상자는 동기화되는 중에 각 제품에 대한 진행률 막대를 표시합니다.

  • SUSE Multi-Linux Manager Web UI에서 소프트웨어  관리  채널로 이동한 후, 리포지토리에 연결된 채널을 클릭합니다. 메뉴:[리포지토리 > 동기화] 탭으로 이동합니다. 리포지토리 이름 옆에 `Sync Status`가 표시됩니다.

  • 명령 프롬프트에서 동기화 로그 파일을 확인합니다.

    tail -f /var/log/rhn/reposync/<channel-label>.log

    각 하위 채널은 동기화가 진행되는 동안 자체 로그를 생성합니다. 동기화가 완료되었는지 알아보려면 모든 기본 및 하위 채널 로그 파일을 확인해야 합니다.

다음 사용자 지정 채널 동기화 옵션을 사용할 수 있습니다.

리포지토리에서 제거된 채널의 패키지를 유지합니다.

이 기능은 strict 모드를 끕니다.

오류를 동기화하지 않음

패치를 동기화하지 마십시오.

최신 패키지만 동기화

최신 패키지 버전만 동기화하십시오.

킥스타트 가능 트리 생성

이 옵션은 Kickstart 자동 설치에 사용할 수 있도록 디렉토리 트리를 준비합니다.

오류 발생 시 종료

오류가 발생하면 동기화를 중지하십시오.

이 옵션은 각 채널에 대해 지속적으로 저장됩니다. 지금 동기화 버튼은 동기화를 수행하기 전에 채널 옵션도 저장합니다.

3. 사용자 정의 채널에 패키지 및 패치 추가

기존 채널에서 복제하지 않고 새 사용자 정의 채널을 생성하면, 패키지나 패치가 포함되지 않습니다. 필요한 패키지와 패치를 SUSE Multi-Linux Manager Web UI를 사용하여 추가할 수 있습니다.

사용자 정의 채널에는 복제되거나 사용자 정의된 패키지 또는 패치만 포함될 수 있으며, 채널의 기본 아키텍처와 일치해야 합니다. 사용자 정의 채널에 추가된 패치는 채널에 존재하는 패키지에 적용되어야 합니다.

절차 사용자 정의 채널에 패키지 추가
  1. SUSE Multi-Linux Manager Web UI에서 소프트웨어  관리  채널으로 이동한 다음, Packages 탭으로 이동합니다.

  2. 선택 사항: List/Remove 탭으로 이동하여 현재 채널에 있는 모든 패키지를 확인합니다.

  3. Add 탭으로 이동하여 채널에 새 패키지를 추가합니다.

  4. 패키지를 제공할 상위 채널을 선택하고 패키지 보기를 클릭하여 목록을 채웁니다.

  5. 사용자 정의 채널에 추가할 패키지를 확인하고 패키지 추가를 클릭합니다.

  6. 선택에 만족하면 추가 확인를 클릭하여 채널에 패키지를 추가합니다.

  7. 선택 사항: 현재 채널의 패키지를 다른 채널의 패키지와 비교하려면 소프트웨어  관리  채널로 이동하고 패키지  비교 탭으로 이동합니다. 두 채널을 동일하게 만들려면 차이 병합 버튼을 클릭하고 충돌을 해결합니다.

절차 사용자 정의 채널에 패치 추가
  1. SUSE Multi-Linux Manager Web UI에서 소프트웨어  관리  채널으로 이동한 다음, Patches 탭으로 이동합니다.

  2. 선택 사항: List/Remove 탭으로 이동하여 현재 채널에 있는 모든 패치를 확인합니다.

  3. Add 탭으로 이동하고 추가할 패치 종류를 선택하여 채널에 새 패치를 추가합니다.

  4. 패치를 제공할 상위 채널을 선택하고 관련 패치 보기를 클릭하여 목록을 채웁니다.

  5. 사용자 정의 채널에 추가할 패치를 확인하고 확인를 클릭합니다.

  6. 선택에 만족하면 확인를 클릭하여 채널에 패치를 추가합니다.

4. 사용자 정의 채널 관리

SUSE Multi-Linux Manager 관리자 및 채널 관리자는 모든 채널을 변경 또는 삭제할 수 있습니다.

다른 사용자에게 채널을 변경하거나 삭제할 권한을 부여하려면 소프트웨어  관리  채널로 이동하고 편집할 채널을 선택합니다. Managers 탭으로 이동하여 권한을 부여할 사용자를 확인합니다. 업데이트를 클릭하여 변경 사항을 저장합니다.

클라이언트 집합에 할당된 채널을 삭제하면 삭제된 채널과 연결된 클라이언트의 채널 상태가 즉시 업데이트됩니다. 이는 변경 사항이 리포지토리 파일에 정확하게 반영되도록 하기 위함입니다.

SUSE Multi-Linux Manager 채널은 Web UI로 삭제할 수 없습니다. 사용자 정의 채널만 삭제할 수 있습니다.

절차 사용자 정의 채널 삭제
  1. SUSE Multi-Linux Manager Web UI에서 소프트웨어  관리  채널으로 이동하여 삭제할 채널을 선택합니다.

  2. 소프트웨어 채널 삭제를 클릭합니다.

  3. Delete Channel 페이지에서 삭제할 채널의 세부 정보를 확인하고 Unsubscribe Systems 확인란을 선택하여 아직 가입 중인 시스템에서 사용자 정의 채널을 제거합니다.

  4. 채널 삭제를 클릭합니다.

채널이 삭제되면 삭제된 채널의 일부인 패키지는 자동으로 제거되지 않습니다. 채널이 삭제된 패키지는 업데이트할 수 없습니다.

SUSE Multi-Linux Manager Web UI에서 채널과 연결되지 않은 패키지를 삭제할 수 있습니다. 소프트웨어  관리  패키지로 이동하여 제거할 패키지를 확인하고 패키지 삭제를 클릭합니다.