RPMのインストール中にカスタムオプションを使用したいと思います。 RPMを作成するにはrpmbuildを使用するため、SPECファイルがあります。
SPECファイルで使用できる一意のオプションを定義できます(例:rpm -i --r_password=something acme-1.1-1.el7.noarch.rpm
値r_passwordファイルに保存されます - > %post
SPECファイルのセクションによって制御されます)?
答え1
あなたはできません。 %post でマクロを使用できます。ただし、ビルド時に評価され、ビルド時にのみオーバーライドできます。
%{!?foo:%global foo SOME_DEFAULT}
%post
echo %{foo}
最初の行は、foo
マクロが存在しない場合のいくつかのデフォルト値を定義します。
その後、次を実行できます。
rpmbuild -ba --define='foo bar' evil.spec
foo
ここでcontentを使用して独自のマクロを定義できますbar
。 RPMが設定されている場合、取引は完了し、RPMを変更することはできません。
しかし、次のようにすることができます。
%post
cat /etc/myconfig.cfg | ... #do something based on content of the file
そして、ユーザーに次のように言います。
echo foo > /etc/myconfig.cfg; rpm -i acme-1.1-1.el7.noarch.rpm