Droits de lecture / écriture dans le répertoire / opt

54

J'ai installé Android Studio dans mon répertoire / opt sans aucun problème et je l'utilise. Récemment, cependant, Android Studio m'a informé d'une mise à jour. Cependant, la mise à jour ne sera pas effectuée, car elle indique qu'elle ne dispose pas des autorisations de lecture / écriture dans le répertoire opt où elle est installée.

Quelqu'un peut-il recommander le meilleur remède à cette situation? Je préférerais ne pas déplacer mon installation dans un autre répertoire. Je ne sais pas non plus que je souhaite modifier les autorisations sur le répertoire, bien que je puisse être tenté de le faire pour la mise à jour, puis le restaurer.

Message d'erreur:

Studio does not have write access to /opt/android-studio. Please run it by a privileged user to update
Wayneeusa
la source
Comment essayez-vous de mettre à jour? Comment as-tu installé? PPA? Pouvez-vous exécuter Android Studio en tant que root? c'est à dire sudo /opt/android-studioet ensuite mettre à jour?
Mark Kirby
1
Je suppose que vous l'avez copié dans le répertoire / opt /. Je ne recommanderai pas de le garder là-bas, afin que vous n'ayez pas à vous soucier des problèmes d'autorisation. Il est préférable d'utiliser umake pour configurer votre environnement de développement Android .
Gayan Weerakutti
@markkirby Je l'ai copié là-bas et utilisé le script d'installation studio.sh. Je le ferais avec sudo, mais studio.sh redémarre l'installation. Surpris que je ne vois pas de fichier à exécuter pour lancer le programme. Je devrais peut-être gedit le script d'installation pour voir où se trouve l'exécutable.
wayneeusa
Je recommande d'attribuer à l'une des réponses le statut de réponse correcte. sinon, cela pourrait être trompeur pour les utilisateurs qui viendront plus tard par ce message. Si une réponse correcte n'a pas été attribuée un an après, cela signifie qu'aucune de ces réponses n'est correcte. Quand, en fait, les deux s’attaquent efficacement au problème à résoudre. ENVOYÉ votre question, BTW:)
tony gil

Réponses:

99

J'ai changé le propriétaire du répertoire studio android de rootmon usercompte et cela a fonctionné. Voici la commande, où $USERva changer par lui-même à votre utilisateur actif actuel:

sudo chown -R $USER:$USER /opt/android-studio
Latif
la source
2
fonctionne vraiment pour moi .. Ma recherche de 10 jours se termine ici
Ranjith Kumar
8
Cela fonctionnera, mais existe-t-il des inconvénients à ce que tous les fichiers et répertoires d'un sous-répertoire aléatoire de / opt appartiennent à un utilisateur aléatoire? Si l'installation est dans / opt, cela peut signifier qu'elle est destinée à plusieurs utilisateurs. On peut donc s'attendre à ce que d'autres utilisateurs du système exécutent studio. Est-ce que cela pourrait être un problème?
Yannick
1
utilisé cette astuce pour configurer un éditeur php comme Geany dans le répertoire / opt / lampp / htdocs des installations xampp pour écrire et s'exécuter sur le serveur xampp. hth ..
Steer360
tu es l'homme !
Tahir Yasin
2
bon point @Yannick mais qui dans le monde compte plus d'un utilisateur sur leur configuration Ubuntu
Bron Davies
8

Vous pouvez déplacer le répertoire de /optchez vous à l’aide de la commande suivante:

sudo cp -r /opt/android-studio ~/

Ou pour donner des autorisations, vous devez utiliser chmod:

sudo chmod +w /opt/android-studio/some-file

ajouter des permissions à tous les répertoires récursifs:

sudo chmod +w -R /opt/android-studio/some-file

Jetez un oeil sur ma réponse https://askubuntu.com/a/638799/150504 qui explique un peu de chmod et comment utiliser

Maythux
la source
Dois-je spécifier le fichier exécutable spécifique qui aura cette autorisation pour le dossier? Je l'ai essayé avec studio.sh, mais je ne pense pas que ce soit le fichier en cours d'exécution lorsque je clique sur l'icône pour exécuter Android Studio.
wayneeusa
n'a pas fonctionné pour moi. Lors de la création du répertoire. essayésudo chmod +w -R /opt/android-sdk-linux
david
Nous devons d’abord exécuter studio.sh à partir du répertoire bin en utilisant sudo, puis seule l’autorisation d’écriture est reflétée.
dev_ry
6

J'ai défini le groupe de / opt / android-studio (et / opt / android-sdk ) sur les utilisateurs et ajouté une permission d'écriture au groupe.

Dans mon cas, les utilisateurs du groupe existaient déjà. Mais comme indice:

sudo addgroup utilisateurs

Je devais ajouter mon utilisateur au groupe d' utilisateurs :

sudo adduser $ utilisateurs USER

Puis définissez le groupe du répertoire:

sudo chown -R root: utilisateurs / opt / android-studio

Parce que les mises à jour doivent écrire des fichiers:

sudo chmod -R g + w / opt / android-studio

J'ai utilisé ces instructions une fois, j'espère ne pas avoir oublié quelque chose

edit: De cette façon, les fichiers ne doivent pas être trop largement accessibles, mais toujours utilisables par les utilisateurs sélectionnés

ArcticSnowSky
la source
1

J'ai eu un problème similaire avec Rubymine.

sudo chown -R $USER:$USER /opt/Rubymine

Cela a également fonctionné pour moi, mais il peut être dangereux de modifier les autorisations dans les dossiers système. Il est probablement préférable d’exécuter une fois l’installation en tant que root pour permettre la mise à jour. par exemple.

sudo updatedb && sudo locate rubymine.sh
sudo /path/to/rubymine.sh 
Bertrandwasright
la source
Moi aussi! Mais lorsque j'essaie votre solution, elle demande à nouveau des informations sur la licence. Je ne suis donc pas sûr de ce qu'il faut faire à ce moment-là. Je ne veux pas gâcher mes conditions de licence ...
mltsy
-1

J'avais la même erreur. L'exécution de la commande suivante du terminal a résolu le problème.

sudo chown -R $USER:$USER /opt/idea-IC-173.4548.28/

Vous n'avez pas besoin d'être dans le même répertoire pour exécuter la commande.

Tahir Han
la source
-2
sudo chmod -R 777 your_android_studio_location_path/

Par exemple (dans mon Ubuntu 16.04):

sudo chmod -R 777 /home/igor/Android/
Igor Osipov
la source
7
Définir les masques de permission de fichier sur 777 est presque toujours un mauvais conseil . -1
David Foerster le
C'est un mauvais conseil, mais pour l'instant cela a fonctionné, donc je suis upvote.
David
2
@david 777 signifie que tout le monde (y compris via Internet) peut accéder au fichier, le modifier et le supprimer. "Cela a fonctionné" n’est pas une bonne excuse pour ouvrir une vulnérabilité aussi critique de votre système.
Mostafa Ahangarha
@david Fracasser votre PC en morceaux, aller au magasin et en acheter un nouveau, puis installer la dernière version d'Android Studio sur celui-ci fonctionnerait aussi, mais c'est un mauvais conseil et ne devrait pas être voté. Le fait est qu'il y a souvent plusieurs façons de "résoudre" un problème, dont certaines sont "mauvaises" et d'autres "bonnes". Cette réponse est presque certainement la mauvaise façon.
Jon Bentley