사용자 정의 채널

사용자 정의 채널을 사용하면 클라이언트를 업데이트하기 위해 사용할 수 있는 고유 소프트웨어 패키지 및 리포지토리를 생성할 수 있습니다. 또한, 사용자 환경에서 타사 벤더가 제공하는 소프트웨어도 사용할 수 있습니다.

이 섹션에서는 사용자 정의 채널을 생성, 관리 및 삭제하는 방법에 대해 자세히 설명합니다. 사용자 정의 채널을 생성 및 관리하려면 관리자 권한이 있어야 합니다.

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

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

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

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

벤더에서 제공하는 패키지를 사용하려면 벤더 채널을 기본 채널로 선택할 수 있습니다. 또는, 없음을 선택하여 사용자 정의 채널을 기본 채널로 설정합니다.

절차: 사용자 정의 채널 생성
  1. SUSE Manager Web UI에서 소프트웨어  관리  채널로 이동하고 채널 생성을 클릭합니다.

  2. 소프트웨어 채널 생성 페이지에서, 채널에 이름(예: My Tools SLES 15 SP1 x86_64) 및 레이블(예: my-tools-sles15sp1-x86_64)을 지정합니다. 레이블에는 공백 또는 대문자를 포함하지 않아야 합니다.

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

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

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

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

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

원격 채널 및 리포지토리가 GPG 키로 서명된 경우 해당 GPG 키를 임포트 및 신뢰할 수 있습니다. 예를 들어, SUSE Manager 서버의 명령줄에서 spacewalk-repo-sync 실행:

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

사용할 수 있는 경우 기본 zypper 호출이 키를 임포트합니다. Web UI는 이 기능을 제공하지 않습니다.

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

기본적으로 새 채널을 생성할 때 GPG 검사 활성화 필드가 선택되어 있습니다. 채널에 사용자 정의 패키지 및 애플리케이션을 추가하려면 서명되지 않은 패키지를 설치할 수 있도록 이 필드의 선택을 취소해야 합니다. 신뢰할 수 없는 출처에서 제공된 패키지의 경우 GPG 검사를 비활성화하면 보안 위험이 발생할 수 있습니다.

기존 Red Hat Enterprise Linux 7 또는 SLES Expanded Support 7 클라이언트를 등록하는 경우 서명되지 않은 패키지에 오류가 있을 수 있습니다. 자세한 내용은 기존 Red Hat 클라이언트 등록 문제 해결에서 확인할 수 있습니다.

유효한 소프트웨어 리포지토리인 경우에만 Web UI를 사용하여 SUSE Manager에 리포지토리를 추가할 수 있습니다. 필요한 리포지토리 메타데이터를 사용할 수 있는지 미리 확인하십시오. 이와 관련해서는 createreporeprepro와 같은 도구를 유용하게 사용할 수 있습니다. mgrpush는 리포지토리를 생성하지 않고 단일 RPM을 채널에 푸시하기 위한 용도로 유용하게 사용할 수 있습니다. 자세한 내용은 createrepo_creprepro man 페이지에서 확인할 수 있습니다.

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

  2. 리포지토리 생성 페이지에서 저장소에 레이블(예: my-tools-sles15sp1-x86_64-repo)을 지정합니다.

  3. 리포지토리 URL 필드에 repodata 파일이 포함된 디렉토리의 경로(예: file:///opt/mytools/)를 입력합니다. 이 필드에 올바른 주소 지정 프로토콜을 사용할 수 있습니다.

  4. 서명된 메타데이터가 있습니까? 확인란의 선택을 취소합니다.

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

  6. 리포지토리 생성을 클릭합니다.

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

사용할 리포지토리에 GPG 키가 없으면 직접 입력하고 GPG 키를 키링으로 수동으로 임포트할 수 있습니다. gpg 명령줄 도구를 사용하여 /var/lib/spacewalk/gpgdir 키링으로 키를 임포트하면 영구적으로 저장됩니다. 키는 chroot 환경을 삭제하는 경우에도 유지됩니다.

절차: GPG 키를 사용하여 소프트웨어 리포지토리 생성
  1. 키를 펍 키링으로 임포트하는 gpg 명령은 다음과 같습니다.

    gpg --keyring /var/lib/spacewalk/gpgdir  --import /path/to/gpg.key
    gpg --edit-key <keyid>

uyuni_suite, uyuni_componentuyuni_arch 쿼리 파라미터를 사용하여 Debian 논플랫 리포지토리를 추가합니다.

uyuni_suite

필수입니다. Debian 설명서에서는 이를 배포라고도 합니다. 이 파라미터를 사용하여 적절한 소스를 지정합니다. 이 파라미터가 없으면 원래 접근 방식이 사용됩니다. 파라미터가 /로 끝나면 리포지토리가 플랫으로 식별됩니다.

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/

suitecomponent의 각 쌍에 대해 사양은 기본 URL + suite + component에서 계산된 고유한 URL을 정의합니다.

절차: 채널에 리포지토리 할당
  1. 소프트웨어  관리  채널로 이동하고 새로 생성된 사용자 정의 채널의 이름을 클릭한 후 리포지토리 탭으로 이동하여 새 리포지토리를 사용자 정의 채널에 할당합니다.

  2. 채널에 할당할 리포지토리가 선택되었는지 확인하고 리포지토리 업데이트를 클릭합니다.

  3. 동기화 탭으로 이동하여 지금 동기화를 클릭하면 즉시 동기화됩니다. 채널 동기화에 대한 자세한 내용은 아래를 참조하십시오.

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

  2. 세부 사항 탭의 하위 채널 목록에서 연결할 채널을 선택합니다. 필요한 경우 여러 채널을 선택할 수 있습니다.

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

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

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

기본적으로 사용자 정의 채널은 자동으로 동기화되지 않습니다. 사용자 정의 채널을 최신 상태로 유지하려면 다음을 수행:

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

  • 리포지토리 탭에서 자동 동기화 일정을 설정합니다.

생성한 모든 사용자 정의 채널에 대해 자동 동기화를 사용할 수도 있습니다. 이를 위해서는 /etc/rhn/rhn.conf에 다음을 설정:

java.unify_custom_channel_management = 1

이 속성을 켜면 동기화가 자동으로 수행됨:

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

  • 일일 작업 mgr-sync-refresh-default의 일부로, 이 경우 모든 사용자 정의 및 벤더 채널이 동기화됩니다.

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

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

  • SUSE Manager Web UI에서 소프트웨어  관리  채널로 이동한 다음, 리포지토리에 연결된 채널을 클릭합니다. 리포지토리  동기화로 이동하십시오. 동기화 상태가 리포지토리 이름 옆에 표시됩니다.

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

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

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

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

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

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

절차: 사용자 정의 채널에 패키지 추가
  1. SUSE Manager Web UI에서 소프트웨어  관리  채널로 이동하고 패키지 탭으로 이동합니다.

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

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

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

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

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

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

절차: 사용자 정의 채널에 패치 추가
  1. SUSE Manager Web UI에서 소프트웨어  관리  채널로 이동하고 패치 탭으로 이동합니다.

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

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

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

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

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

4. 사용자 정의 채널 관리

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

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

클라이언트 집합에 할당된 채널을 삭제하면 삭제된 채널 및 연결된 모든 클라이언트의 채널 상태가 즉시 업데이트됩니다. 이를 통해 변경 사항이 리포지토리 파일에 정확하게 반영될 수 있습니다.

Web UI를 사용하여 SUSE Manager 채널을 삭제할 수 없습니다. 사용자 정의 채널만 삭제할 수 있습니다.

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

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

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

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

채널이 삭제될 때 삭제된 채널의 일부에 해당하는 패키지는 자동으로 제거되지 않습니다. 채널이 삭제된 패키지는 업데이트할 수 없습니다.

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