충돌하는 패키지가 포함된 사용자 정의 채널 문제 해결

부트스트랩 리포지토리 생성과 같은 충돌하는 패키지 기능으로 사용자 정의 채널을 설정할 때 정의되지 않은 동작이 발생하고 클라이언트 등록이 실패할 수 있습니다.

예를 들어, 버전 번호가 더 높은 충돌하는 패키지가 부트스트랩 리포지토리에 포함될 수 있습니다. 이러한 패키지(예: python3-zmq 또는 zeromq)는 부트스트랩 리포지토리의 생성을 손상시키거나 클라이언트 부트스트랩 중에 문제를 일으킬 수 있습니다.

사용자 정의 채널(예: EPEL 채널)이 상위 벤더 채널 아래에 추가되면 충돌하는 패키지 문제를 직접 해결할 수 없습니다. 이를 해결하는 방법은 사용자 정의 채널을 벤더 채널과 분리하는 것입니다. 사용자 정의 채널은 별도의 트리에서 생성해야 합니다. 사용자 정의 채널이 하위로 전달되어야 하는 경우 CLM(컨텐트 라이프싸이클 관리)을 사용하여 이러한 환경을 생성할 수 있습니다. 다른 트리에서 CLM 프로젝트의 소스를 추가할 수 있습니다. 이러한 접근법을 사용하면 사용자 정의 채널이 빌드 환경 내에서 상위 아래에 유지됩니다. 그러나 벤더 채널 트리는 사용자 정의 채널 및 부트스트랩 리포지토리 없이 유지됩니다. 그러면 클라이언트 등록이 올바르게 작동합니다.

충돌하는 패키지(salt, zeromq 등)가 포함된 사용자 정의 채널이 하위 채널로 생성되는 경우 다음 단계를 통해 문제를 방지할 수 있습니다.

절차: 사용자 정의 채널에서 패키지 충돌 방지
  1. 상위 채널에서 하위 채널로 사용자 정의 채널을 제거합니다. 자세한 내용은 administration:custom-channels.adoc#_manage_custom_channels에서 확인할 수 있습니다.

  2. 별도의 트리에 사용자 정의 채널을 생성합니다. 자세한 내용은 administration:custom-channels.adoc#_creating_custom_channels_and_repositories에서 확인할 수 있습니다. CLM(컨텐트 라이프싸이클 관리)에서 사용자 정의 채널을 하위 채널로 임포트하려면 다음을 실행합니다.

    • SUSE Manager Web UI에서 컨텐트 라이프싸이클로 이동하고 프로젝트 생성을 클릭합니다. 이름레이블을 입력합니다.

    • Attach Source to the project. Use the needed vendor channels and the custom channel. (sharing example using CentOS8)

    • Add environment into the Project. For example, use CentOS8.

    • 환경을 빌드하려면 빌드 버튼을 클릭합니다. 이 작업을 수행하면 활성화 키와 연결되고 클라이언트를 부트스트랩하기 위해 사용할 수 있는 벤더 및 사용자 정의 채널이 포함된 환경이 생성됩니다.

  3. 중요 참고: CLM 프로젝트에서, 문제가 있거나 충돌하는 패키지를 제외하는 필터를 추가하는 것이 좋습니다. 그렇지 않으면 클라이언트 업데이트 중에 버전 번호가 더 높은 충돌하는 패키지가 설치됩니다. 필터링에 대한 자세한 내용은 administration:content-lifecycle-examples.adoc#exclude-higher-kernel-version에서 확인할 수 있습니다.

  4. CLM 환경(벤더 및 사용자 정의 채널 포함)에 최신 패치를 패치하려면 프로젝트에서 빌드 버튼을 클릭합니다. 이는 환경을 다시 빌드하기 위해 필요합니다.

Using the Extra Packages for Enterprise Linux (EPEL) directly on Red Hat Enterprise Linux clients (or compatible: SUSE Liberty Linux, CentOS, Oracle Linux, etc.) will install the Salt packages from EPEL, which miss some features available in the SUSE Manager-provided Salt packages. This is especially important because it will result in a bootstrap repository containing the non-SUSE Salt packages. Therefore, this is an unsupported scenario. If you need to enable the EPEL repository, make sure you filter out the Salt packages from EPEL in advance (for example, by removing the Salt packages in Software  Manage  Channels  EPEL  Packages.