私は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