在哪里为所有用户安装软件和可执行文件

默认情况下,某些应用程序会安装到/ usr / local / bin中,但如果我更改用户,该用户是否可以访问此应用程序? 我在这里读到(另一个问题)我应该使用/ opt? 但是默认情况下进入/ usr / local / bin的二进制文件? 没有/ opt / bin?

通常你不必手动安装任何东西。 在几乎所有情况下,您都会找到.deb包。 如果没有谷歌提出建议(比如如何在Ubuntu中安装Oracle JDK )。 如果这是您自己的软件,请查看Ubuntu包装指南,获取有关如何正确地将内容放入Ubuntu的帮助。

如果必须这样做,请将二进制文件放在/ opt / myapp中 ,并将可执行文件与ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary 。 如果您想了解更多有关主题的信息,请在终端中输入man hier 。 这里解释了/ usr / bin/ usr / local / bin之间的区别。 在任何情况下,两个路径都在$ PATH环境变量中。 这意味着你放在那里的任何二进制文件都将由任何人提供,只要给出二进制文件的名称(而不是完整路径)。 因此,使用上面的示例,您可以使用myappbinary运行程序,而不必提供完整路径/opt/myapp/myappbinary

/ usr是世界可读的,所以不,其他用户能够运行程序没有问题。 / usr / local是您自己从源代码编译的应用程序的位置。 通过包管理器安装的程序转到其他地方。 我从来没有看到/ opt的任何目的,并且相信它只是80年代旧AT&T Sys V的延续。

根据linux风格,手动安装的首选位置可能会有所不同。 如果您手动完成,请执行README建议的操作。

如果您创建新用户,并且您的旧用户无法执行任何操作来访问新程序,则新用户也不会。

但是,您可以自由创建/ opt / bin并将其包含在路径中 ,但为什么要这样做? 或者偶数/翻转/翻牌/时髦/垃圾箱 。 或者从某个地方链接到目录,该目录已经包含在PATH中