
En makefile, utilicé el comando 'instalar' como se muestra a continuación
comando:'instalar -o 1010 -g 100 -m 0755 -D ruta'
en lugar de verificar el nombre de usuario y el nombre del grupo, me gustaría verificar uid y gid.
Considere el siguiente escenario.
Paso 1:
Sistema 1: El usuario correspondiente al UID 1010 es “XXXX”. Usando el “Sistema 1”, cree el instalador RPM.
Paso 2:
Sistema 2: El usuario correspondiente al UID 1010 es "AAAA". Al instalar el archivo RPM, recibimos un mensaje de advertencia que dice "advertencia: el usuario XXXX no existe - usando root"
En este paso, asumo que el UID del usuario que inició sesión debe ser igual a "1010" para que el instalador de RPM se instale correctamente. Pero lo que realmente sucede es que el instalador de RPM espera que el nombre de usuario sea el mismo en el sistema de instalación.
Respuesta1
Bueno, en diferentes máquinas, uid/oid/gid puede tener diferentes valores a menos que estés usando algo como LDAP. Incluso entonces, los usuarios que estén definidos en su sistema tendrán sus propios ID. No hay garantía de que el usuario exista en otra máquina.
¿Quizás debería explicar más su caso de uso?
Respuesta2
Utilice la %files
sección del archivo de su RPM .spec
para establecer la propiedad esperada en el sistema instalado (Sistema 2 en su pregunta).
También puede utilizar la %pre
sección del archivo de su RPM .spec
para determinar si los usuarios y grupos esperados realmente existen en el sistema instalado (Sistema 2 en su pregunta).
%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
Lectura adicional enrpm.org.