2011-08-05 17 views
16

Trong khi tạo RPM, các tệp thông số RPM có chỉ thị %defattr. Tôi biết rằng nó xác định các thuộc tính mặc định cho các tập tin được cài đặt bởi RPM đó. Nếu tôi viết %defattr như sau, điều đó có nghĩa là gì?% defattr có nghĩa là gì trong các tệp đặc tả RPM?

%defattr(-testuser, testuser) 

Trả lời

21

Chế độ bạn chỉ định không hợp lệ. % Defattr có bốn đối số

Từ http://ftp.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html#S3-RPM-INSIDE-FLIST-DEFATTR-DIRECTIVE

Các% defattr Chỉ

Chỉ thị defattr% cho phép thiết lập các thuộc tính mặc định cho các tập tin, chỉ thị. % Defattr có định dạng tương tự với chỉ thị% attr:

  1. Quyền mặc định hoặc "chế độ" cho tệp.

  2. Id người dùng mặc định.

  3. Id nhóm mặc định.

  4. Quyền mặc định hoặc "chế độ" cho các thư mục.

Các% thị attr có định dạng sau:

% defattr (chế độ tập tin, người dùng, nhóm, chế độ dir)

Như với% attr nếu một thuộc tính cụ thể không cần phải được chỉ định (thường là vì tệp được cài đặt với thuộc tính được đặt đúng), thì thuộc tính đó có thể được thay thế bằng dấu gạch ngang . Ngoài ra chế độ thư mục có thể được ommited. % defattr có xu hướng là được sử dụng ở đầu% tệp.

4

Để thiết lập quyền và quyền sở hữu trong một file spec đối xử với các thư mục giống như một tập tin thusly ... % defattr sẽ đặt tất cả các tập tin mà không% attr (trong trường hợp chủ sở hữu RWW nhóm apache apache này và thiết lập thư mục để 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

Điều này không trả lời được câu hỏi. Câu hỏi đặt ra là hỏi '-' có nghĩa là gì trong trường đầu tiên, được trả lời bởi báo giá của RPM của Brightlancer. –

Các vấn đề liên quan