Obtendo permissão de arquivo de aviso com usuário root

3

O que esse aviso significa? Eu consegui-lo ao executar o seguinte comando usando root na instância amazon ec2 Ubuntu 14.04 LTS :

$ pip install https://github.com/troeger/opensubmit/archive/0.6.2.tar.gz
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
    
por Oludare Fajimolu 17.01.2017 / 14:37

2 respostas

3

Bem, sua pergunta parcialmente tem uma resposta na citação:

Você está usando sudo para obter permissões de root, mas a maneira como você está usando sudo não ajusta o valor de $HOME , então pip tenta instalar no diretório pip de o usuário que invocou sudo .

Isso pode causar problemas se o usuário real quiser remover ou alterar os módulos instalados, portanto, o aviso.

Para evitar o aviso e, a menos que você não precise, use pip sem root / sudo ou invoque sudo como sudo -H , que definirá $HOME para o usuário que você está alterando, neste caso /root .

    
por FatalMerlin 17.01.2017 / 14:49
0

Esta mensagem sugere o fato de você ter executado o pip anteriormente usando sudo para o comando então emitido.

Por exemplo

sudo pip install https://github.com/troeger/opensubmit/archive/0.6.2.tar.gz

Por padrão, o sudo não altera a variável de ambiente HOME e, portanto, sudo env | grep HOME está imprimindo HOME=/home/username . Adicionar -H ao comando sudo altera esse comportamento e imprime HOME=/root .

Para resolver seu problema, certifique-se de que todas as pastas neste caminho /home/ubuntu/.cache/pip/http (exceto / e / home) sejam de propriedade de ubuntu :

sudo -H chown -R ubuntu: /home/ubuntu/.cache
    
por Phillip -Zyan K Lee- Stockmann 17.01.2017 / 14:48