为什么我无法运行在 /opt/ 中手动安装的程序?

为什么我无法运行在 /opt/ 中手动安装的程序?

我正在尝试安装一款名为 Teeworlds 的游戏。我计划将它安装在 /opt 中,因为它是独立的,而且据我所知,这里是安装它的正确位置。但是,我遇到了麻烦。

我在终端中输入以下命令:

tar xvzf ~/teeworlds.tar.gz -C /opt

但由于我没有足够的权限,它给了我错误。所以我尝试使用 sudo 执行此操作,然后它成功了,但我没有足够的权限访问 teeworlds 文件夹,因为它现在归 root 所有。

我知道我可以做 chown 和所有那些事情,但让这样的事情工作起来真的有这么麻烦吗,或者我只是做错了什么?

答案1

是的,/opt由 root 拥有。您需要使该文件可由您执行。这并不麻烦。这是一个命令:

sudo chmod +x filename. 

但是,teeworlds 位于存储库中。您有什么理由要手动安装它吗?您应该尽可能始终从存储库安装软件。这样更容易、更快捷、更可靠、更安全。

sudo apt-get install teeworlds

或点击此处:teeworlds 安装 teeworlds

答案2

你所做的是正确的,root 拥有的所有东西都不能被其他用户访问,你必须始终更改文件的所有者,或者授予其他用户读取和写入文件夹的权限,opt 文件夹归 root 所有,因此你不能在没有权限的情况下为其创建新文件夹...

答案3

可运行文件应具有 root 所有者的 755 权限(参见 /usr/bin 中的 ls -l 输出)。任何用户都可以运行此命令,但只有 root 可以更改它们。

相关内容