%post에 백틱 또는 명령 대체가 포함된 경우 빈 로그 파일

%post에 백틱 또는 명령 대체가 포함된 경우 빈 로그 파일

Centos6.6용 맞춤형 USB 설치 프로그램을 구축하면서(쉽지 않음) 다음을 발견했습니다.만약에킥스타트 파일의 %post 섹션에 백틱이 있습니다.

  • Anaconda는 완료되지만 즉시 빈 화면(비디오 출력 없음)으로 종료됩니다. 일반적으로 Anaconda가 종료되었다는 메시지와 함께 종료됩니다.
  • anaconda-ks.log와 %post 로그 파일이 모두 존재하지만 길이가 0입니다.

이것은 작동합니다

%pre --log=/root/postLog.log
echo "This is the post"
ls
%end

작동하지 않습니다.

%pre --log=/root/postLog.log
echo "This is the post"
echo `ls`
%end

이것도 작동하지 않습니다

%pre --log=/root/postLog.log
echo "This is the post"
echo $(ls)
%end

왜? %post에 해야 할 일이 많지만 명령 대체/백틱 지원이 없으면 작업이 더 어려워질 것입니다.

해결 방법이 있나요?

편집: 왜 백틱이 필요한가요?

설치 프로그램은 어플라이언스 제품용이므로 기본 OS, 사용자 정의 OS rpm 및 제품 rpm을 설치해야 합니다.

따라서 %post 섹션에서는 다음 패턴과 같은 것이 매우 일반적입니다.

cd $ApplicationPackageDir
RPMLIST=`ls *.rpm`
RPMCOUNT=`ls *.rpm | /usr/bin/wc -l`

for theRpm in $RPMLIST
do
    echo /bin/rpm --quiet --upgrade --nodeps --force $theRpm
done

일반적으로 무언가를 수행하는 것과 비슷한 패턴무엇이든파일이 특정 디렉터리에 존재합니다.

아나콘다가 파일에 백틱이 있는 경우 전체 개념이 작동하지 않습니다.

게다가, backtick은 유효한 bash 연산자입니다. 킥스타트에서는 문제가 있는 것 같습니다.

bash 백틱인가요?추정된킥스타트에서 일하려고?

편집 II:예시에 $(ls)를 추가했습니다.

관련 정보