2011-08-05 17 views
16

RPMを作成する際、RPM仕様ファイルには%defattrという指令があります。私はそれがそのRPMによってインストールされているファイルのデフォルトの属性を定義していることを知っています。私が%defattrを以下のように書くと、それはどういう意味ですか?RPM仕様ファイルで%defattrとは何を意味していますか?

%defattr(-testuser, testuser) 

答えて

21

指定したモードは無効です。 %のdefattrはhttp://ftp.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html#S3-RPM-INSIDE-FLIST-DEFATTR-DIRECTIVE

%のdefattr指令

%のdefattrディレクティブは、ファイルとディレクティブのデフォルト属性を設定することができますから、四つの引数

をとります。 %defattrは、%attr指令と同様の形式です。

  1. デフォルトのパーミッション、またはファイルの「モード」です。

  2. デフォルトのユーザーIDです。

  3. デフォルトのグループIDです。

  4. デフォルトのアクセス許可、またはディレクトリの「モード」。

% attrのディレクティブの形式は次のとおりです。

%のdefattr(ファイルモード、ユーザー、グループ、DIRモード)特定の属性が に必要としない場合は%attrのと同じように

(通常、ファイルがその 属性が適切に設定されてインストールされているため)、その属性を ダッシュに置き換えることができます。さらに、ディレクトリモードは省略することができる。 %defattrは%ファイルの先頭で になる傾向があります。

4

は、ファイルのようなディレクトリを扱うspecファイルにアクセス権と所有権を設定するにはthusly ... %の%attrのなしですべてのファイルを設定しますdefattr(この場合はRWW所有者apacheのグループapacheの中で755に設定されたディレクトリ) 。

%files 
#%attr(<mode>, <user>, <group>) file 
%defattr(644,apache,apache,755) 
%attr(-,apache,apache) /var/www/coolapp 
%attr(-,apache,apache) /var/www/coolapp/js 
%attr(-,apache,apache) /var/www/coolapp/static 
/var/www/coolapp/index.html 
/var/www/coolapp/__init__.py 
/var/www/coolapp/settings.py 
/var/www/coolapp/urls.py 
/var/www/coolapp/wsgi.py 
+1

これは質問に答えません。問題は、最初のフィールドで '-'が何を意味しているのかを尋ねることでした。これは、brightlancerのMaximum RPMの引用によって答えられます。 –

関連する問題