2012-04-01 36 views
11

Nếu tôi có dòng này trong các tập tin%:Cách đặt chủ sở hữu cho thư mục trong% tệp?

%attr(0555, myuser, myuser) /opt/myapp/lib/my.jar 

Sau đó my.jar sẽ có myuser là chủ sở hữu, nhưng thư mục/opt/myapp/lib sẽ chủ sở hữu bởi root. Tôi không muốn viết

%attr(0555, myuser, myuser) /opt/myapp/lib/ 

vì tôi không muốn tất cả các tệp trong/opt/myapp/lib/được đưa vào.

Làm thế nào tôi có thể thiết lập chủ sở hữu/opt/myapp/lib/thư mục?

Cảm ơn.

Trả lời

17

Tôi không phải là một chuyên gia RPM .. nhưng như xa như tôi biết, bạn có thể sử dụng các chỉ thị% dir như sau:

%files 
%dir %attr(0555, myuser, myuser) /opt/myapp/lib 
%attr(0555, myuser, myuser) /opt/myapp/lib/my.jar 

hoặc, thậm chí đơn giản hơn:

%files 
%defattr(555,myuser,myuser,555) 
%dir /opt/myapp/lib 
/opt/myapp/lib/my.jar 

Các Chỉ thị% dir cho phép bạn thêm thư mục, chứ không phải nội dung của nó.

+1

Mục đích của% dir là tạo một thư mục rỗng (như dir nhật ký) trên máy đích. –

+3

Không, điều này không đúng. (Xem tài liệu: http://www.rpm.org/max-rpm-snapshot/s1-rpm-specref-files-list-directives.html): Chỉ thị% dir được sử dụng để RPM trực tiếp đến gói chỉ thư mục riêng của mình , bất kể tệp nào có thể nằm trong thư mục tại thời điểm gói được tạo. – Javaguru

+0

@Javaguru Các liên kết cung cấp cho 404 – sebix

2

là khác người "siêu hữu ích" nói ...% dir là cho cái gì khác. Các giải pháp là sử dụng% attr để thiết lập người dùng và nhóm chủ sở hữu của thư mục của bạn ... kể từ khi tôi đã thiết danh bạ của tôi để sử dụng 755% defattr tôi sử dụng một dấu gạch ngang duy nhất - trong dòng% attr để say..leave này nó là như vậy.

%files 
#%attr(<mode>, <user>, <group>) file 
#%defattr(file perms, user, group, dir perms) 
%defattr(644,apache,apache,755) 
%attr(-,apache,apache) /var/www/coolapp 
%attr(-,apache,apache) /var/www/coolapp/users 
%attr(-,apache,apache) /var/www/coolapp/static 
/var/www/coolapp/myDB.sqlite 
/var/www/coolapp/__init__.py 
/var/www/coolapp/settings.py 
/var/www/coolapp/urls.py 
/var/www/coolapp/wsgi.py 
Các vấn đề liên quan