anaconda/kickstart 패키지 주문을 재정의하는 방법은 무엇입니까?

anaconda/kickstart 패키지 주문을 재정의하는 방법은 무엇입니까?

Linux 이미지(Oracle Linux, 5.8) 설치를 위해 부팅 가능한 ISO를 구축 중입니다. 이는 anaconda와 kickstart 파일을 사용하여 로드할 패키지를 선택합니다. %post 섹션의 종속성 문제로 인해 이러한 패키지 중 일부가 실패했습니다.

예를 들어, 설치가 완료된 후 /root/install.log에서 다음을 볼 수 있습니다.

Installing thirdparty-tools-1.00-09.noarch
/var/tmp/rpm-tmp.97891: line 1: ln: command not found
/var/tmp/rpm-tmp.97891: line 2: ln: command not found
/var/tmp/rpm-tmp.97891: line 3: ln: command not found
/var/tmp/rpm-tmp.97891: line 4: ln: command not found
error: %post(thirdparty-tools-1.00-09.noarch) scriptlet failed, exit status 127

패키지 주문을 제어/재정의할 수 있는지 알아보려고 합니다.RPM을 편집하지 않고 종속성 추가. 저는 anaconda/kickstart 문서를 살펴보았습니다(https://fedoraproject.org/wiki/Anaconda/Kickstart#Chapter_3._Package_Selection), 다른 곳에서 광범위하게 검색했기 때문에 대답은 실제로 "아니요, 그렇게 할 수 없습니다"라고 생각합니다. 이는 부끄러운 일입니다.

문제는 내가 다양한 것을 포함시키려고 한다는 것이다.제3자RPM은 내 통제하에 있지 않으며 디지털 서명되어 있습니다. 여기에는 %post 섹션의 일부 처리가 포함됩니다. 이 처리에는 coreutils 패키지에 제공되는 "ln", "touch" 등과 같은 일부 표준 Linux 명령이 필요합니다. 분명히 포함되어야 하지만 타사 패키지에는 현재 coreutils 패키지에 대한 종속성이 포함되어 있지 않습니다. Anaconda는 자체 부분 순서 알고리즘을 사용하여 이러한 패키지를 설치할 순서를 선택하고 타사 패키지가 설치됩니다.앞으로coreutils 패키지. 분명히 올바른 해결책은 제3자가 이러한 RPM을 수정하도록 하는 것이지만 시간이 오래 걸릴 수 있습니다.

나는 이것이 추가 종속성을 추가할 수 있는 킥스타트 파일에 대한 숨겨진/문서화되지 않은 옵션일 수 있기를 바랐습니다. 이상적으로는 %packages 섹션에 다음과 같은 항목을 추가할 수 있기를 바랍니다.

%packages
@admin-tools
@base
@core
@system-tools
thirdparty-tools

# We would like to add some magic command to indicate a missing dependency
thirdparty-tools dependson coreutils

그래서 내 질문은: 종속성을 추가하기 위해 RPM을 편집하지 않고도 패키지 순서를 제어하거나 재정의할 수 있습니까?

[이 Unix StackExchange 사이트가 존재한다는 사실을 깨닫기 전에 저는 기본 StackOverflow 사이트에 동일한 질문을 했지만 이 내용을 두 번 보신 분들께 아직 답변을 받지 못했습니다. ]

답변1

%packages 섹션에서는 아니요, 불가능합니다. kickstart 파일에서 타사 도구의 %post 섹션에 설치 명령을 추가하여 %packages 섹션의 모든 패키지와 종속성이 설치된 후에만 해당 명령이 설치되도록 할 수 있습니다.

관련 정보