Permissões de leitura / gravação no diretório / opt

54

Instalei o Android Studio no meu diretório / opt sem problemas e o uso. Recentemente, porém, o Android Studio me informou de uma atualização. Porém, ele não executará a atualização, porque diz que não possui permissões de Leitura / Gravação no diretório opt em que está instalado.

Alguém pode recomendar o melhor remédio para esta situação? Eu preferiria não mover minha instalação para outro diretório. Também não sei se quero alterar as permissões no diretório, embora possa ser tentado a fazê-lo para a atualização e depois revertê-lo.

Mensagem de erro:

Studio does not have write access to /opt/android-studio. Please run it by a privileged user to update
wayneeusa
fonte
Como você está tentando atualizar? Como você instalou? PPA? Você pode executar o android studio como root? ou seja, sudo /opt/android-studioe depois atualizar?
Mark Kirby
11
Eu acho que você copiou para o diretório / opt /. Não recomendo mantê-lo lá, para que você não precise se preocupar com os problemas de permissão. É melhor usar o umake para configurar seu ambiente de desenvolvimento Android .
Gayan Weerakutti
@markkirby Copiei lá e usei o script de instalação studio.sh que eu executaria pelo sudo, mas o studio.sh inicia a instalação novamente. Surpreso que não vejo um arquivo para executar apenas para iniciar o programa. Talvez eu devesse GEdit o script de instalação para ver onde o executável é ..
wayneeusa
eu recomendo atribuir a uma das respostas o status de resposta correta. caso contrário, pode ser enganoso para os usuários que aparecerem neste post no futuro - se uma resposta correta não tiver sido concedida um ano depois, isso significa que nenhuma das respostas está correta. Quando, de fato, ambos tratam com eficiência o problema em questão. Eu UPVITED sua pergunta, BTW :))
tony gil

Respostas:

99

Mudei o proprietário do diretório do Android Studio de rootpara a minha userconta e funcionou. Aqui está o comando, onde $USERserá alterado automaticamente para seu usuário ativo atual:

sudo chown -R $USER:$USER /opt/android-studio
Latif
fonte
2
realmente funciona para mim .. Meus 10 dias pesquisar final aqui
Ranjith Kumar
8
Isso funcionará, mas existem desvantagens em ter todos os arquivos e diretórios em algum subdiretório aleatório de / opt pertencer a um usuário aleatório? Se a instalação estiver em / opt, isso pode significar que ela se destina a vários usuários, portanto, pode-se esperar que outros usuários no sistema estejam executando o studio. Isso pode ser um problema de alguma forma?
Yannick
11
usei esse truque para configurar o editor php, como o Geany, no diretório / opt / lampp / htdocs das instalações do xampp para escrever e executar no servidor xampp. hth ..
Steer360
você é o cara !
Tahir Yasin
2
bom ponto @Yannick, mas que no mundo tem mais de um usuário em sua configuração do Ubuntu 😂
Bron Davies
8

Você pode mover o diretório de /optpara sua casa usando o comando:

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

Ou, para dar permissões, você precisa usar chmod:

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

para adicionar permissões a todos os diretórios recursivos:

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

Dê uma olhada na minha resposta https://askubuntu.com/a/638799/150504 que explica um pouco sobre o chmod e como usar

Maythux
fonte
Preciso especificar o arquivo executável específico que terá essa permissão para a pasta? Eu tentei com o studio.sh, mas não acho que esse seja o arquivo que está sendo executado quando clico no ícone para executar o android studio.
wayneeusa
não funcionou para mim. Ao criar o diretório. tenteisudo chmod +w -R /opt/android-sdk-linux
david
Primeiro, precisamos executar o studio.sh no diretório bin usando o sudo, somente a permissão de gravação é refletida.
Dev1ry #
6

Eu configurei o grupo de / opt / android-studio (e / opt / android-sdk ) para os usuários e adicionei permissão de gravação ao grupo.

No meu caso, os usuários do grupo já existiam. Mas como dica:

usuários do sudo addgroup

Eu tive que adicionar meu usuário ao grupo de usuários :

usuários sudo adduser $ USER

Em seguida, defina o grupo do diretório:

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

Como as atualizações precisam gravar arquivos:

sudo chmod -R g + com / opt / android-estúdio

Eu usei essas instruções uma vez, espero não ter esquecido algo

edit: Dessa forma, os arquivos não devem estar muito acessíveis, mas ainda podem ser utilizados por usuários selecionados

ArcticSnowSky
fonte
1

Eu tive um problema semelhante com o Rubymine.

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

funcionou para mim também, mas pode ser perigoso alterar as permissões nas pastas do sistema. Provavelmente melhor apenas executar a instalação uma vez como root para permitir a atualização. por exemplo.

sudo updatedb && sudo locate rubymine.sh
sudo /path/to/rubymine.sh 
Bertrandwasright
fonte
Eu também! Mas quando tento sua solução, ela solicita informações de licença novamente, então não tenho certeza do que fazer nesse momento ... colocá-las novamente? Eu não quero estragar meus termos de licença ...
mltsy
-1

Eu estava recebendo o mesmo erro. A execução do seguinte comando do terminal resolveu o problema.

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

Você não precisa estar no mesmo diretório para executar o comando.

Tahir Han
fonte
-2
sudo chmod -R 777 your_android_studio_location_path/

Por exemplo (no meu Ubuntu 16.04):

sudo chmod -R 777 /home/igor/Android/
Igor Osipov
fonte
7
Definir máscaras de permissão de arquivo para 777 é quase sempre um mau conselho . -1
David Foerster
É um mau conselho, mas por enquanto funcionou, então eu votei.
David #
2
@david 777 significa que qualquer pessoa (incluindo qualquer pessoa através da Internet) pode acessar, modificar e excluir o arquivo. "funcionou" não é uma boa desculpa para abrir uma vulnerabilidade tão crítica ao seu sistema.
Mostafa Ahangarha
@david Quebrar seu PC em pedaços, ir à loja e comprar um novo e instalar a versão mais recente do Android Studio também "funcionaria", mas é um mau conselho e não deve ser votado. O ponto é que muitas vezes existem várias maneiras de "resolver" um problema, algumas das quais são a maneira "errada" e outras são a maneira "certa". Esta resposta é quase certamente o caminho errado.
Jon Bentley