ユーザー XXXX が存在しません - root を使用していますか?

ユーザー XXXX が存在しません - root を使用していますか?

makefileでは、以下のように「install」コマンドを使用しました。

コマンド:'install -o 1010 -g 100 -m 0755 -D パス'

ユーザー名とグループ名をチェックする代わりに、uid と gid をチェックしたいと思います。

次のシナリオを考えてみましょう。

ステップ1:

システム 1: UID 1010 に対応するユーザーは「XXXX」です。「システム 1」を使用して RPM インストーラーを作成します。

ステップ2:

システム 2: UID 1010 に対応するユーザーは「YYYY」です。RPM ファイルのインストール中に、「警告: ユーザー XXXX が存在しません - root を使用しています」という警告メッセージが表示されます。

このステップでは、RPMインストーラーが正常にインストールされるためには、ログインしたユーザーのUIDが「1010」に等しい必要があると想定しています。しかし、実際には、RPMインストーラーは、ユーザー名がインストールシステムと同じであると想定しています。

答え1

そうですね、LDAP のようなものを使用していない限り、異なるマシン間で uid/oid/gid は異なる値を持つことができます。その場合でも、システムで定義されているユーザーには独自の ID があります。ユーザーが別のマシンに存在するという保証はありません。

おそらく、ユースケースをさらに詳しく説明したほうがよいでしょうか?

答え2

%filesRPM ファイルのセクションを使用して.spec、インストールされたシステム (質問のシステム 2) で期待される所有権を設定します。

%preRPM.specファイルのセクションを使用して、インストールされたシステム (質問のシステム 2) に予期されるユーザーとグループが実際に存在するかどうかを確認することもできます。

%files
# Set file permissions and ownership

%pre
# Check if expected user 'myuser' exists. If not, exit with an error.
# Check if expected group 'mygroup' exists. If not, exit with an error

さらに詳しくrpm.org

関連情報