Instalando um pacote .rpm em uma VM Unix - root não é possível ver o arquivo

0

Estou trabalhando em um aplicativo AngularJS e quero que o Protractor funcione com ele para usar para testar a interação com o usuário final automaticamente.

A maneira como meu ambiente de desenvolvimento está configurado é que estou desenvolvendo o front-end em minha área de trabalho local do Windows e executando o grunhido em uma VM do CentOS 7 para atender ao front-end do aplicativo.

Eu usei sistemas Unix um pouco no passado, mas predominantemente apenas para alguns módulos que fiz na universidade há alguns anos, então não tenha muita experiência com eles.

Quando entrei nesta empresa, comecei a trabalhar com as práticas que eles já tinham em prática. Dia-a-dia, meu uso da VM Unix é simplesmente:

  1. Iniciar
  2. Abra alguns terminais
  3. Torne-se root ( su - )
  4. Executar python ( python3.4 -m myApp start )
  5. Executar grunt serve do local apropriado para veicular o front end

Estou seguindo o tutorial em: link para tentar usar o Protractor para usá-lo como uma estrutura de teste dentro do meu ambiente de desenvolvimento, e fiz os primeiros passos da configuração sem problemas:

npm install -g protractor

webdriver-manager update

Quando eu tento executar o próximo comando: webdriver-manager start , recebo um erro que diz:

'java' is not recognized as an internal or external command, operable program or batch file.

[11:24:04] I/start - Selenium Standalone has exited with code 1

Suponho que isso significa que o Java não está instalado na VM e precisará estar em ordem para executar o comando webdriver-manager start ?

Eu baixei o JRE para o linux x64 (arquivo .rpm) do Oracle e o copiei para a área de trabalho da minha VM. Agora estou seguindo as instruções em instalação Linux Java para instalar o Java na VM, mas estou tendo um pouco de dificuldade em fazê-lo ...

Eu segui os passos:

  1. Torne-se root
  2. Altere para o diretório no qual você deseja instalar
  3. Instale o pacote: 'rpm -ivh jre-8u144-linux-x64.rpm

mas quando executo este último comando, para instalar o pacote, o console mostra um erro que diz:

open of jre-8u144-linux-x64.rpm failed: No such file or directory

Se eu executar ls do terminal em que estou logado como root , não consigo ver nenhum dos arquivos na área de trabalho (que é minha localização atual), mas se eu executar ls de outro terminal onde eu não estou logado como root , eu posso ver todos os arquivos na área de trabalho, incluindo o arquivo jre-8u144-linux-x64.rpm que estou tentando instalar ...

Então, por que o usuário root não pode ver o arquivo .rpm que eu quero instalar, mesmo que o usuário 'normal' possa ...? Eu tentei instalar o JRE do usuário 'normal' executando o comando nesse terminal, mas obviamente recebi um erro dizendo que eu não tinha as permissões para fazer isso:

error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)

Como posso instalar o JRE de que preciso para usar essa estrutura de teste na minha VM?

    
por Noble-Surfer 20.09.2017 / 14:58

1 resposta

0

Como eu vi no primeiro parágrafo para se tornar root, você digita su - , que reinicializa seu ambiente quando você muda de usuário. Então, ao se tornar root, você muda sua variável PWD environnement e, portanto, altera o diretório atual em que você está e se torna / root.

Existem duas maneiras de resolver seu problema

  • Primeiro:
    use su em vez de su - , você estará no mesmo diretório que seu usuário comum. Então, depois de se tornar root, você poderá digitar rpm -ivh jre-8u144-linux-x64.rpm

  • Segundo:
    quando você está no diretório correto com seu usuário normal, você digita pwd e observa esse caminho em algum lugar. Deve ser algo como / home / user / something Em seguida, você digita su - e, em seguida, executa rpm -ivh /home/user/something/jre-8u144-linux-x64.rpm . Isso deve funcionar.

Ambos devem funcionar, eu recomendaria o segundo embora.

    
por 21.09.2017 / 15:59