/ opt目录中的读/写权限


54

我将Android Studio安装在/ opt目录中而没有遇到任何麻烦,并且一直在使用它。不过,最近,Android Studio通知了我一个更新。但是,它不会执行更新,因为它说它在安装的opt目录中没有读/写权限。

谁能为这种情况推荐最好的治疗方法?我不希望将安装移动到另一个目录。我也不知道我想更改目录的权限,尽管我可能会为更新而尝试这样做,然后将其还原。

错误信息:

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

您如何尝试更新?您是如何安装的?PPA?您可以以root身份运行android studio吗?即sudo /opt/android-studio然后更新?
Mark Kirby 2015年

1
我想您已将其复制到/ opt /目录。我不建议将其保留在此处,因此您不必理会权限问题。最好使用umake设置您的Android开发环境
Gayan Weerakutti 2015年

@markkirby我将其复制到此处并使用了安装脚本studio.sh,该脚本将由sudo运行,但studio.sh再次开始安装。感到惊讶的是我没有看到要启动该程序才能运行的文件。也许我应该编辑安装脚本,以查看可执行文件的位置..
wayneeusa

我建议授予其中一个答案正确答案的状态。否则,这对于以后来此帖子的用户可能会产生误导-如果一年后仍未给出正确答案,则表示这两个答案都不正确。实际上,两者都有效地解决了眼前的问题。我支持您的问题,顺便说一句:)
tony gil

Answers:


99

我将android studio目录的所有者从root更改为我的user帐户,它可以正常工作。这是命令,该命令$USER将自动更改为您当前的活动用户:

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

2
我的确为我工作了..我的10天搜索在这里结束
Ranjith Kumar

8
这将起作用,但是将所有文件和目录归随机用户拥有的/ opt的某个随机子目录中是否有缺点?如果安装在/ opt中,则可能意味着它打算供多个用户使用,因此可能希望系统上的其他用户正在运行studio。可能这是一个问题吗?
Yannick

1
使用此技巧将诸如Geany的php编辑器配置为xampp安装的/ opt / lampp / htdocs目录,以在xampp服务器中编写和运行。hth ..
Steer360 '16

你是男人!
塔希尔·亚辛

2
@Yannick好点了,但在世界各地的Ubuntu设置上有多个用户user
Bron Davies

8

您可以/opt使用comand 将目录从目录移到家中:

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

或授予权限,您必须使用chmod

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

为所有目录递归添加权限:

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

看看我的答案https://askubuntu.com/a/638799/150504,它解释了有关chmod及其使用方法的一些知识


我是否需要指定将对该文件夹具有此权限的特定可执行文件?我使用studio.sh进行了尝试,但是当我单击图标以运行android studio时,我认为这不是正在运行的实际文件。
wayneeusa

没有为我工作。创建目录时。尝试过sudo chmod +w -R /opt/android-sdk-linux
大卫

首先,我们必须使用sudo从bin目录中运行studio.sh,然后仅反映写入权限。
dev_ry

6

我没有设置组的/ opt / Android的工作室(和/选择/ Android的SDK),以用户并添加写权限组。

在我的情况下,组用户已经存在。但作为提示:

sudo addgroup用户

我必须将用户添加到用户组:

sudo adduser $ USER用户

然后设置目录组:

sudo chown -R root:用户/ opt / android-studio

由于更新需要写入文件,因此:

须藤chmod -R g + w / opt / android-studio

我曾经使用过此说明,希望我不要忘记什么

编辑:这样,文件应不会太宽访问范围,但仍可供选定的用户使用


1

Rubymine也有类似的问题。

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

也为我工作,但更改系统文件夹中的权限可能很危险。仅作为根运行一次安装以允许更新可能更好。例如。

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

我也是!但是,当我尝试您的解决方案时,它会再次询问许可证信息,因此我不确定当时该怎么做...再放入?我不想弄乱我的许可条款……
mltsy

-1

我遇到了同样的错误。从终端运行以下命令解决了该问题。

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

您无需在同一目录中即可执行命令。


-2
sudo chmod -R 777 your_android_studio_location_path/

例如(在我的Ubuntu 16.04中):

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

7
将文件权限掩码设置为777几乎总是一个坏建议。-1
大卫·佛斯特

它的建议不好,但是现在它起作用了,所以我赞成。
大卫

2
@david 777意味着任何人(包括通过互联网的任何人)都可以访问,修改和删除文件。“有效”不是对您的系统打开如此严重漏洞的好借口。
Mostafa Ahangarha '17

@david将您的PC砸碎,去商店购买新的,然后在其上安装最新版本的Android Studio也将“起作用”,但这是个坏建议,不应该被推崇。关键是通常有多种方法来“解决”问题,其中一些是“错误”的方法,而另一些是“正确”的方法。这个答案几乎肯定是错误的方式。
乔恩·本特利
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.