我有一个二进制文件,我想向所有用户提供。
为单个用户安装应用程序时,我之前会将应用程序放入/usr/local/{app_name}
并更新$PATH
my.bash_rc
或等效变量中的变量以包含二进制路径(例如/usr/local/{app_name}/bin
)。
我相信这对于本地用户来说很好,但是如果我想让所有用户都可以使用二进制文件,我应该在哪里存储应用程序?
我应该将应用程序放在下面/etc/{app-name}
并为二进制文件创建符号链接以/usr/bin
避免需要更新吗$PATH
?
我知道这/usr
是按用户安装的,所以这不适用于每个用户吗?
答案1
如果二进制文件是自给自足的,无论其位置如何,我可能会选择/usr/local/bin
大多数用户路径上已经存在的二进制文件。如果需要补充文件,可以将它们安装在您喜欢的任何位置,并且您可以将二进制文件的符号链接或二进制文件本身(如果它知道如何查找其补充文件)放入/usr/local/bin
(或/usr/bin
,或/bin
或 您喜欢的任何目录) 。
/usr
是不是通常“按用户”安装。
/etc
,你所思考的地方之一,通常不被理解为一个地方程式而是一个地方配置文件。
您可能想参考文件系统层次结构标准。
答案2
还有另一种我更喜欢的选择。
- 将应用程序安装到
/opt/applicationname
(请参阅文件系统层次结构标准条目供/opt
进一步阅读)。
然后您可以:
- 添加/创建:
/etc/profile.d/application.sh export PATH=$PATH:/opt/applicationname/bin
或者
/opt/applicationname/bin/application
创建从到 的符号链接/usr/local/bin/application
。