2012-04-01 8 views
11

अगर मैं% फाइलों में इस लाइन है:% फ़ाइलों में निर्देशिका के लिए मालिक कैसे सेट करें?

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

फिर my.jar मालिक के रूप में MyUser होगा, लेकिन निर्देशिका/opt/MyApp/lib जड़ से मालिक हो जाएगा। मैं

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

लिखने के रूप में मैं सभी फाइलों/opt/MyApp/lib में/शामिल होने के लिए नहीं करना चाहते हैं नहीं करना चाहती।

मैं/opt/myapp/lib/निर्देशिका के लिए मालिक कैसे सेट कर सकता हूं?

धन्यवाद।

उत्तर

17

मैं एक RPM विशेषज्ञ नहीं हूँ .. लेकिन जहां तक ​​मुझे पता है, आप% dir निर्देश इस प्रकार इस्तेमाल कर सकते हैं:

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

या, और भी आसान:

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

% dir निर्देश आपको निर्देशिका जोड़ने की अनुमति देता है, लेकिन इसकी सामग्री नहीं।

+1

% डीआईआर का उद्देश्य लक्ष्य मशीन पर एक खाली डीआईआर (लॉग डीआईआर) बनाना है। –

+3

नहीं, यह सच नहीं है। (दस्तावेज़ीकरण देखें: http://www.rpm.org/max-rpm-snapshot/s1-rpm-specref-files-list-directives.html):% dir निर्देश का उपयोग RPM को केवल निर्देशिका में पैकेज करने के लिए करने के लिए किया जाता है , पैकेज के निर्माण के समय निर्देशिका में कौन सी फाइलें रह सकती हैं इस पर ध्यान दिए बिना। – Javaguru

+0

@ जावगुरु लिंक 404 – sebix

2

अन्य "सुपर-सहायक" लोगों के रूप में कहते हैं ...% dir कुछ और के लिए है। समाधान आपकी निर्देशिका के उपयोगकर्ता और समूह के मालिक को सेट करने के लिए% attr का उपयोग करना है ... क्योंकि मैंने% defattr का उपयोग करके अपनी निर्देशिकाओं को 755 पर सेट कर दिया है, मैं एक डैश का उपयोग करता हूं -% attr लाइन में कहने के लिए .. इसे छोड़ दो जिस तरह से यह है।

%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 
संबंधित मुद्दे