
No makefile, usei o comando 'install' conforme abaixo
comando: 'instalar -o 1010 -g 100 -m 0755 -D caminho'
em vez de verificar o nome do usuário e o nome do grupo, gostaria de verificar o uid e o gid.
Considere o seguinte cenário.
Passo 1:
Sistema 1: O usuário correspondente ao UID 1010 é “XXXX”. Usando “Sistema 1” crie o instalador RPM.
Passo 2:
Sistema 2: O usuário correspondente ao UID 1010 é “YYYY” Ao instalar o arquivo RPM, recebemos uma mensagem de aviso dizendo “aviso: o usuário XXXX não existe – usando root”
Nesta etapa, presumo que o UID do usuário conectado deve ser igual a “1010” para que o instalador RPM seja instalado com sucesso. Mas o que realmente acontece é que o instalador do RPM espera que o nome de usuário seja igual no sistema de instalação
Responder1
Bem, em máquinas diferentes, o uid/oid/gid pode ter valores diferentes, a menos que você esteja usando algo como LDAP. Mesmo assim, os usuários definidos em seu sistema terão seus próprios IDs. Não há garantia de que o usuário existirá em outra máquina.
Talvez você deva explicar melhor seu caso de uso?
Responder2
Use a %files
seção do seu arquivo RPM .spec
para definir a propriedade esperada no sistema instalado (Sistema 2 na sua pergunta).
Você também pode usar a %pre
seção do arquivo RPM .spec
para determinar se os usuários e grupos esperados realmente existem no sistema instalado (Sistema 2 na sua pergunta).
%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
Leitura adicional emrpm.org.