Não é possível instalar o Sybase ASE no IBM AIX como root

0

Eu tenho um problema estranho em que não consigo instalar um servidor Sybase DB como root em uma máquina virtual AIX. Estou logado como root e iniciando o instalador como tal:

bash-4.2# ./setup.bin -i console
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

./setup.bin: /tmp/install.dir.3277230/Linux/resource/jre/bin/java: 0403-006 Execute permission denied.

Como você pode ver, uma das primeiras coisas que o instalador faz é descompactar seu próprio JRE e tentar instalá-lo, durante o qual recebo um erro de permissão. Então, verifiquei as permissões do arquivo:

bash-4.2# ls -al /tmp/install.dir.3277230/Linux/resource/jre/bin/java
-rwxr-xr-x    1 28886    ipsec         15755 Jul 14 2013  /tmp/install.dir.3277230/Linux/resource/jre/bin/java

O que eu não entendo é que este UID não existe no meu arquivo / etc / passwd. Eu também tentei o seguinte:

bash-4.2# cd /tmp/install.dir.3277230/Linux/resource/jre/bin
bash-4.2# ./java
bash: ./java: cannot execute binary file
bash-4.2# sh java
sh: java: 0403-006 Execute permission denied.

É possível que os arquivos temporários criados pelo processo de instalação pertençam a algum tipo de usuário temporário? É por isso que este arquivo não será executado mesmo que eu lance o setup.bin como usuário root? Se sim, como posso garantir que a instalação continue?

    
por Lupuss 20.01.2015 / 15:35

1 resposta

1

Como todos têm permissões de execução, há apenas duas possibilidades para mim:

  1. Você não pode acessar o arquivo binário porque não tem permissão para ir tão longe na estrutura do arquivo (faltando x permission em algum lugar a caminho).
  2. Na verdade, o kernel não pode carregar esse arquivo executável porque ele não corresponde a determinados requisitos do sistema, como sua arquitetura.

No primeiro caso, uma boa solução pode ser usar su : alternar para a conta que deve executar o arquivo e tentar acessá-lo. Comece pela raiz e desça progressivamente até o seu arquivo. Eventualmente, cd será executado em um problema permissão negada . Claro, outra coisa pode ser que você simplesmente não tem permissão de execução no arquivo, mas esse não é o seu caso.

Agora, se isso não parece ser um problema de permissão, como no seu caso, você provavelmente está tentando executar algo que seu sistema simplesmente não pode manipular. Uma boa ideia pode ser usar file em seu executável para verificar se ele corresponde ou não à sua arquitetura. Por exemplo, no meu sistema ...

$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.24.

... o que é excelente, já que estou executando uma máquina de 64 bits (arquitetura x86-64), que suporta implementações do System V. Eu também estou usando um sistema GNU / Linux, que até se encaixa na última informação.

    
por 20.01.2015 / 17:01

Tags