创建 RPM 时,RPM 规范文件有一个指令%defattr
. 我知道它定义了该 RPM 安装的文件的默认属性。如果我写%defattr
如下,这是什么意思?
%defattr(-testuser, testuser)
创建 RPM 时,RPM 规范文件有一个指令%defattr
. 我知道它定义了该 RPM 安装的文件的默认属性。如果我写%defattr
如下,这是什么意思?
%defattr(-testuser, testuser)
您指定的模式无效。%defattr 接受四个参数
%defattr 指令
%defattr 指令允许为文件和指令设置默认属性。%defattr 具有与 %attr 指令类似的格式:
文件的默认权限或“模式”。
默认用户标识。
默认组 ID。
目录的默认权限或“模式”。
%attr 指令具有以下格式:
%defattr(文件模式、用户、组、目录模式)
与 %attr 一样,如果不需要指定特定属性(通常是因为文件安装时该属性设置正确),则该属性可以用破折号替换。此外,可以省略目录模式。%defattr 往往用在 %files 的顶部。
要在规范文件中设置权限和所有权,因此将目录视为文件... %defattr 将设置所有没有 %attr 的文件(在这种情况下,rww owner apache group apache 并将目录设置为 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