2

次の「Pre」セクションをrpmインストーラーのbuild.specに追加しました。rpmをインストールしても、新しいグループやユーザーは作成されませんか?

これをスクリプトに貼り付けて実行すると、期待どおりに機能します。私は何が欠けていますか?

前もって感謝します、

-エド

RHEL 5.2

#######################
# pre
#######################
%pre

# This works when run as a script by root.  Why not from the RPM?
if grep ^frontier: /etc/group >> /dev/null ; then
 : # group already exists
else
 %{_sbindir}/groupadd frontier -g 2000
fi

if ! id diagnostics >& /dev/null; then 
 %{_sbindir}/adduser diagnostics -g diaguser -d /home/diagnostics -u 2001 -p secretPassword
 usermod -a -G frontier diagnostics
fi
4

1 に答える 1

1

使用する

%_sbindir/groupadd

それ以外の

%{_sbindir}

mcのようなものでビルドした後にRPMをチェックし、プレスクリプトを抽出すると、拡張が正しく機能することを確認できます。

実際、%_sbindirは必要ありません。RedHatがどのようにhttpd....rpmを構築したかを見ると、フルパスなしでgroupaddとuseraddを使用していることがわかります。

于 2010-07-25T04:14:34.700 に答える