![如何正确使用“/opt”中的应用程序?](https://linux22.com/image/99063/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E4%BD%BF%E7%94%A8%E2%80%9C%2Fopt%E2%80%9D%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我正在使用 Ubuntu 14.04 LTS。我有时会将一些应用程序(例如xxx
)复制到/opt
文件夹中,以供其他用户帐户使用。然后启动它我使用:
sudo /opt/xxx_folder/xxx
(当然,链接到/usr/local/bin
或/usr/bin
等)来启动它;
问题:我将应用程序的结果/项目存储到我的本地文件夹(如/home/myuser/xxx_data
)。当然,该文件夹及其数据xxx_data
属于root
(而不是myuser
)。因此,每次我想使用另一个应用程序(而不是root
.
问题:有没有办法安装应用程序xxx
,/opt
这样我就不需要以 root 身份启动它们?
或者也许您会看到另一种方法来解决这个“root 用户问题”?
答案1
即使您只是将其复制到/opt
,只需chmod 755
在目录和可执行文件上即可允许每个人运行它。至于输出,一个好的方法是让文件夹归特定组所有,并将应该能够修改该组的任何用户添加xxx_data
到该组,如下所示(以 root 身份运行):
groupadd xxx_data
chown root:xxx_data /path/to/folder
chmod 770 xxx_data /path/to/folder
usermod -aG xxx_data <username> #Repeat for each user
您还需要chmod 755
在主目录上运行,或者移动xxx_data
到其他地方。
您可能需要注销并重新登录才能更新权限。
答案2
通过 apt-get(或 aptitude)安装的程序几乎总是会正确地位于 /usr 中。但是从源代码编译并进行安装的程序通常会出现在 /usr/local/bin、/usr/local/lib 等位置,并且您可能会遇到问题,因为 Debian/Ubuntu 中的用户安装路径是 / usr 而不是 /usr/local。
从源代码编译时,请将此开关添加到配置中:./configure --prefix=/opt。这样,当您进行安装时,文件将最终位于正确的目录中