2011-08-05 6 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

파일과 같은 디렉토리를 치료 스펙 파일에 권한과 소유권을 설정하려면 thusly 히 ... %의 %의 ATTR없이 모든 파일을 설정합니다 defattr (이 경우 RWW 소유자 아파치 그룹 아파치와 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의 최대 RPM 인용에 의해 응답되었습니다. –

관련 문제