允許在規格文件中多次使用%defattr
?在Ubuntu 10(rpm版本4.7.1)下,以下定義將導致適用於/var/log/testdir2的777權限。%轉速4.7.2和4.9.1之間的defattr行爲變化?
%files
%defattr(-,root,root,-)
%dir /var/log/testdir1
%defattr(777,root,root,-)
%dir /var/log/testdir2
%dir %attr(777,root,root) /var/log/testdir3
升級到Ubuntu 12.04.1(x86_64RPM版本4.9.1.1),再生用相同的規格文件rpm和部署到同一目標機器之後導致/無功/日誌/ testdir2具有權限755 。我必須更改spec文件以定義%attr
,如上面的/var/log/testdir3以獲得所需的權限。
規範文件有一個%defattr
定義,後跟一組具有這些權限的文件,然後是另一個%defattr
定義,後面是具有這些權限的一組文件。這是不允許的?或者,在權限方面如何處理目錄和文件有什麼區別?
感謝您的回覆。你是對的,設置第4個參數,目錄權限,正在做我想要的。我有不同的權限的目錄組(包含沒有文件)。每個組都以不同的%defattr設置作爲前綴。在最近的os升級(rpmbuild的新版本)後,我的rpm的行爲發生了變化,但似乎我可能沒有正確使用%defattr。謝謝。 – Glenn
真棒很高興看到你的工作! – Forrest