Me dieron una especificación RPM parcialmente completa para un servicio que estamos escribiendo. Llega tan lejos como hacer los directorios requeridos, copiar archivos, configurar permisos, etc., pero no establece la cuenta del sistema requerida bajo la cual se ejecutará el servicio. Me dijeron que es mejor que el RPM se encargue de esto, así que agregué
Requires(pre): /usr/sbin/useradd
%pre
useradd -r -d /path/to/program -s /bin/false myservice
Esto tiene éxito en crear la cuenta de usuario (y el grupo asociado), por lo que más adelante, cuando intenta establecer la propiedad / permisos en los archivos del servicio, también tiene éxito.
Mi problema actual es, a) si la cuenta de usuario ya existe, la instalación de RPM falla porque useradd
falla (porque el usuario ya existe); y b) No sé cómo rpm -e myservice
eliminar también el usuario y el grupo asociados.