저는 CentOS 6.5와 Cobbler 2.4(EPEL의)를 사용하고 있습니다. $basearch
해석되지 않고 (작동하는) 저장소 파일을 생성하기 위해 heredoc 주석을 사용하려고 합니다 . 파일이 생성되었지만 $basearch
교체되지는 않았습니다(예: 삭제됨).
내가 가진 것:
%post
#raw
cat > /etc/yum.repos.d/blah.repo <<REPO
[repo]
name=repo
baseurl=http://repo.local/repo/$basearch
enabled=1
priority=99
gpgcheck=0
REPO
#end raw
%end
실제로 넣은 것 /etc/yum.repos.d/blah.repo
( $basearch
누락):
[repo]
name=repo
baseurl=http://repo.local/repo/
enabled=1
priority=99
gpgcheck=0
내가 확인한 사항:
cobbler validateks
수정되지 않은 킥스타트 스크립트가 나 에게cobbler profile getks ...
보고되었기 때문에 Cobbler나 Cheetah가 아니라는 것을 알고 있습니다 (#raw
및#end raw
.- 이스케이프되지 않은 문자열을 올바르게 표시하는 템플릿 예제를 Cheetah에서 만들었습니다.
좀 더 조사해서 알아냈는데이것$basearch
, 첫 번째 항목부터 킥스타트의 특수 변수 처럼 보입니다 . 파일 가져오기를 사용하거나 스키마를 명시적으로 정의하지 않고 이 문제를 해결하는 방법에 대한 curl
제안 사항이 있습니까 ? 단순화를 위해 킥스타트 파일에 보관하고 싶습니다.
답변1
문제는 #raw
and 가 #end raw
bash에 의해 해석되기 때문에 이스케이프해야 한다는 것입니다.
%post
#raw
cat > /etc/yum.repos.d/blah.repo <<REPO
[repo]
name=repo
baseurl=http://repo.local/repo/\$basearch
enabled=1
priority=99
gpgcheck=0
REPO
#end raw
%end