
В makefile я использовал команду «install», как показано ниже
команда: 'install -o 1010 -g 100 -m 0755 -D path'
вместо проверки имени пользователя и имени группы я бы хотел проверить uid и gid.
Рассмотрим следующий сценарий.
Шаг 1:
Система 1: Пользователь, соответствующий UID 1010 — «XXXX». Используя «Систему 1», создайте установщик RPM.
Шаг 2:
Система 2: Пользователь, соответствующий UID 1010, — «YYYY». При установке файла RPM мы получаем предупреждающее сообщение «предупреждение: пользователь XXXX не существует — используется root».
На этом этапе я предполагаю, что UID вошедшего в систему пользователя должен быть равен «1010» для успешной установки установщика RPM. Но на самом деле установщик RPM ожидает, что имя пользователя будет таким же в системе установки
решение1
Ну, на разных машинах uid/oid/gid могут иметь разные значения, если только вы не используете что-то вроде LDAP. Даже тогда пользователи, которые определены в вашей системе, будут иметь свои собственные id-ы. Нет никакой гарантии, что пользователь будет существовать на другой машине.
Возможно, вам следует подробнее объяснить ваш вариант использования?
решение2
Используйте %files
раздел вашего RPM- .spec
файла, чтобы задать владельца, ожидаемого в установленной системе (Система 2 в вашем вопросе).
Вы также можете использовать %pre
раздел вашего RPM- .spec
файла, чтобы определить, существуют ли ожидаемые пользователи и группы в установленной системе (Система 2 в вашем вопросе).
%files
# Set file permissions and ownership
%pre
# Check if expected user 'myuser' exists. If not, exit with an error.
# Check if expected group 'mygroup' exists. If not, exit with an error
Дальнейшее чтение наrpm.org.