Permisos de lectura / escritura en el directorio / opt


54

Instalé Android Studio en mi directorio / opt sin problemas y lo he estado usando. Sin embargo, recientemente, Android Studio me informó de una actualización. Sin embargo, no realizará la actualización porque dice que no tiene permisos de lectura / escritura en el directorio opt donde está instalado.

¿Alguien puede recomendar el mejor remedio para esta situación? Preferiría no mover mi instalación a otro directorio. Tampoco sé si quiero cambiar los permisos en el directorio, aunque podría tener la tentación de hacerlo para la actualización y luego volver a recuperarla.

Mensaje de error:

Studio does not have write access to /opt/android-studio. Please run it by a privileged user to update

¿Cómo intentas actualizar? ¿Cómo lo instalaste? PPA? ¿Se puede ejecutar Android Studio como root? es decir sudo /opt/android-studioy luego actualizar?
Mark Kirby

1
Supongo que lo copiaste en el directorio / opt /. No recomendaré mantenerlo allí, para que no tenga que preocuparse por los problemas de permisos. Es mejor usar umake para configurar su entorno de desarrollo de Android .
Gayan Weerakutti

@markkirby Lo copié allí y utilicé el script de instalación studio.sh. Lo ejecutaría por sudo, pero studio.sh comienza la instalación nuevamente. Sorprendido de que no veo un archivo para ejecutar solo para iniciar el programa. Tal vez debería gedit el script de instalación para ver dónde está el ejecutable ..
wayneeusa 03 de

Recomiendo otorgar a una de las respuestas el estado de la respuesta correcta. de lo contrario, puede ser engañoso para los usuarios que vengan por esta publicación en el futuro: si no se ha otorgado una respuesta correcta 1 año después, significa que ninguna de las respuestas es correcta. Cuando, de hecho, ambos abordan eficientemente el problema en cuestión. ACEPTÉ su pregunta, por cierto:)
tony gil

Respuestas:


99

Cambié el propietario del directorio de Android Studio roota mi usercuenta y funcionó. Aquí está el comando, donde $USERcambiará por sí solo a su usuario activo actual:

sudo chown -R $USER:$USER /opt/android-studio

2
realmente funciona para mí .. Mi búsqueda de 10 días termina aquí
Ranjith Kumar

8
Esto funcionará, pero ¿hay desventajas en tener todos los archivos y directorios en algún subdirectorio aleatorio de / opt propiedad de un usuario aleatorio? Si la instalación está en / opt, esto puede significar que está destinada a múltiples usuarios, por lo que uno podría esperar que otros usuarios en el sistema ejecuten studio. ¿Podría ser esto un problema de alguna manera?
Yannick

1
usé este truco para configurar el editor php como Geany para el directorio / opt / lampp / htdocs de las instalaciones xampp para escribir y ejecutar en el servidor xampp. hth ..
Steer360

tu eres el hombre !
Tahir Yasin

2
buen punto @ Yannick pero quién en el mundo tiene más de un usuario en su configuración de Ubuntu 😂
Bron Davies

8

Puede mover el directorio desde /optsu casa usando comand:

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

O para dar permisos tienes que usar chmod:

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

para agregar permisos a todos los directorios recursivos:

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

Eche un vistazo a mi respuesta https://askubuntu.com/a/638799/150504 que explica un poco sobre chmod y cómo usar


¿Debo especificar el archivo ejecutable específico que tendrá este permiso para la carpeta? Lo probé con studio.sh, pero no creo que ese sea el archivo real que se está ejecutando cuando hago clic en el icono para ejecutar Android Studio.
wayneeusa

no funcionó para mí Al crear el directorio. probadosudo chmod +w -R /opt/android-sdk-linux
david

Primero tenemos que ejecutar studio.sh desde el directorio bin usando sudo, luego solo se refleja el permiso de escritura.
dev_ry

6

Configuré el grupo de / opt / android-studio (y / opt / android-sdk ) a los usuarios y agregué permiso de escritura al grupo.

En mi caso, los usuarios del grupo ya existían. Pero como pista:

usuarios de sudo addgroup

Tuve que agregar mi usuario al grupo de usuarios :

sudo adduser $ USER usuarios

Luego configure el grupo del directorio:

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

Debido a que las actualizaciones necesitan escribir archivos:

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

Utilicé estas instrucciones una vez, espero no haber olvidado algo.

editar: de esta manera, los archivos no serán demasiado accesibles, pero los usuarios seleccionados podrán usarlos


1

Tuve un problema similar con Rubymine.

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

También funcionó para mí, pero puede ser peligroso cambiar los permisos en las carpetas del sistema. Probablemente sea mejor simplemente ejecutar la instalación una vez como root para permitir la actualización. p.ej.

sudo updatedb && sudo locate rubymine.sh
sudo /path/to/rubymine.sh 

¡Yo también! Pero cuando pruebo su solución, me pide información de licencia nuevamente, así que no estoy seguro de qué hacer en ese momento ... ¿volver a ingresarla? No quiero estropear mis términos de licencia ...
mltsy

-1

Estaba recibiendo el mismo error. Ejecutar el siguiente comando desde la terminal resolvió el problema.

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

No necesita estar en el mismo directorio para ejecutar el comando.


-2
sudo chmod -R 777 your_android_studio_location_path/

Por ejemplo (en mi Ubuntu 16.04):

sudo chmod -R 777 /home/igor/Android/

77
Establecer máscaras de permisos de archivos en 777 es casi siempre un mal consejo . -1
David Foerster

Es un mal consejo, pero por ahora funcionó, así que voté.
David

2
@david 777 significa que cualquier persona (incluso cualquier persona a través de Internet) puede acceder, modificar y eliminar el archivo. "funcionó" no es una buena excusa para abrir una vulnerabilidad tan crítica en su sistema.
Mostafa Ahangarha

@david Romper tu PC en pedazos, ir a la tienda y comprar uno nuevo, luego instalar la última versión de Android Studio también "funcionaría", pero es un mal consejo y no se debe votar. El punto es que a menudo hay múltiples formas de "resolver" un problema, algunas de las cuales son "incorrectas" y otras son "correctas". Esta respuesta es casi seguramente el camino equivocado.
Jon Bentley
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.