我应该将非 root 用户使用的二进制文件从 /usr/bin/ 移动到 /usr/local/bin/ 吗?

我应该将非 root 用户使用的二进制文件从 /usr/bin/ 移动到 /usr/local/bin/ 吗?

我已经经历过相关主题这里

我的一位同事已将phantomjs二进制文件复制到/usr/bin。在我们的系统中,此二进制文件仅供非 root 用户使用。目前,普通用户可以正常运行此二进制文件,但根据此问题中发布的主题,将非 root 用户使用的二进制文件放在 下似乎不是正确做法/usr/bin。那么,我是否有理由将其从 移到/usr/bin/usr/local/bin还是最好将其留在/usr/bin?换句话说,将二进制文件放在/usr/bin或下会有什么不同吗?/usr/local/bin或者这是通常遵循的“规则”?

[root@seco01 ~]# which phantomjs /usr/bin/phantomjs [root@seco01 ~]#

PS:/usr/local/bin包含在内$PATH

答案1

文件系统层次结构标准说,每 /usr/local :本地层次结构, 那

/usr/local 层次结构供系统管理员在本地安装软件时使用。当系统软件更新时,它需要确保不被覆盖。它可用于可在一组主机之间共享但在 /usr 中找不到的程序和数据。

本地安装的软件必须放置在 /usr/local 而不是 /usr 中,除非安装它是为了替换或升级 /usr 中的软件。

作为一般经验法则,在现代 Linux 发行版中,由发行版包管理器管理的软件使用/usr/bin等,而/usr/local/bin由本地安装的软件使用不是由包管理器管理。这里的典型案例是通过安装的软件make, make install。静态独立二进制文件也属于这一类。

另一种可能是/opt/opt和之间的区别/usr/local并不明确,但/usr/local对于本地安装来说更习惯。以下是 FHS 的说法/opt/opt :附加应用程序软件包

答案2

如果它仅由本地用户使用,那么我认为将其保留在 /usr/bin 中是没有意义的。这也使得访问更加安全。

您发布的链接还表明它符合 FHS(文件系统层次结构标准)。

相关内容