web-dev-qa-db-fra.com

Obtenir l'autorisation du fichier d'avertissement avec l'utilisateur root

Que signifie cet avertissement? Je l'ai eu lors de l'exécution de la commande suivante en utilisant root à Amazon ec2 Ubuntu 14.04 LTS instance:

$ 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.
3
Oludare Fajimolu

Eh bien, votre question répond en partie à la citation:

Vous utilisez Sudo pour obtenir les autorisations root, mais la façon dont vous utilisez Sudo ne modifie pas la valeur de $HOME, aussi pip essaie de s’installer dans le Répertoire pip de l'utilisateur qui a appelé Sudo.

Cela pourrait entraîner des problèmes si l'utilisateur réel souhaite supprimer ou modifier les modules installés, d'où l'avertissement.

Pour éviter cet avertissement et, à moins que vous n'ayez pas à le faire, utilisez pip sans root/Sudo ou appelez Sudo en tant que Sudo -H qui définira $HOME sur l'utilisateur que vous modifiez. , dans ce cas /root.

3
FatalMerlin

Ce message indique que vous avez peut-être déjà exécuté pip auparavant avec Sudo pour la commande émise à ce moment-là.

Par exemple

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

Par défaut, Sudo ne modifie pas la variable d'environnement HOME et par conséquent, Sudo env | grep HOME imprime HOME=/home/username. L'ajout de -H à la commande Sudo modifie ce comportement et il affiche HOME=/root.

Pour résoudre votre problème, assurez-vous que tous les dossiers de ce chemin /home/ubuntu/.cache/pip/http (sauf/et/home) appartiennent à ubuntu:

Sudo -H chown -R ubuntu: /home/ubuntu/.cache