Что означает %defattr в файлах спецификаций RPM?

При создании RPM файлы спецификаций RPM имеют директиву %defattr . Я знаю, что он определяет атрибуты по умолчанию для файлов, установленных этим RPM. Если я напишу %defattr, как показано ниже, что это значит?

%defattr(-testuser, testuser)

person Mariselvam    schedule 05.08.2011    source источник


Ответы (2)


Указанный вами режим недействителен. %defattr принимает четыре аргумента

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

Директива %defattr

Директива %defattr позволяет устанавливать атрибуты по умолчанию для файлов и директив. Формат %defattr аналогичен директиве %attr:

  1. Разрешения по умолчанию или «режим» для файлов.

  2. Идентификатор пользователя по умолчанию.

  3. Идентификатор группы по умолчанию.

  4. Разрешения по умолчанию или «режим» для каталогов.

Директива %attr имеет следующий формат:

%defattr(файловый режим, пользователь, группа, режим каталога)

Как и в случае с %attr, если конкретный атрибут не нужно указывать (обычно потому, что файл установлен с правильно установленным атрибутом), этот атрибут можно заменить дефисом. Кроме того, режим каталога может быть опущен. %defattr обычно используется в начале %files.

person brightlancer    schedule 16.08.2011
comment
Хорошее объяснение. Допустимый пример, который я часто вижу в файлах спецификаций, — это %defattr(-,root,root). - person Antônio Medeiros; 13.01.2020

Чтобы установить разрешения и права собственности в файле спецификации, обращайтесь с каталогом как с файлом следующим образом... %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
person Chad Prey    schedule 05.06.2013
comment
Это не отвечает на вопрос. Вопрос заключался в том, что означает - в первом поле, на что отвечает цитата Brightlancer о максимальном числе оборотов в минуту. - person Aaron D. Marasco; 06.06.2013